プレイ日記
ケイン KEIN.HORGAN
シンプルRPG製作日記 8日目 キャラクターを動かそう
5そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
気づいたらもう日が変わってる…… 油断するとあっという間に日が変わるので、手短に日記を書いていきます。 さて、昨日までで自作命令が作れるようになりました。 今日はまず、いろんなものを自作命令化しました。 ※自作命令を作った場合、紙でもプログラム中でも良いのでその内容を簡単に書いておくと、後でその自作命令を使ったり、もしくは修正したりする時に役に立つと思います。 オープニングイベントも自作命令化しまして、今のところはプログラム実行したらオープニングイベントが実行されるようになっています。 (そのうちタイトルも作りたい)
0そうだね
プレイ済み
返信[2]
親投稿
ケイン KEIN.HORGAN
さて、オープニングイベントが終わったらいよいよ自分でキャラクターを動かす事になります。 文字で表示されているキャラクターを動かす場合、おおよそ次のような流れになります。 1.キャラクターの移動方向をユーザーに指定してもらう (今回は十字キーを使う事にします) 2.表示中のキャラクターを消す 3.新しい位置にキャラクターを表示する この3つについては、実のところ、今までに使った命令を使う事で達成出来てしまいます。 が、今回は新しいループ命令を使ってみます。
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
それが WHILE ~ WEND 命令です。 これは、18行目のように、WHILE TRUE とする事で、30行目のWEND までを無限ループさせる事が出来る命令です。 (本来は、TRUE の部分を条件式にする事で、条件が満たされている間だけループさせる事が出来る命令です。 条件式をTRUE とする事で、「常に条件が満たされている」という事になり、その結果、無限ループします)
0そうだね
プレイ済み
返信[4]
親投稿
ケイン KEIN.HORGAN
この新しいループ命令以外は、特に難しい命令は使っていません。 どちらかというと、「どうしてこういう命令を組んだのか?」の方が大事なので、今回はそれを説明します。 X,Y 'これは、キャラクターの現在座標を示します NX,NY 'これは、キャラクターの移動先座標を示します 処理の流れは次のようになっています。
0そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
(ループ開始) 1.今、押されているボタンを取得する 2.もしそれが「上ボタン」なら、キャラクターの移動先座標を、今の座標 -1 にする 3.もし、キャラクターの移動先座標が現在座標と異なっていれば、キャラクターを移動し、現在座標を更新する (1に戻る)
0そうだね
プレイ済み
返信[6]
親投稿
ケイン KEIN.HORGAN
なお、これだけでは、上にしか移動できないので、これを上下左右すべてにおいて実装すれば、キャラクターの移動がとりあえず実行できます。 (上下左右ボタンは、それぞれ#UP, #DOWN, #LEFT, #RIGHT に相当します) 次回は、上下左右を実装して…… そして、移動速度の調整を行いたいと思います。 (今のままでは、1フレームに1マス移動するわけですが、これはRPGという事を考えると、ちょっと早すぎる移動速度なのです)
0そうだね
プレイ済み