ジャンプについて
投稿者 : herschel(catv-pr.koto-kcn.jp)
- 2002/09/08(Sun) 04:47
No.1628
|
|
|
|
|
こんばんは、また解らない所がありましたので、 質問させて頂きに参りました。どうぞ宜しくお願いいたします。
えっと、今回こちらのチュートリアルに記載されていたジャンプについてなのですが、 ジャンプ中のアニメーションを専用に作れないのでしょうか? チュートリアルの場合ですと、ジャンプしても左右移動しても、 スタンドもしくは左右移動時のアニメーションにしかならないのですが… 垂直ジャンプと左右のジャンプ、個別にジャンプアニメーションを付けたいなと思ったのですが どうすれば良いのか検討がつきませんでしたので質問させて頂きました。 お手数ですが、どうか御口授お願いいたします。 失礼いたしました。
|
Re: ジャンプについて
投稿者 : hoge-(203-165-20-190.home.ne.jp)
- 2002/09/08(Sun) 09:57
No.1629
|
|
|
|
ジャンプ中か否かは、vyが0でないか否かで判断できますので
それぞれのアニメーションの部分 anim.swing($pat_player+0,$pat_player+2,5);
を if (vy!=0) を使って分岐させ、ジャンプ中は別のパターンを使ってアニメーションさせるとよいでしょう
|
Re: ジャンプについて
投稿者 : herschel(catv-pr.koto-kcn.jp)
- 2002/09/10(Tue) 22:14
No.1640
|
|
|
|
有り難う御座います。 遅くなりましたが、試してみましたところジャンプ中のグラフィック変更が可能になりました。 しかし、垂直ジャンプと左右ジャンプ時の絵の区別はいかにして分ければ良いのかが ちょっとわかりません…。 また、ジャンプグラフィックなのですが、1回だけ回転するというアニメにしたいのです。 「12345」「55555」 という風に、回転のアニメーションは「1〜4」と用意しているのですが、 その後に55555と続けるにはどうすれば良いのでしょうか? 以前お教え頂いた、&pat_xxxに変数を代入する(?)やり方では 絵のモーション時間が自由に決められなかったのです… 連続質問となり大変申し訳御座いませんが、ご回答願えれば幸いです。 宜しくお願いいたします。
|
Re: ジャンプについて
投稿者 : ナオヤン(FKHba-37p122.ppp13.odn.ad.jp)
- 2002/09/10(Tue) 23:02
No.1641
|
|
|
|
anim.play(1,4,速さ); playは、一度だけ再生されます。 「速さ」はモーション時間を決めます数字を入れてください、小さいほど早くなります。
|
Re: ジャンプについて
投稿者 : herschel(catv-pr.koto-kcn.jp)
- 2002/09/11(Wed) 01:48
No.1643
|
|
|
|
ご回答有り難う御座います。 anim.play〜の様なソースで組んでいるのですが、何度も回転してしまいます…。 ソースを貼り付けさせて頂きました。どうでしょうか… anim.playの変わりにa.playとなっております。
//--------ジャンプ---------------------------------------------------------------------------------
if (getkey(39)){a.loop($pat_walk+0,$pat_walk+9,9); if($map.getAt(x+20,y)!=$pat_map2+5 && $map.getAt(x+20,y+30)!=$pat_map2+5 && $map.getAt(x+20,y-40)) { x+=5; f=0; a.loop($pat_walk+0,$pat_walk+9,9); } }
if (getkey(37)){a.loop($pat_walk+0,$pat_walk+9,9); if($map.getAt(x-20,y)!=$pat_map2+5 && $map.getAt(x-20,y+30)!=$pat_map2+5 && $map.getAt(x-20,y-40)!=$pat_map2+5) { x-=5; f=1; a.loop($pat_walk+0,$pat_walk+9,9); } }
y += vy; // vy: y 方向の速度。 yにvy を加える
if ($map.getAt(x,y+49)==$pat_map2+5 ) { // ブロックに当たっていたら vy = 0; // 落下速度を0にする JumpHantei = 0; if (getkey(88)==1) {vy=-18; //Xキーが押されたらジャンプ JumpHantei = 1;} }else{ // ブロックに当たっていなかったら vy+=1.5; // 落下速度を上げる }
if (vy != 0 && JumpHantei == 1) { //JumpHanteiで、ジャンプの時の落下とただの落下の時とでのアニメの区別 a.play($pat_walk+32,$pat_walk+39,9); }
$map.scrollTo(x-$screenWidth/2,y-$screenWidth/2); // スクロールする update();
|
Re: ジャンプについて
投稿者 : hoge-(203-165-20-190.home.ne.jp)
- 2002/09/11(Wed) 10:46
No.1644
|
|
|
|
ジャンプ中に他のa.playが実行されてしまうとジャンプのアニメーションはなくなってしまいます if (getkey(39)){a.loop($pat_walk+0,$pat_walk+9,9); ...
この部分を、JumpHantei が1のときはa.loop をさせないようにするとよいと思います
|
Re: ジャンプについて
投稿者 : herschel(catv-pr.koto-kcn.jp)
- 2002/09/14(Sat) 15:08
No.1651
|
|
|
|
ご回答有り難う御座います。 えっと、ジャンプ中にa.playが〜とのことですが、 このa.playをa1.playとかにしてしまえばジャンプのアニメーションは 継続されるということでしょうか?
|
Re: ジャンプについて
投稿者 : hoge-(192.168.1.5)
- 2002/09/14(Sat) 15:26
No.1652
|
|
|
|
「JumpHantei が1のときはa.loop をさせないようにする」は、if文で次のようにかけます
if (getkey(39)) { if (jumpHantei!=1) a.loop($pat_walk+0,$pat_walk+9,9);
|
Re: ジャンプについて
投稿者 : herschel(catv-pr.koto-kcn.jp)
- 2002/09/15(Sun) 20:07
No.1658
|
|
|
|
有り難う御座います。早速試させて頂きます。 ということは、a.loopが使われている所には全て これを採用した方が良いのでしょうか?
あと、また質問で大変申し訳ないのですが、 Tonyu Systemでは多重スクロールは可能でしょうか? それについて、可能でしたら ・スクリーン枚数の限界値 ・各スクリーン毎のスクロール速度調整は可能か の2点をお教え願いたいです。 どうか宜しくお願いいたします。
|
|