问题描述
我目前拥有它,因此背景以 1.4 速度单位移动,无论该单位是什么或意味着什么,但变量设置为 1.4,我可以将其更改为 10,背景会移动得更快,但我需要它随着时间的推移逐渐增加说每 X 秒 +10,我尝试过像
这样的正常方式bgX-=bgX+10
bgX2-=bgX2+10
但这不起作用。
我的完整代码(如果你想运行它,你需要一个 bg.png 和一个 dababy.png 否则你会得到错误)
import pygame
import pygame.freetype
import math
pygame.init()
width=960
height=540
x=(width*0.45)
y=(height*0.6)
bgspeed=30
x_change=0
y_change=0
speed=5
realscore=0
WHITE=(255,255,255)
green=(0,0)
blue=(0,255)
maindisplay=pygame.display.set_mode((width,height))
pygame.display.set_caption("jetpack")
bg=pygame.image.load("bg.png")
bg=pygame.transform.scale(bg,(width,height))
bgX=0
bgX2=bg.get_width()
default="dababy.png"
flying="flying1.png"
current_model="dababy.png"
dababy_jetpack=pygame.image.load(current_model)
dababy_jetpack.convert()
rect=dababy_jetpack.get_rect()
rect.center=0,0
player_rect=dababy_jetpack.get_rect(topleft=(200,200))
maindisplay_rect=maindisplay.get_rect()
jetpacker=pygame.image.load("dababy.png")
jetpacker=pygame.transform.scale(jetpacker,(81,83))
maindisplay_rect=maindisplay.get_rect()
player_rect=jetpacker.get_rect()
def redrawWindow():
maindisplay.blit(bg,(bgX,0))
maindisplay.blit(bg,(bgX2,0))
clock=pygame.time.Clock()
def test(x,y):
maindisplay.blit(jetpacker,(x,y))
crashed=False
while not crashed:
realscore=realscore+0.05
scoreTrunc=math.trunc(realscore)
scoreText="score:"
scoreString=str(scoreTrunc)
scoredisplayed=scoreText+scoreString
redrawWindow()
bgX-=1.4
bgX2-=1.4
if bgX<bg.get_width()*-1:
bgX=bg.get_width()
elif bgX2<bg.get_width()*-1:
bgX2=bg.get_width()
if y > height-93:
y = height - 93
elif y < 0:
y = 0
for event in pygame.event.get():
if event.type==pygame.QUIT:
crashed=True
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_SPACE:
current_model=flying
y_change=-1*speed
elif event.type==pygame.KEYUP:
if event.key==pygame.K_SPACE:
y_change=0.7*speed
y+=y_change
test(x,y)
player_rect.clamp_ip(maindisplay_rect)
font=pygame.font.Font(None,74)
text=font.render(str(scoredisplayed),1,WHITE)
maindisplay.blit(text,(10,10))
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)