Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import pi, sin, cos
- from direct.showbase.ShowBase import ShowBase
- from direct.task import Task
- from direct.actor.Actor import Actor
- import direct.directbase.DirectStart
- from pandac.PandaModules import *
- class MyApp(ShowBase):
- def __init__(self):
- ShowBase.__init__(self)
- keyPress = {'MoveLeft': False, 'MoveRight': False}
- self.prevZPose = 0
- self.prevXPos = 0
- # Load the environment model.
- self.environ = self.loader.loadModel("models/environment")
- # Reparent the model to render.
- self.environ.reparentTo(self.render)
- # Apply scale and position transforms on the model.
- self.environ.setScale(0.25, 0.25, 0.25)
- self.environ.setPos(-8, 42, 0)
- self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
- self.taskMgr.add(self.movePoseTask, "MovePoseTask")
- self.pose = self.loader.loadModel("/c/Panda3dProjects/pose.egg")
- self.pose.setScale(0.10, 0.10, 0.10)
- self.pose.setPos(0, 0, 0)
- self.pose.reparentTo(self.render)
- plight = PointLight('plight')
- plight.setColor(VBase4(5, 5 , 5, 1))
- plnp = render.attachNewNode(plight)
- plnp.setPos(0, 0, 20)
- self.render.setLight(plnp)
- self.poseX = self.pose.getX()
- self.poseY = self.pose.getY()
- self.poseZ = self.pose.getZ()
- self.accept('d',keyUpdate, ["MoveRight",True])
- #self.accept('a-up',keyUpdate)
- # Define a procedure to move the camera.
- def spinCameraTask(self, task):
- self.camera.setPos(self.poseX-0, self.poseY-20, 20)
- self.camera.setHpr(0,-40,0)
- #angleDegrees = task.time * 60.0
- #angleRadians = angleDegrees * (pi / 180.0)
- #self.camera.setPos(20 * sin(angleRadians), -20.0 * cos(angleRadians), 3)
- #self.camera.setHpr(angleDegrees, 0, 0)
- return Task.cont
- def movePoseTask(self, task):
- if MoveRight == True:
- self.prevZPose += 10
- MoveLeft = False
- elif MoveLeft == True:
- self.prevZPose -= 10
- MoveRight = False
- else:
- MoveRight = False
- MoveLeft = False
- self.pose.setHpr(self.prevZPose,0,0)
- return Task.cont
- def poseMove(self, task):
- #self.pose.setPos(self.prevXPos,0,0)
- #self.prevXPos += 1
- return Task.cont
- def keyUpdate(self,key,state):
- self.keyPress[key] = state
- app = MyApp()
- app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement