プチコンのプ その4 スプライトでシューティングを!
スプライトで遊ぼう
ダイレクトモードでも使えるんです、スプライト。
いよいよスプライトを使います。プログラムに入る前に、直接スプライトを表示してみましょう。SPSET命令で、0番のスプライトにパターン64(勇者)を割り当てます。 #p4petitcom http://t.co/zBSruvXN
2012-11-19 20:44:46SPOFS命令で画面端へ移動。最後の600は、指定した場所に10秒かけてゆっくり移動させる、移動補間。#p4petitcom http://t.co/C4eBrhlc
2012-11-19 21:03:40勇者くん登場
というわけで、プログラムにしてみました。十字キーで勇者を左右に動かします。IF文の書き方がちょっと違いますね。 #p4petitcom http://t.co/6nJAPC84
2012-11-19 21:24:11さらに上下方向の移動を追加。IF文は0でなければTHENの先へ、0なら次の行へ進むので、先に書いた二文もより短く書いてみました。このANDを使った書き方で、勇者はナナメにも動きます。 #p4petitcom http://t.co/ED4dGiL0
2012-11-19 21:37:15キーを入れた向きに応じて勇者を前後左右に向かせるにはSPCHRを使うけど、今回は見送り。1行めの64を76に変えると、勇者くん後ろ向きっぱなしになります。今回はこれで通すことにしましょう^^; #p4petitcom
2012-11-20 00:22:01ライバル?赤勇者くん
スプライト99番に勇者くん2号を設定。パレット2番なので赤勇者になる。こっちの方が主役ぽかったかな? #p4petitcom http://t.co/QLx7m2oc
2012-11-21 00:02:20赤勇者くん左右移動。SPCHKをチェックして、移動が終了していたら新しい座標をセットする。 #p4petitcom http://t.co/qmOo5DOW
2012-11-21 00:06:19火の玉発射
次は弾を撃てるようにして行きます。スプライトの1に火の玉を割り当て。 #p4petitcom http://t.co/QgueGmaP
2012-11-21 07:49:24スプライト1が移動してない時、何かボタンが押されたらスプライト1を勇者くんの場所から真上に移動。 #p4petitcom http://t.co/BXJJDAaQ
2012-11-21 07:51:30赤勇者くんが何かスプライトに当たったら、爆発音と一秒間のやられモーションを出して元に戻す。ちょっとした射的ゲームになりました。 #p4petitcom http://t.co/XnmKkDsU
2012-11-21 07:54:52ここまでの全リスト
勇者くんのX,YもSPREADで読めることに気がついた! というわけでRX,RYも全部X,Yに直してみた。ここで一度全リストを掲載。 #p4petitcom http://t.co/ORWCBeA1
2012-11-21 12:59:22連射!
今度は火の玉を連射しますよ。先に8つのスプライトを火の玉で初期化します。 #p4petitcom http://t.co/4PnzCenv
2012-11-21 21:32:30そしてボタン判定。動いていない火の玉があったら、勇者くんの位置から発射します。FORループを抜けるためにI=8として終了条件をムリヤリ決めるのがミソ。 #p4petitcom http://t.co/s6d1FKWA
2012-11-21 21:35:03さて、当たり判定の追加は…なんと必要ない! 赤勇者くんと何かがヒットしたらダメージ、というプログラムを既に書いていたのです! これはプチコンmkⅡならではの技! #p4petitcom
2012-11-21 21:37:08