Python 你如何使你的精灵不在屏幕上复制自己?一旦文本出现,如何使精灵消失或重新开始?
所以,我又被卡住了,但在经过广泛的研究后,当一切都不起作用时,我就把它作为最后的手段。请不要因为这个而骂我,我是新手。所以,我基本上是想让我的精灵移动(yoyo),但随着yoyo的上下移动,画面不断复制。所以,我不知道如何解决这个问题。如果yoyo碰到游戏窗口的边界,它会发生碰撞,应该会显示一条文本,然后游戏会重新开始。但是,当yoyo与窗口边框发生碰撞时,它会重新启动,但卡住的yoyo仍将显示,并显示一个新的yoyo。文本将显示,但2秒后不会消失Python 你如何使你的精灵不在屏幕上复制自己?一旦文本出现,如何使精灵消失或重新开始?,python,python-3.x,pygame,Python,Python 3.x,Pygame,所以,我又被卡住了,但在经过广泛的研究后,当一切都不起作用时,我就把它作为最后的手段。请不要因为这个而骂我,我是新手。所以,我基本上是想让我的精灵移动(yoyo),但随着yoyo的上下移动,画面不断复制。所以,我不知道如何解决这个问题。如果yoyo碰到游戏窗口的边界,它会发生碰撞,应该会显示一条文本,然后游戏会重新开始。但是,当yoyo与窗口边框发生碰撞时,它会重新启动,但卡住的yoyo仍将显示,并显示一个新的yoyo。文本将显示,但2秒后不会消失 import pygame imp
import pygame
import time
pygame.init()
width = 900
height = 900
red = (255,0,0)
text = "game over"
screem = pygame.display.set_mode((width,height))
pygame.display.set_caption("yoyo")
clock = pygame.time.Clock()
background = pygame.image.load("room.png").convert()
win.blit(background, [0,0])
yoyo= pygame.image.load("yoyo.png").convert()
def Yoyo (x,y):
win.blit(yoyo, [x,y])
def mainloop():
x = 87
y = 90
yc = 0
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
Exit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
Yoyo(x,y)
y += yc
if y > 23 or y < -90:
pygame.display.update()
clock.tick(60)
mainloop()
pygame.quit()
quit()
导入pygame
导入时间
pygame.init()
宽度=900
高度=900
红色=(255,0,0)
text=“游戏结束”
screem=pygame.display.set_模式((宽度、高度))
pygame.display.set_标题(“yoyo”)
clock=pygame.time.clock()
background=pygame.image.load(“room.png”).convert()
win.blit(背景[0,0])
yoyo=pygame.image.load(“yoyo.png”).convert()
def Yoyo(x,y):
win.blit(yoyo,[x,y])
def mainloop():
x=87
y=90
yc=0
尽管如此:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
退出=真
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_UP:
Yoyo(x,y)
y+=yc
如果y>23或y<-90:
pygame.display.update()
时钟滴答(60)
mainloop()
pygame.quit()
退出
在每一帧中重新绘制整个场景。这意味着您也必须在每一帧中绘制背景
在绘制任何其他内容之前,在主循环中绘制(blit
)背景:
不退出时:
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
退出=真
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_UP:
y_变化=-5
elif event.key==pygame。K_DOWN:
y_变化=5
如果event.type==pygame.KEYUP:
如果event.key==pygame.K_向上或event.key==pygame.K_向下:
y_变化=0
y+=y_变化
如果y>405或y<-200:
碰撞()
GameLoop()
win.blit(bg,[0,0])#将代码发布到问题(或答案)后,立即选择刚粘贴的内容,然后键入Ctrl+K或单击编辑器界面中的{}
按钮。这将正确格式化代码,而不会在尝试手动格式化代码时引入缩进错误。