我刚刚开始学习Python(到目前为止,我唯一能熟练使用的编程语言是C语言,所以这对我来说都是非常新的),我决定用它做一些简单的游戏来适应它。我希望它是一个箭头键控制的游戏,我正在使用graphics.py库,据我所知,它对初学者非常友好
这就是我想到的:
from graphics import *
win = GraphWin("Game", 800, 500)
def getXInput():
inputBuffer = win.checkKey()
inputResult = 0
if inputBuffer == "Right":
inputResult = 1
elif inputBuffer == "Left":
inputResult = -1
return inputResult
def getYInput():
inputBuffer = win.checkKey()
inputResult = 0
if inputBuffer == "Down":
inputResult = 1
elif inputBuffer == "Up":
inputResult = -1
return inputResult
class player:
def __init__(self):
self.x = 400
self.y = 250
self.speed = 3
self.canMove = True
self.txt = Text(Point(self.x, self.y), "test")
self.txt.draw(win)
def move(self):
while self.canMove == True:
xMove = getXInput() * self.speed
yMove = getYInput() * self.speed
self.txt.move(xMove, yMove)
def main():
pl = player()
pl.move()
win.close()
main()
玩家输入通过getXInput和getYInput函数进行管理,这两个函数共同检查是否按下了箭头键,并相应地返回-1、0或1
然后,这些函数的结果将与玩家的属性“速度”相乘,这就是游戏能够将玩家角色移动到正确方向的方式。这是一种工作方式:它在x轴上工作得很好,但在y轴上却表现得很奇怪,偶尔只记录一次输入。在move方法中,将yMove赋值放在xMove赋值之前可以逆转问题,使垂直移动完美,而水平移动非常松散。我真的不明白是什么原因造成的,有人能帮忙吗
目前没有回答
相关问题 更多 >
编程相关推荐