Home >> Python >> Panda3D Keyboard/Mouse Input


■ユーザからのキーボード・マウス入力

☆キーボード入力

	"escape", "f"+"1-12" (e.g. "f1","f2",..."f12"), "print_screen" "scroll_lock"
	"backspace", "insert", "home", "page_up", "num_lock"
	"tab",  "delete", "end", "page_down"
	"caps_lock", "enter", "arrow_left", "arrow_up", "arrow_down", "arrow_right"
	"shift", "lshift", "rshift",
	"control", "alt", "lcontrol", "lalt", "space", "ralt", "rcontrol"
	
from direct.showbase.ShowBase import ShowBase
from direct.showbase.Loader import Loader
from panda3d.core import *
import math

base = ShowBase( )
loader = Loader( base )
model = loader.loadModel( "cube2.dae" )
model.reparentTo( render )
model.setPos( 0, 10, -1 ) 
model.setHpr( -90, 0, 0 )
model.setScale( 0.8 )

plight = PointLight('plight')
plight.setColor(VBase4(0.8, 0.8, 0.8, 1))
plnp = render.attachNewNode(plight)
plnp.setPos(0, 5, 3)
render.setLight(plnp)

# keyboard handlers

def upkey( ): model.setZ( model.getZ( ) + 1 )
def downkey( ): model.setZ( model.getZ( ) - 1 )   
def rightkey( ): model.setX( model.getX( ) + 1 )
def leftkey( ): model.setX( model.getX( ) - 1 )
    
base.accept( "arrow_up", upkey )
base.accept( "arrow_down", downkey )
base.accept( "arrow_right", rightkey )
base.accept( "arrow_left", leftkey )

base.run( )
	
	"shift-a" "shift-control-alt-a" "shift-alt-a"
	"arrow_up-repeat" "k-up" "arrow_up-up"
	

☆マウス入力

	"mouse1"	Mouse Button 1 Pressed
	"mouse2"	Mouse Button 2 Pressed
	"mouse3"	Mouse Button 3 Pressed
	"mouse1-up"	Mouse Button 1 Released
	"mouse2-up"	Mouse Button 2 Released
	"mouse3-up"	Mouse Button 3 Released
	"wheel_up"	Mouse Wheel rolled upwards
	"wheel_down"	Mouse Wheel rolled downwards
	
	base.disableMouse()
	if base.mouseWatcherNode.hasMouse( ):
		x=base.mouseWatcherNode.getMouseX( )
		y=base.mouseWatcherNode.getMouseY( )
	
	mat=Mat4(camera.getMat())
	mat.invertInPlace()
	base.mouseInterfaceNode.setMat(mat)
	base.enableMouse()
	

Panda 3d Animation Python Python 3d Subview