ゲームソフトは時間ともに処理が進むものですよね。
ロールプレイングゲームでは、敵キャラクターが時間が経つと攻撃してきたり、ボスキャラが出現したり・・
アクションゲームだと制限時間があるゲームが多いので、時間がたつと体力ゲージやタイムが減ったりしますよね。
こういった時間軸で進むゲームはリアルタイム処理を行っています。このリアルタイム処理はゲーム制作において欠かせない処理になりますので、これからゲーム制作を学びたい方は絶対に習得したほうが良いスキルになります。
ここでは岐阜市細畑からPythonという言語を学んでいる生徒様の受講事例を紹介しながらリアルタイム処理についても紹介します。
岐阜市細畑からPythonを学ぶ受講者様事例
今回紹介する受講生様はゲームプログラミングを学びたいということで受講されている、中学生の生徒様です。
高校受験を控えられており、2~3か月お休みされていましたが、お母様曰くここに来るのが息抜きにもなっているようで。。とおっしゃっていただき、また受講再開されています。
ゲームをプログラミング言語で制作することを通して、論理的な思考力や、創造力、自分でゼロから生み出す力を磨く講座を提供しておりますが、
それ自体が受講者様の楽しみにもなっているようで、教室としては嬉しいお言葉でした。Pythonは汎用性が高い言語なので、プログラミングの基本を学ぶ上では非常に良い言語です。
今回はこの子も学習したリアルタイム処理について紹介します。
Pythonでリアルタイム処理を行う方法とは
after()を使ってリアルタイム処理を行おう
pythonでリアルタイム処理を行うためにはafter()という命令を使いましょう。
after(ミリ秒,実行する関数名)
使い方例:
root.after(2000, cout_down)
注意点としては、after()命令の引数の関数名は()を付けずに記述することです。
リアルタイム処理をPythonで記述した例
import tkinter
time = 50
def count_down():
global time
time -= 1
label["text"]= time
root.after(1000,count_down)
root = tkinter.Tk()
label = tkinter.Label(font=("Arial", 50))
label.pack()
root.after(1000,count_down)
root.mainloop()
count_down関数の処理はtimeという変数を1ずつ減らし、減らした結果の数字を表示するというプログラムが上記のプログラムです。
まずroot.after(1000,cout_down)という行でcount_down関数を呼び出します。
その後、count_down関数の中にも、
root.after(1000,count_down)
と記述があるため、ふたたびcount_down関数が呼び出され、カウントダウンするプログラムになりました。
リアルタイム処理はゲーム制作において基本になりますが、Pythonでも上記の記述方法をすることで実現できます。
処理の流れなどを覚えることで、他の言語の学習をする際にもきっと活きてくるはずです。また上記のようなリアルタイム処理のほかには、
イベントドリブン型
と言われる処理があり、これはクリックされたら処理を行う、といったゲームをする人が何かをするまで待って処理を行うというものになります。
プログラミング教室のレッスンではそういったゲームプログラミングの基本についても学んでいきますので、興味がある方はぜひお問合せください。