import pygame
pygame.init()
window = pygame.display.set_mode((800,600))
pygame.display.set_caption("TEST2")
black=(0,0,0)
white=(255,255,255)
moveX,moveY=0,0
clock = pygame.time.Clock()
class Sprite:
def __init__(self,x,y):
self.x=x
self.y=y
self.width=50
self.height=50
self.i1=pygame.image.load("Sprite0.PNG")
self.i2 = pygame.image.load("Sprite1.PNG")
self.i3 = pygame.image.load("Sprite2.PNG")
self.i4 = pygame.image.load("Sprite3.PNG")
self.i5 = pygame.image.load("Sprite4.PNG")
self.i6 = pygame.image.load("Sprite5.PNG")
self.i7 = pygame.image.load("Sprite6.PNG")
self.i8 = pygame.image.load("Sprite7.PNG")
self.i9 = pygame.image.load("Sprite8.PNG")
self.i10 = pygame.image.load("Sprite9.PNG")
self.i11 = pygame.image.load("Sprite10.PNG")
self.i12 = pygame.image.load("Sprite11.PNG")
self.timeTarget=10
self.timeNum=0
self.currentImage=0
def update(self):
self.timeNumber+=1
if(self.timeNume==self.timeTarget):
if (self.currentImage==0):
self.currentImage+=1
else:
self.currentImage=0
self.timeNum=0
self.render()
def render(self):
if (self.currentImage==0):
window.blit(self.i1, (self.x,self.y))
else:
window.blit(self.i2, (self.x,self.y))
player=Sprite(100,150)
gameLoop = True
while gameLoop:
for event in pygame.event.get():
if event.type==pygame.QUIT:
gameLoop = False
if (event.type==pygame.KEYDOWN):
if (event.key==pygame.K_LEFT):
moveX = -3
if (event.key==pygame.K_RIGHT):
moveX = 3
if (event.key==pygame.K_UP):
moveY = -3
if (event.key==pygame.K_DOWN):
moveY = 3
if (event.type==pygame.KEYUP):
if (event.key==pygame.K_LEFT):
moveX=0
if (event.key==pygame.K_RIGHT):
moveX=0
if (event.key==pygame.K_UP):
moveY=0
if (event.key==pygame.K_DOWN):
moveY=0
window.fill(black)
player.x+=moveX
player.x+=moveY
player.update()
clock.tick(50)
pygame.display.flip()
pygame.quit()
所以这是我的问题我想制作一个移动的键盘动画,当我点击运行时甚至没有弹出窗口,Idle 似乎没有代码错误但是当我点击运行时没有任何反应。如果你看到我遇到的错误,请告诉我我仍在尝试学习整个 pygame 的东西,而且我对 python 总体来说还很陌生。谢谢!
编辑:(我发现了我认为的错误,但仍然不知道如何修复它)
Traceback (most recent call last):
File "C:/Users/Trevor/Downloads/TEST/images/TEST2", line 84, in <module>
player=Sprite(100,150)
File "C:/Users/Trevor/Downloads/TEST/images/TEST2", line 28, in __init__
self.i0=pygame.image.load("Sprite0.PNG")
error: Couldn't open Sprite0.PNG
最佳答案
您必须在放置 Sprite0.png 的目录中运行脚本。首先使用 cd
切换到该目录,然后使用 python myprogram.py
运行脚本。或者您可以使用绝对路径进行加载。因此,您可以使用 pygame.image.load("my/path/to/Sprite0.png")
而不是 pygame.image.load("Sprite0.PNG")
>
关于python - Pygame 创建键盘动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708495/