Python 8-1

こんにちは!

台風が来ています。。。

リアルタイム処理を実現する

まずはリアルタイム処理に関してです。

list0801_1.py
Image from Gyazo

Image from Gyazo

after()命令でリアルタイム処理を行うことができます。
引数には「何ミリ秒後」に「どの関数を実行するか」を渡しています。

関数の外部で宣言した変数をグローバル変数、関数の内部で宣言した変数をローカル変数といいます。
関数内でグローバル変数を変更するために、4行目でglobal宣言を行っています。

キー入力を受け付ける

次にキー入力です。
ちなみに、ユーザーがソフトウェアに対してキーやマウスを操作することをイベントといいます。

list0802_1.py
Image from Gyazo

Image from Gyazo

イベントを受け取るためにbind()命令が必要です。
KeyPressイベントはキーを押した際に発生します。

キー入力で画像を動かす

リアルタイム処理とキーイベントの取得を同時に行い画像を動かしていきます。

list0803_1.py
Image from Gyazo

Image from Gyazo

ウィンドウ上でキーコードを取得しています。

list0803_2.py
Image from Gyazo

Image from Gyazo

keycodeの代わりにkeysymで値を取得しています。

list0803_3.py
Image from Gyazo

Image from Gyazo

coords()命令は表示中の画像を新しい位置に移動する命令です。
Photoimage()命令内にtagを指定することで、キャンバス内で画像などを動かしたりできます。

はい、キャラクターを動かすことに成功しました。

ではでは。