どうも、塩ラーメンです。
これは昨日1月6日分の日記です。最近他のことが忙しくてPython学習にあまり時間がとれていません。昨日は夜遅くに勉強をして、ブログを書く余裕がなかったので、今日書きます。昨日やったのは、迷路ゲームの壁の作成です。
壁はfor文で作る
tkinterを使って、迷路の壁部分を作ります。壁の作り方と言っても単純です。まず、配列に「壁は1、床は0」として記述していきます。
その後、for文で、yとxにそれぞれrangeで数値で入れていき、maze[y][x]がイコール1なら、create_rectangle命令で四角を描画します。
すると、1の部分が塗りつぶされて壁になり、迷路ができあがります。
キャラクターを動かす
キャラクターの動かし方についても、勉強しました。tkinterでは、キーボードのどのキー(ボタン)を押したかを取得する命令が用意されています。bindという命令と、keycodeを使います。
bindは、イベントを受け取る命令です。bindでは「キーが押されたとき、何をする」という指示ができます。「キーが押されたとき」には、別のイベントも指定できます。「何をする」のところには、関数を入れます。
関数では、イベント(e)を引数で受け取り、内部で、e.keycodeとして押されたキーのコードを取得できます。keysymとすると、文字列で押されたキーを取得できます(Upなど)。
押されたキーが何かによって、キャラクター座標を計算するif文を使い、座標を更新します。そして最後に、リアルタイム処理を行って、移動後のキャラクターを描画します。リアルタイム処理はどうやって行うのかというと、after命令です。afterは、「何秒後に、何をする」という指示を出せます。関数の中で、「0.1秒後に、その関数を呼び出す」というafterを描けば、0.1秒ごとに関数が繰り返されます。その関数の中で、キャラクターの座標を描画させれば、更新された座標が即座に反映されるというわけです。
今回勉強している迷路ゲームの作成は、いよいよ本当にゲームっぽいので、とても面白いです。このあとが楽しみです。
参考書籍
Pythonでつくる ゲーム開発 入門講座 | ||||
|
最後までお読みいただき、ありがとうございました。
感想・意見・指摘などは、コメントに残していただけるとありがたいです。
ツイッターで、ブログの更新情報などお知らせしています。
【https://twitter.com/saltramen_book】
それでは、また別の記事でお会いしましょう。
最後までお読みいただき、ありがとうございました。
感想・意見・指摘などは、コメントに残していただけるとありがたいです。
ツイッターで、ブログの更新情報などお知らせしています。
【https://twitter.com/saltramen_book】
それでは、また別の記事でお会いしましょう。
コメント