アクションゲーム
投稿者 : DEKA(softbank219172248072.bbtec.net)
- 2006/11/12(Sun) 10:17
No.10533
|
|
|
|
|
はじめまして。ゲームを作り始めたばかりで行き詰まってしまったので質問します。
ジャンプ系のアクションゲームを作っているのですが、主人公を止めたときのグラフィックとジャンプ中のグラフィック、それから歩いているときのグラフィックを別にすることはできないのですか?
下の表で言うと
$pat_I2(+0) ジャンプ中グラフィックにしたい $pat_I2+1 停止中グラフィックにしたい $pat_I2+2〜$pat_I2+4 歩行グラフィックにしたい
ジャンプ中はグラフィックが動かないようにしたいんです。なんとかなりませんか?
extends SpriteChar; anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_eXg+0) { x+=3; f=0; anim.swing($pat_I2+2,$pat_I2+4,10); } if (getkey(37) && $map.getAt(x-16,y)!=$pat_eXg+0) { x-=3; f=1; anim.swing($pat_I2+2,$pat_I2+4,10); } y+=vy; if ($map.getAt(x,y+24)==$pat_eXg+0) { vy=0; if (getkey(32)) vy=-10; } else { vy+=0.5; } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); update(); }
(添付プログラムをしようとしたら失敗したので直接書かせて頂きます)
|
Re: アクションゲーム
投稿者 : マッキー(0x3d2cb935.rev.ncv.ne.jp)
- 2006/11/12(Sun) 11:55
No.10535
|
|
|
|
extends SpriteChar; anim=newAnimation(); while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_eXg+0) { x+=3; f=0; anim.swing($pat_I2+2,$pat_I2+4,10); } if (getkey(37) && $map.getAt(x-16,y)!=$pat_eXg+0) { x-=3; f=1; anim.swing($pat_I2+2,$pat_I2+4,10); } y+=vy; if ($map.getAt(x,y+24)==$pat_eXg+0){ vy=0; if(getkey(37)==0&&getkey(39)==0)p=$pat_I2+1; if (getkey(32)) vy=-10; } else {p=$pat_I2+0; vy+=0.5; } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); update(); }
こう書いてみてください。
|
Re: アクションゲーム
投稿者 : DEKA(softbank219172248072.bbtec.net)
- 2006/11/12(Sun) 12:22
No.10536
|
|
|
|
ありがとうございます! ちゃんと正しく動くようになりました。 ただ、ジャンプをしながら横に移動するとグラフィックがちょっとおかしくなってしまいます。そこを修正することはできませんか?
|
Re: アクションゲーム
投稿者 : ごま太郎(i58-93-238-210.s02.a002.ap.plala.or.jp)
- 2006/11/12(Sun) 12:24
No.10538
|
|
|
|
参考までに、アクションゲームの制作にはまぐねさんのttp://www.tonyu-arpg.com/がおすすめです。
|
Re: アクションゲーム
投稿者 : マッキー(0x3d2cb8e5.rev.ncv.ne.jp)
- 2006/11/12(Sun) 12:30
No.10540
|
|
|
|
extends SpriteChar; anim=newAnimation();zimen=1; while (1) { anim.pause(); if (getkey(39) && $map.getAt(x+16,y)!=$pat_eXg+0) { x+=3; f=0; if(zimen==1)anim.swing($pat_I2+2,$pat_I2+4,10); } if (getkey(37) && $map.getAt(x-16,y)!=$pat_eXg+0) { x-=3; f=1; if(zimen==1)anim.swing($pat_I2+2,$pat_I2+4,10); } y+=vy; if ($map.getAt(x,y+24)==$pat_eXg+0){ zimen=1; vy=0; if(getkey(37)==0&&getkey(39)==0)p=$pat_I2+1; if (getkey(32)) vy=-10; } else {p=$pat_I2+0;zimen=0; vy+=0.5; } $map.scrollTo(x-$screenWidth/2,y-$screenHeight/2); update(); }
失礼しました。こうだといいはずです。
|
Re: アクションゲーム
投稿者 : DEKA(softbank219172248072.bbtec.net)
- 2006/11/12(Sun) 13:15
No.10542
|
|
|
|
マッキーさんありがとうございました! 主人公は無事にきれいな動きができるようになりました。 ごま太郎さん紹介ありがとうございます。 アイテム機能を付けようと思っていたので、それも勉強になり助かりました。
|
|