キャンバスブレイクアウトゲームで境界を正しく設定するにはどうすればよいですか?

RObertos12

キャンバスtkinterでゲームブレイクアウトを作成していますが、バウンダリーを実行する条件を設定すると、パレットが移動しません。それが動くというステートメントを正しく書く方法は?

from tkinter import *
root = Tk()
root.title("Move Objects in canvas")

root.resizable(False,False)
height = 500
width = 700
x = width//2
y= height//2
can = Canvas(height = height, width=width,bg = "blue")
can.pack(pady = 30,padx=50)

rect = can.create_rectangle(height//2,700,width//2,490,fill = "green")



def keypress(event):
    x,y = 0,0
    if event.char == "a" and x > x: 
        x= -10
    if event.char == "d" and x < 700 - width -x:
        x= 10
    can.move(rect,x,y)

root.bind("<Key>", keypress)
root.mainloop()
Atlas435

これを実現するには、長方形の座標を取得して、境界を確認します。

from tkinter import *
root = Tk()
root.title("Move Objects in canvas")

root.resizable(False,False)
height = 500
width = 700
x = width//2
y= height//2
can = Canvas(height = height, width=width,bg = "blue")
can.pack(pady = 30,padx=50)

rect = can.create_rectangle(height//2,700,width//2,490,fill = "green")



def keypress(event):
    x1 = can.coords(rect)[0]
    x2 = can.coords(rect)[2]
    if event.char == "a" and x1 > 0: 
        x= -10
    if event.char == "d" and x2 < 700:
        x= 10
    try:
        can.move(rect,x,0)
    except UnboundLocalError:
        print('out of bounderies')

root.bind("<Key>", keypress)
root.mainloop()

また、境界外にあることを示すために、try andexceptブロックを追加しました。ご不明な点やエラーがございましたらお知らせください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

レイアウトを正しく設定するにはどうすればよいですか?

分類Dev

ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

分類Dev

ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

分類Dev

ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

分類Dev

JJWTトークン。タイムアウトを設定するにはどうすればよいですか?

分類Dev

OpenGL / GLFWでテクスチャパラメータを設定して、遠くからオブジェクトを表示するときにテクスチャのエイリアシング(オブジェクトの境界での波状の動作)を回避するにはどうすればよいですか?

分類Dev

Androidのレイアウトの境界にcircleImageViewを設定するにはどうすればよいですか?

分類Dev

この場合、レイアウトを開くときにスピナーアイテムを設定するにはどうすればよいですか?

分類Dev

テキストレイアウトを設定するにはどうすればよいですか

分類Dev

JavaFxでタスクタイムアウトを設定するにはどうすればよいですか?

分類Dev

デバイス画面の右側に引き出しレイアウトアイコンを設定するにはどうすればよいですか?

分類Dev

Javaアプリのカスタムフレームとタスクバーアイコンを設定するにはどうすればよいですか?

分類Dev

タイムアウト(...)がストリームの放出をキャンセルしないようにするにはどうすればよいですか?

分類Dev

テキストフィールドのレイアウトマージンをSwiftで設定するにはどうすればよいですか?

分類Dev

ブラウザのズームがキャンバスサイズを変更しないようにするにはどうすればよいですか?

分類Dev

Eclipseの行ではなくクラスにブレークポイントを設定するにはどうすればよいですか?

分類Dev

MySQLバックエンドでHibernate save()コールにタイムアウトを設定するにはどうすればよいですか?

分類Dev

AntTweakBarライブラリを正しくインポートするようにCMakeLists.txtを設定するにはどうすればよいですか?

分類Dev

セレンWebドライバーのタイムアウトを設定するにはどうすればよいですか?

分類Dev

ストロークの色を設定してキャンバスに長方形を描画するにはどうすればよいですか?

分類Dev

Android Studioでデザインプレビューを設定して、電話のレイアウトではなくタブレットのレイアウトを表示するにはどうすればよいですか?

分類Dev

タスクスイッチャーのアイコンテキストを設定するにはどうすればよいですか?

分類Dev

ナビゲーションドロワーレイアウトの設定アイコンを変更するにはどうすればよいですか?

分類Dev

ジャイアントスウォームにクレートクラスターをデプロイするにはどうすればよいですか?

分類Dev

ブロッキング呼び出しのタイムアウトを設定するにはどうすればよいですか?

分類Dev

JAX-WS Webサービスクライアントのタイムアウトを設定するにはどうすればよいですか?

分類Dev

ユーザーセッションタイムアウトのコールバックを設定するにはどうすればよいですか

分類Dev

プログラム内でレイアウトとテキストのサイズをDPに設定するにはどうすればよいですか?

分類Dev

タブレイアウトでタブ幅を設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    レイアウトを正しく設定するにはどうすればよいですか?

  2. 2

    ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

  3. 3

    ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

  4. 4

    ゲストアカウントに永続プロキシサーバー設定を設定するにはどうすればよいですか?

  5. 5

    JJWTトークン。タイムアウトを設定するにはどうすればよいですか?

  6. 6

    OpenGL / GLFWでテクスチャパラメータを設定して、遠くからオブジェクトを表示するときにテクスチャのエイリアシング(オブジェクトの境界での波状の動作)を回避するにはどうすればよいですか?

  7. 7

    Androidのレイアウトの境界にcircleImageViewを設定するにはどうすればよいですか?

  8. 8

    この場合、レイアウトを開くときにスピナーアイテムを設定するにはどうすればよいですか?

  9. 9

    テキストレイアウトを設定するにはどうすればよいですか

  10. 10

    JavaFxでタスクタイムアウトを設定するにはどうすればよいですか?

  11. 11

    デバイス画面の右側に引き出しレイアウトアイコンを設定するにはどうすればよいですか?

  12. 12

    Javaアプリのカスタムフレームとタスクバーアイコンを設定するにはどうすればよいですか?

  13. 13

    タイムアウト(...)がストリームの放出をキャンセルしないようにするにはどうすればよいですか?

  14. 14

    テキストフィールドのレイアウトマージンをSwiftで設定するにはどうすればよいですか?

  15. 15

    ブラウザのズームがキャンバスサイズを変更しないようにするにはどうすればよいですか?

  16. 16

    Eclipseの行ではなくクラスにブレークポイントを設定するにはどうすればよいですか?

  17. 17

    MySQLバックエンドでHibernate save()コールにタイムアウトを設定するにはどうすればよいですか?

  18. 18

    AntTweakBarライブラリを正しくインポートするようにCMakeLists.txtを設定するにはどうすればよいですか?

  19. 19

    セレンWebドライバーのタイムアウトを設定するにはどうすればよいですか?

  20. 20

    ストロークの色を設定してキャンバスに長方形を描画するにはどうすればよいですか?

  21. 21

    Android Studioでデザインプレビューを設定して、電話のレイアウトではなくタブレットのレイアウトを表示するにはどうすればよいですか?

  22. 22

    タスクスイッチャーのアイコンテキストを設定するにはどうすればよいですか?

  23. 23

    ナビゲーションドロワーレイアウトの設定アイコンを変更するにはどうすればよいですか?

  24. 24

    ジャイアントスウォームにクレートクラスターをデプロイするにはどうすればよいですか?

  25. 25

    ブロッキング呼び出しのタイムアウトを設定するにはどうすればよいですか?

  26. 26

    JAX-WS Webサービスクライアントのタイムアウトを設定するにはどうすればよいですか?

  27. 27

    ユーザーセッションタイムアウトのコールバックを設定するにはどうすればよいですか

  28. 28

    プログラム内でレイアウトとテキストのサイズをDPに設定するにはどうすればよいですか?

  29. 29

    タブレイアウトでタブ幅を設定するにはどうすればよいですか?

ホットタグ

アーカイブ