所以我试图让敌人在撞墙时转身,但它被卡住了。
这是敌人的代码:(屏幕大小为 1000 x 1000 btw)
xEnemy = random.randint(0,1000)
yEnemy = random.randint(0,1000)
#enemy
def enemy():
global xEnemy, yEnemy
pygame.draw.rect(screen,(255,0,0),(xEnemy,yEnemy,15,15))
if xEnemy > 0 and xEnemy < 1000:
xEnemy -=velEnemy
if xEnemy < 0 and xEnemy > 10:
xEnemy += velEnemy
答案 0 :(得分:1)
如果 xEnemy > 1000
或 xEnemy < 0
,您必须更改速度。如果 xEnemy > 1000
,则速度必须变为负值。如果 xEnemy < 0
,则速度必须变为正值。速度的绝对量可以用 abs(velEnemy)
得到。不要忘记global velEnemy
def enemy():
global xEnemy, yEnemy, velEnemy
if xEnemy < 0:
velEnemy = abs(velEnemy)
if xEnemy > 1000:
velEnemy = -abs(velEnemy)
xEnemy += velEnemy
pygame.draw.rect(screen, (255,0,0), (xEnemy, yEnemy, 15, 15))