トップページへ
 これ以上簡単に書けないゲーム制作講座
 落下させる 前のページ   次のページ
アクションゲームらしく自機を落下させて見ます。前章でマップを作っていただいたかと思いますが、それらしく背景も変えてみます。赤色部分を追記してください。
extends SpriteChar;

/*キャラクタ歩行プログラム
左右のキーを押すとキャラクタが
足踏みしながら移動します。*/

$map.setBGColor(color(0,200,255)); //背景色の変更
p=$pat_chara+0;
anim=newAnimation();

while(1){
anim.pause();
if (getkey(39)>2) { //右のキーが押されたとき
anim.swing($pat_chara+0,$pat_chara+2,12);
//キャラクタのアニメーション
x=x+1; //右へ1ドット移動
f=1; //右を向く
}
if (getkey(37)>2) { //左のキーが押されたとき
anim.swing($pat_chara+0,$pat_chara+2,12);
//キャラクタのアニメーション
x=x-1; //左へ1ドット移動
f=-1; //左を向く
}
update();
}


背景が空色っぽく明るい色になりました。colorの3つの値を変えてやることでいろんな色に変更できます。詳しくはcolorを参照してください。

さて、自機を落下させて見ます。以下を追記してください。
extends SpriteChar;

/*キャラクタ歩行プログラム
左右のキーを押すとキャラクタが
足踏みしながら移動します。*/

$map.setBGColor(color(0,200,255)); //背景色の変更
p=$pat_chara+0;
anim=newAnimation();

while(1){
anim.pause();
if (getkey(39)>2) { //右のキーが押されたとき
anim.swing($pat_chara+0,$pat_chara+2,12);
//キャラクタのアニメーション
x=x+1; //右へ1ドット移動
f=1; //右を向く
}
if (getkey(37)>2) { //左のキーが押されたとき
anim.swing($pat_chara+0,$pat_chara+2,12);
//キャラクタのアニメーション
x=x-1; //左へ1ドット移動
f=-1; //左を向く
}
vy=vy+0.5; //落下速度を上げる
y=y+vy; //自機の位置に落下速度を加える

update();
}

vyというのは加速度を示しています。vy=vy+0.5とすることで、常に0.5ドット加速度がついていきます。y=y+vyというところで、自機のy座標に加速度を足され、位置が移動します。

動かしてみると、自機があっという間にブロックをすり抜けて落下してしまいました。

前のページ   次のページ




|  トップページ | このサイトについて | 利用規約 | ご意見・お問い合わせ |

TonyuアクションRPG - ゲームプログラミング解説 -