WIDTH = 800HEIGHT = 500background = Actor("background")player = Actor("player")player.x = 200player.y = 200def draw():screen.clear()background.draw()player.draw()def update():if keyboard.right: player.x = player.x + 4if keyboard.left: player.x = player.x - 4if keyboard.down: player.y = player.y + 4if keyboard.up: player.y = player.y - 4if player.x > WIDTH: player.x = 0if player.x < 0: player.x = WIDTHif player.y < 0: player.y = HEIGHTif player.y > HEIGHT: player.y = 0我想讓玩家停在邊緣而不是環繞并傳送到另一邊。幫助將不勝感激。
2 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
你把它弄錯了:
if player.x > WIDTH:
player.x = WIDTH
if player.x < 0:
player.x = 0
if player.y < 0:
player.y = 0
if player.y > HEIGHT:
player.y = HEIGHT

犯罪嫌疑人X
TA貢獻2080條經驗 獲得超4個贊
已經有了答案,但我認為這段代碼會更有效率。
def update():
if keyboard.right and player.x<=WIDTH-4:
player.x = player.x + 4
if keyboard.left and player.x>=4:
player.x = player.x - 4
if keyboard.down and player.y<=HEIGHT-4:
player.y = player.y + 4
if keyboard.up and player.y>=4:
player.y = player.y - 4
添加回答
舉報
0/150
提交
取消