def enterLoaded(self): DistCogdoLevelGame.enterLoaded(self) self.lightning = loader.loadModel( 'phase_10/models/cogHQ/CBLightning.bam') self.magnet = loader.loadModel('phase_10/models/cogHQ/CBMagnet.bam') self.craneArm = loader.loadModel( 'phase_10/models/cogHQ/CBCraneArm.bam') self.controls = loader.loadModel( 'phase_10/models/cogHQ/CBCraneControls.bam') self.stick = loader.loadModel('phase_10/models/cogHQ/CBCraneStick.bam') self.cableTex = self.craneArm.findTexture('MagnetControl') self.moneyBag = loader.loadModel('phase_10/models/cashbotHQ/MoneyBag') self.geomRoot = PM.NodePath('geom') self.sceneRoot = self.geomRoot.attachNewNode('sceneRoot') self.sceneRoot.setPos(35.84, -115.46, 6.46) self.physicsMgr = PM.PhysicsManager() integrator = PM.LinearEulerIntegrator() self.physicsMgr.attachLinearIntegrator(integrator) fn = PM.ForceNode('gravity') self.fnp = self.geomRoot.attachNewNode(fn) gravity = PM.LinearVectorForce(0, 0, GameConsts.Settings.Gravity.get()) fn.addForce(gravity) self.physicsMgr.addLinearForce(gravity) self._gravityForce = gravity self._gravityForceNode = fn
def enterLoaded(self): DistCogdoLevelGame.enterLoaded(self) self.lightning = loader.loadModel( 'phase_10/models/cogHQ/CBLightning.bam') self.magnet = loader.loadModel('phase_10/models/cogHQ/CBMagnet.bam') self.craneArm = loader.loadModel( 'phase_10/models/cogHQ/CBCraneArm.bam') self.controls = loader.loadModel( 'phase_10/models/cogHQ/CBCraneControls.bam') self.stick = loader.loadModel('phase_10/models/cogHQ/CBCraneStick.bam') self.cableTex = self.craneArm.findTexture('MagnetControl') self.geomRoot = PM.NodePath('geom') # Set up a physics manager for the cables and the objects # falling around in the room. self.physicsMgr = PM.PhysicsManager() integrator = PM.LinearEulerIntegrator() self.physicsMgr.attachLinearIntegrator(integrator) fn = PM.ForceNode('gravity') self.fnp = self.geomRoot.attachNewNode(fn) gravity = PM.LinearVectorForce(0, 0, -32) fn.addForce(gravity) self.physicsMgr.addLinearForce(gravity)
def _handleGravityChanged(self, gravity): # Has the gravity changed? self.physicsMgr.removeLinearForce(self._gravityForce) self._gravityForceNode.removeForce(self._gravityForce) self._gravityForce = PM.LinearVectorForce(0, 0, gravity) self.physicsMgr.addLinearForce(self._gravityForce) self._gravityForceNode.addForce(self._gravityForce)