作ったオブジェクトを左右に走らせる
投稿者 : tt(160.190.250.210.hikari.fibernet.jp)
- 2010/11/14(Sun) 19:57
No.12782
|
|
|
|
|
初めまして。最近tonyuシステムを使っています。
これ以上簡単に書けないゲーム制作講座で作ったオブジェクトを左右に歩かせるプログラムまでは作れたのですが、キーを二回押して左右に走らせるプログラムが分らないので教えてください。
|
Re: 作ったオブジェクトを左右に走らせる
投稿者 : ロンド(fl1-118-108-98-154.iba.mesh.ad.jp)
- 2010/11/21(Sun) 10:54
No.12783
|
|
|
|
はじめまして。サンプルを作ってみました。
extends DxChar;
defX = 1; // 通常速度 dashX = 3; // ダッシュ時の速度 dashTimer = 16; // ダッシュ判定の長さ riTimer = 0; // 右移動用タイマー leTimer = 0; // 左移動用タイマー
while(1) { // 移動処理 if (getkey(39) > 0) x += vx; if (getkey(37) > 0) x -= vx; if (getkey(39) == 1) { // 右ダッシュ判定 if(riTimer > 0) { vx = dashX; // riTimerが0より大きければダッシュ } else { vx = defX; // riTimerが0なら通常移動 riTimer = dashTimer; // ダッシュ判定用タイマーを設定 } } if (getkey(37) == 1) { // 左ダッシュ判定 if(leTimer > 0) { vx = dashX; // leTimerが0より大きければダッシュ } else { vx = defX; // leTimerが0なら通常移動 leTimer = dashTimer; // ダッシュ判定用タイマーを設定 } } // タイマー減算 if(riTimer > 0 ) riTimer--; if(leTimer > 0 ) leTimer--; print(leTimer + "|" + riTimer); update(); }
ちょっと分かりにくいと思いますが、 方向キーを押した時点でタイマーが0より大きければダッシュするようにしてます。
プログラムを全部コピペすれば動作するので、print()で出力される値を見ながら動作を見てみてください。
|
Re: 作ったオブジェクトを左右に走らせる
投稿者 : tt(160.190.250.210.hikari.fibernet.jp)
- 2010/11/28(Sun) 21:04
No.12785
|
|
|
|
問題なく動きはしたんですが、今度は歩く時と走る時のアニメーションを入れても上手くアニメーションが出ません。どうやったら上手くアニメーションが出せるか教えてください。たびたび質問してしまいどうもすみません。
|
Re: 作ったオブジェクトを左右に走らせる
投稿者 : ロンド(fl1-118-108-98-154.iba.mesh.ad.jp)
- 2010/12/05(Sun) 15:09
No.12790
|
|
|
|
返信が遅れました。すみません。 すでに解決されてるかも知れませんが、静止・歩行・ダッシュを入れてみました。
以前のサンプルプログラムに以下の差分を追加してください。 ・ ・ ・ riTimer = 0; // 右移動用タイマー leTimer = 0; // 左移動用タイマー
//===== ↓追加する部分 ===== anime = newAnimation(); defAnime = 3; // アニメーション 最初のグラフィック endAnime = 7; // アニメーション 最後のグラフィック
while(1) { // 停止 if(getkey(39) == 0 && getkey(37) == 0) { p = defAnime; anime.pause(); // 歩行 } else if(vx == defX) { anime.loop(defAnime,endAnime,20); // ダッシュ } else { anime.loop(defAnime,endAnime,5); } //===== ↑ここまで =====
// 移動処理 if (getkey(39) > 0) x += vx; if (getkey(37) > 0) x -= vx; ・ ・ ・
defAnimeとendAnimeは $pat_hoge+0 などに書き換えてください。
|
Re: 作ったオブジェクトを左右に走らせる
投稿者 : tt(160.190.250.210.hikari.fibernet.jp)
- 2010/12/07(Tue) 19:23
No.12791
|
|
|
|
返信ありがとうございます。一応自己解決しました。わざわざプログラムを作ってくださりありがとうございました。
|
|