如何在pygame中跳转到平台

时间:2018-04-22 10:13:52

标签: python pygame

我目前正在使用此代码进行跳转:

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

但这不起作用。我已经设法设置当角色击中盒子的两侧时它不能再进一步,但是我无法做跳跃部分。 是否可以使用此代码跳转到某些内容,或者我应该完全更改跳转代码,使用重力式跳跃等等?欢迎任何形式的帮助。

0 个答案:

没有答案