I am very new to Panda3D, and I have an assignment project that needs to be submitted soon.
However I do not have any idea on how to make my character jump up and back down again. I have only made him walk around so far. And I am kinda stuck on how and where to start to script him jump.
Here is my script so far
class World(DirectObject):
def __init__(self) :
self.jimXPos = 3
self.jimYPos = 0
self.FrameNumber = 0
self.jimZRot = -0.3
self.jimZPos = -0.3
self.accept('w-repeat', self.goForward)
self.accept('s-repeat', self.goBackward)
self.accept('a-repeat', self.rotateLeft)
self.accept('d-repeat', self.rotateRight)
def goForward(self):
angleradians = self.jimZRot *(math.pi/180.0)
deltaX = -1 *math.sin(angleradians)
deltaY = 1 *math.cos(angleradians)
self.jimXPos+= deltaX
self.jimYPos+= deltaY
jimActor.setPos(self.jimXPos, self.jimYPos,0)
jimActor.setHpr(self.jimZRot,0,0)
self.FrameNumber+=1
jimActor.pose('walk',self.FrameNumber)
def goBackward(self):
angleradians = self.jimZRot *(math.pi/180.0)
deltaX = -1 *math.sin(angleradians)
deltaY = 1 *math.cos(angleradians)
self.jimXPos-= deltaX
self.jimYPos-= deltaY
jimActor.setPos(self.jimXPos, self.jimYPos,0)
jimActor.setHpr(self.jimZRot,0,0)
self.FrameNumber-=1
jimActor.pose('walk',self.FrameNumber)
def rotateLeft(self):
jimActor.setHpr(self.jimZRot,0,0)
self.jimZRot+=4
self.FrameNumber+=0.2
jimActor.pose('walk',self.FrameNumber)
def rotateRight(self):
jimActor.setHpr(self.jimZRot,0,0)
self.jimZRot-=4
self.FrameNumber-=0.2
jimActor.pose('walk',self.FrameNumber)
jimActor = Actor.Actor(MYDIR + “/jim.egg”)
jimActor.setPos(3,0,-0.3)
jimActor.setHpr(0,0,0)
jimActor.reparentTo(render)
jimActor.loop(“walk”)
w = World()
main loop
Can anyone help me out? Tell me or show me how can I make my character jump ? Thanks