Panda3D 获取鼠标位置Panda3D任务管理器
Posted bcbobo21cn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Panda3D 获取鼠标位置Panda3D任务管理器相关的知识,希望对你有一定的参考价值。
看一下Panda3D Bump-Mapping示例;
运行起来是一个鼠标控制模型的例子;
它的Bump-Mapping是模型表面两种不同的效果;先不管;
它的房子模型单独用pview看一下如下;
先看一下鼠标控制相关代码;做一个小程序如下;获取鼠标位置,然后输出;
from math import pi, sin, cos
from direct.showbase.ShowBase import ShowBase
from direct.task import Task
from panda3d.core import Point3
from panda3d.core import Fog
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
md = base.win.getPointer(0)
x = md.getX()
y = md.getY()
print x
print y
app = MyApp()
app.run()
运行如下;输出了鼠标位置;但只输出了一次;
鼠标移动控制模型是如何实现的?看代码没有类似mousemove事件的东西;
根据它的手册,有一些内建的全局变量,
builtins.taskMgr (Python data, in Built-in Global Variables)
taskMgr是一个内建全局变量;taskMgr.add()指定一个被调用函数,
它的示例代码的函数是这样;
def controlCamera(self, task):
md = base.win.getPointer(0)
x = md.getX()
y = md.getY()
。。。。。。
self.last = task.time
return Task.cont
根据手册,
Task.cont
Perform the task again next frame;
重复执行任务,在下一帧;
就是每帧调用指定的函数;下回继续;
以上是关于Panda3D 获取鼠标位置Panda3D任务管理器的主要内容,如果未能解决你的问题,请参考以下文章