Advertisement
Guest User

Untitled

a guest
May 28th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. from math import pi, sin, cos
  2. from direct.showbase.ShowBase import ShowBase
  3. from direct.task import Task
  4. from direct.actor.Actor import Actor
  5. import direct.directbase.DirectStart
  6. from pandac.PandaModules import *
  7.  
  8. class MyApp(ShowBase):
  9.  
  10. def __init__(self):
  11. ShowBase.__init__(self)
  12.  
  13. keyPress = {'MoveLeft': False, 'MoveRight': False}
  14. self.prevZPose = 0
  15. self.prevXPos = 0
  16. # Load the environment model.
  17. self.environ = self.loader.loadModel("models/environment")
  18. # Reparent the model to render.
  19. self.environ.reparentTo(self.render)
  20. # Apply scale and position transforms on the model.
  21. self.environ.setScale(0.25, 0.25, 0.25)
  22. self.environ.setPos(-8, 42, 0)
  23. self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
  24. self.taskMgr.add(self.movePoseTask, "MovePoseTask")
  25. self.pose = self.loader.loadModel("/c/Panda3dProjects/pose.egg")
  26.  
  27. self.pose.setScale(0.10, 0.10, 0.10)
  28. self.pose.setPos(0, 0, 0)
  29. self.pose.reparentTo(self.render)
  30.  
  31. plight = PointLight('plight')
  32. plight.setColor(VBase4(5, 5 , 5, 1))
  33. plnp = render.attachNewNode(plight)
  34. plnp.setPos(0, 0, 20)
  35. self.render.setLight(plnp)
  36.  
  37. self.poseX = self.pose.getX()
  38. self.poseY = self.pose.getY()
  39. self.poseZ = self.pose.getZ()
  40.  
  41. self.accept('d',keyUpdate, ["MoveRight",True])
  42. #self.accept('a-up',keyUpdate)
  43.  
  44.  
  45.  
  46. # Define a procedure to move the camera.
  47. def spinCameraTask(self, task):
  48.  
  49.  
  50. self.camera.setPos(self.poseX-0, self.poseY-20, 20)
  51. self.camera.setHpr(0,-40,0)
  52. #angleDegrees = task.time * 60.0
  53. #angleRadians = angleDegrees * (pi / 180.0)
  54. #self.camera.setPos(20 * sin(angleRadians), -20.0 * cos(angleRadians), 3)
  55. #self.camera.setHpr(angleDegrees, 0, 0)
  56. return Task.cont
  57.  
  58. def movePoseTask(self, task):
  59. if MoveRight == True:
  60. self.prevZPose += 10
  61. MoveLeft = False
  62. elif MoveLeft == True:
  63. self.prevZPose -= 10
  64. MoveRight = False
  65. else:
  66. MoveRight = False
  67. MoveLeft = False
  68. self.pose.setHpr(self.prevZPose,0,0)
  69. return Task.cont
  70. def poseMove(self, task):
  71. #self.pose.setPos(self.prevXPos,0,0)
  72. #self.prevXPos += 1
  73. return Task.cont
  74.  
  75. def keyUpdate(self,key,state):
  76. self.keyPress[key] = state
  77. app = MyApp()
  78. app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement