Skip to content

Instantly share code, notes, and snippets.

@alyssarosenzweig
Created June 25, 2013 20:51
Show Gist options
  • Save alyssarosenzweig/5862261 to your computer and use it in GitHub Desktop.
Save alyssarosenzweig/5862261 to your computer and use it in GitHub Desktop.
Fun with z-fighting :3
from direct.showbase.ShowBase import ShowBase
from panda3d.core import *
from direct.task import Task
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
self.velocity = .1
self.unitMovementVector = Vec3(0, 0, 0)
self.disableMouse()
self.face = self.loader.loadModel("models/smiley");
self.face.reparentTo(self.render)
self.face.setScale(2, 2, 2)
self.face.setPos(0, 0, 0)
self.frown = self.loader.loadModel("models/frowney")
self.frown.reparentTo(self.render)
self.frown.setScale(2, 2, 2)
self.face.setPos(0, .1, 0)
self.camera.setPos(0, -20, 0)
self.camera.lookAt(self.face)
self.accept("arrow_left", self.arrowDown, ["left"] )
self.accept("arrow_right", self.arrowDown, ["right"] )
self.accept("arrow_down", self.arrowDown, ["down"] )
self.accept("arrow_up", self.arrowDown, ["up"] )
self.accept("arrow_left-up", self.arrowUp, ["left"] )
self.accept("arrow_right-up", self.arrowUp, ["right"] )
self.accept("arrow_up-up", self.arrowUp, ["up"] )
self.accept("arrow_down-up", self.arrowUp, ["down"] )
self.taskMgr.add(self.onEnterFrame, "onEnterFrame")
def arrowDown(self, arrow):
if arrow == "left":
self.unitMovementVector.x = -1
if arrow == "right":
self.unitMovementVector.x = 1
if arrow == "down":
self.unitMovementVector.y = 1
if arrow == "up":
self.unitMovementVector.y = -1
def arrowUp(self, arrow):
if arrow == "left" or arrow == "right":
self.unitMovementVector.x = 0
if arrow == "up" or arrow == "down":
self.unitMovementVector.y = 0
def onEnterFrame(self, task):
currPos = self.face.getPos()
currPos += self.unitMovementVector * self.velocity;
self.face.setPos(currPos)
return Task.cont
app = MyApp()
app.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment