我目前正在使用此代码进行跳转:
if not Jump:
if keys[pygame.K_UP]:
Jump=True
right=False #right, left and standing are for character's facing
left=False # and they serve no purpose for jumping
standing=False
steps=0
else:
if jumpCount >= -8.5:
standing=False
neg=1
if JumpCount < 0:
neg=-1
y-=(JumpCount**2)/2 *neg
jumpCount-=1
else:
Jump=False
jumpCount=8.5 # I've set it to 8.5 bc that value works for me best
无论如何,这段代码适用于基本跳跃,但是如果我想在盒子上跳跃,就会发生问题。 我试着这样设置:
self.line1=[self.x,self.y+60] #this is the bottom left coordinate of the
#character
self.line2=[self.x+28,self.y+60] #this is the bottom right coordinate
def on(self,a):
if (a.line1[0]+12)>self.x and (a.line1[0]+12)<(self.x+40): # self.x+40
#is the top right coordinate of the box
if a.line1[1]<=self.y and (a.line1[1]+a.v)>=self.y:
return True
return False
def collision(self,a):
if self.on(a):
a.y=self.y-60
a.Jump=False
return
def all(self,a):
self.on(a)
self.collision(a)
return
但这不起作用。我已经设法设置当角色击中盒子的两侧时它不能再进一步,但是我无法做跳跃部分。 是否可以使用此代码跳转到某些内容,或者我应该完全更改跳转代码,使用重力式跳跃等等?欢迎任何形式的帮助。