Mouse Examples Set 1
# Getting mouse position and checking the buttons
from pandac.PandaModules import *
from direct.task import *
from direct.showbase import DirectObject
import direct.directbase.DirectStart
import random
from MousePickingManager import *
class World(DirectObject.DirectObject):
def __init__(self):
self.mousemanager = MousePickingManager(self)
taskMgr.add(self.update,"update")
def update(self,task):
# get the current position of the mouse on the screen
mousepos = self.mousemanager.getMouse()
print mousepos
leftbutton = self.mousemanager.getButtonState(0)
print leftbutton
return Task.cont
w=World()
run()
# mouseUp and mouseDown events
from pandac.PandaModules import *
from direct.task import *
from direct.showbase import DirectObject
import direct.directbase.DirectStart
import random
from MousePickingManager import *
class World(DirectObject.DirectObject):
def __init__(self):
self.mousemanager = MousePickingManager(self)
taskMgr.add(self.update,"update")
self.accept ("mouseDown",self.onMouseDown)
self.accept ("mouseUp",self.onMouseUp)
def onMouseDown(self):
print "CLICK"
def onMouseUp(self):
print "RELEASE"
def update(self,task):
# get the current position of the mouse on the screen
mousepos = self.mousemanager.getMouse()
#print mousepos
leftbutton = self.mousemanager.getButtonState(0)
#print leftbutton
return Task.cont
w=World()
run()
# start and stop an animation
from pandac.PandaModules import *
from direct.task import *
from direct.showbase import DirectObject
import direct.directbase.DirectStart
import random
from direct.actor.Actor import Actor
from MousePickingManager import *
class World(DirectObject.DirectObject):
def __init__(self):
self.mousemanager = MousePickingManager(self)
taskMgr.add(self.update,"update")
self.accept ("mouseDown",self.onMouseDown)
self.accept ("mouseUp",self.onMouseUp)
base.setBackgroundColor(.8,.8,.8)
light1 = render.attachNewNode (PointLight("light1"))
render.setLight(light1)
light1.setPos(0,-50,20)
base.disableMouse()
base.cam.setPos(0,-50,10)
self.hair = Actor ("models/hair.egg",{"clip1":"models/hair_anim.egg"})
self.hair.reparentTo(render)
def onMouseDown(self):
self.hair.loop("clip1")
def onMouseUp(self):
self.hair.stop()
def update(self,task):
return Task.cont
w=World()
run()