mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
removed shown ray; jumping straight up;
This commit is contained in:
parent
23aa2a9ead
commit
f29545a167
@ -121,8 +121,14 @@ class NonPhysicsWalker(DirectObject.DirectObject):
|
||||
del self.pusher
|
||||
del self.lifter
|
||||
|
||||
def collisionsOff(self):
|
||||
assert(self.debugPrint("collisionsOff"))
|
||||
def setCollisionsActive(self, active = 1):
|
||||
assert(self.debugPrint("setCollisionsActive(active%s)"%(active,)))
|
||||
if self.collisionsActive != active:
|
||||
self.collisionsActive = active
|
||||
if active:
|
||||
self.cTrav.addCollider(self.cSphereNodePath, self.pusher)
|
||||
self.cTrav.addCollider(self.cRayNodePath, self.lifter)
|
||||
else:
|
||||
self.cTrav.removeCollider(self.cSphereNodePath)
|
||||
self.cTrav.removeCollider(self.cRayNodePath)
|
||||
|
||||
@ -130,11 +136,6 @@ class NonPhysicsWalker(DirectObject.DirectObject):
|
||||
# right now to ensure we aren't standing in a wall.
|
||||
self.oneTimeCollide()
|
||||
|
||||
def collisionsOn(self):
|
||||
assert(self.debugPrint("collisionsOn"))
|
||||
self.cTrav.addCollider(self.cSphereNodePath, self.pusher)
|
||||
self.cTrav.addCollider(self.cRayNodePath, self.lifter)
|
||||
|
||||
def oneTimeCollide(self):
|
||||
"""
|
||||
Makes one quick collision pass for the avatar, for instance as
|
||||
|
@ -148,7 +148,6 @@ class PhysicsWalker(DirectObject.DirectObject):
|
||||
else: # useCollisionHandlerQueue
|
||||
self.cRayQueue = CollisionHandlerQueue()
|
||||
self.cTrav.addCollider(self.cRayNodePath, self.cRayQueue)
|
||||
self.cRayNodePath.show()
|
||||
|
||||
def determineHeight(self):
|
||||
"""
|
||||
@ -550,7 +549,7 @@ class PhysicsWalker(DirectObject.DirectObject):
|
||||
else:
|
||||
# ...the avatar is very close to the ground (close enough to be
|
||||
# considered on the ground).
|
||||
if self.isAirborne:
|
||||
if self.isAirborne and physObject.getVelocity().getZ() <= 0.0:
|
||||
# ...the avatar has landed.
|
||||
contactLength = contact.length()
|
||||
if contactLength>self.__hardLandingForce:
|
||||
@ -565,9 +564,14 @@ class PhysicsWalker(DirectObject.DirectObject):
|
||||
#print "jump"
|
||||
#self.__jumpButton=0
|
||||
messenger.send("jumpStart")
|
||||
if 0:
|
||||
# ...jump away from walls and with with the slope normal.
|
||||
jumpVec=Vec3(contact+Vec3.up())
|
||||
#jumpVec=Vec3(rotAvatarToPhys.xform(jumpVec))
|
||||
jumpVec.normalize()
|
||||
else:
|
||||
# ...jump straight up, even if next to a wall.
|
||||
jumpVec=Vec3.up()
|
||||
jumpVec*=self.avatarControlJumpForce
|
||||
physObject.addImpulse(Vec3(jumpVec))
|
||||
self.isAirborne = 1 # Avoid double impulse before fully airborne.
|
||||
|
Loading…
x
Reference in New Issue
Block a user