概要 | RPGの歩行グラフィック |
---|---|
投稿者 | Parafla Quality |
状態 | |
カテゴリー | ParaFla! |
投稿日 | 2009-12-11 (金) 22:31:22 |
バージョン | 1.37 |
キーボード操作で歩行アニメーションをしたキャラクターの移動をさせたいです。
スプライトの中に、正面、後向き、左向き、右向きの4つのラベルを作り、各ラベルには、歩行画像2枚、何もしない数フレーム、停止画像1枚、アクションの停止で構成しました。 そのスプライトに以下のASを書きました。
onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { _y -= 10; this.gotoAndPlay("正面"); } if (Key.isDown(Key.DOWN)) { _y += 10; this.gotoAndPlay("後向き"); } if (Key.isDown(Key.LEFT)) { _x -= 10; this.gotoAndPlay("左向き"); } if (Key.isDown(Key.RIGHT)) { _x += 10; this.gotoAndPlay("右向き"); } }
この場合だと、キーを一回ずつ押した時には、歩行グラフィックが正常に再生されます。 しかし、キーを押しっぱなしにすると最初の画像でとまったまま移動してしまいます。画像にチラつきもみられます。 キーを押しっぱなしにした状態でも、毎回歩行アニメが再生されるようにするにはどうしたらいいですか?
onClipEvent (load) { jump = 0; takasa = -15; //※詳細は下記 } - onClipEvent (enterFrame) { //━━━━━ジャンプさせるスクリプト↓━━━━━ if (Key.isDown(Key.UP)) { jump = 1; //空中でジャンプできないように着地するまでフラグを立てる this.gotoAndPlay("アップ"); } if(_y > 250 ){ _y = 250; jump = 0; //着地したらフラグを外す takasa = -15; } else if (jump == 1) { _y += takasa; //ここがジャンプの命令、フラグが外れるまで毎フレームここを通ることになる takasa ++; //※-15⇒-14⇒…⇒-3⇒-1⇒0⇒1⇒2⇒3…と重量のように減速加速する役割をする } }
-- 質問者? 2009-12-14 (月) 02:05:31
onClipEvent (load) { var aruita = ""; } - onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { aruita = 1; this.gotoAndPlay("移動判定"); } その中に移動判定というラベルを作って変数の値を変更 if(aruita == 1){ //Key.UP his.gotoAndPlay("アップ"); アップというラベルのスプライトに書いたAS&br; onClipEvent(load){ } - onClipEvent (enterFrame) { aruita = 5; this._y -= 5; aruita = ""; _parent.gotoAndStop(idou); }
何か修正やヒントを頂けると嬉しいです。 -- 質問者? 2009-12-15 (火) 22:54:50