たまこんブログ

学生×プログラミング→2020年3月ブログ開設!趣味の一環でPythonでつくったゲーム や自分が読んで役に立った 本、知識などを紹介しています!

リアルタイムに移動する処理

この本のp150を参考に作りました。
Pythonで作るゲーム開発入門講座

学んだこと

・キャラのx座標とy座標の計算の仕方
・keyの入力の受付の方法
・キャラ画像の作り方(photoshop)

  • プログラム実行結果
  • プログラム解説(一部のみ抜粋)

実行結果

f:id:tamakon3:20200411105353g:plain

プログラム解説

def key_down(e):    #キーが押された時に行う処理
    global key
    key=e.keysym    #keysymには押されたキーの情報が入る
def key_up(e):      #キーが離された時に行う処理
    global key
    key=""          #キーが離された時、キーの情報を空にする

cx=400
cy=300

def main_proc():
    global cx,cy

    if key=="Up":       #upのキーが押されたら
        cy=cy-20        #キャラクターのy座標を-20
    if key=="Down":     
        cy=cy+20
    if key=="Left":
        cx=cx-20
    if key=="Right":
        cx=cx+20
    canvas.coords("MYCHR",cx,cy)    #計算したxとy座標にキャラを表示
    root.after(100,main_proc)       



root=tkinter.Tk()
root.title("キャラクターの移動")
root.bind("<KeyPress>",key_down)    #keyが押された時に行う処理を指定。
root.bind("<KeyRelease>",key_up)    #keyが離された時に行う処理を指定。

感想

ここから色々できると思うので頑張りたい。