panda3d 入门
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PANDA3D入门
----------古道天马
一、前言
这个是我自学的总结。
因为刚开始看PANDA3D的教程,发现在看天书,静下心来学后,感觉其实是教程不够深入浅出,没有照顾我们这些一点基础都没有的初学者。因此,把我自学的一点心得记录下来,便于自己及他人参考。
学习PANDA3D的目的是编制一个三维的设备管理程序。嫌C#运行效率低下,C++的语言不够简练,看好了PYTHON编程。百度了一下,PYTHON的3D图形库有PYGLET,PANDA3D,BLENDER等,最初是想用BLENDER,但是BELNDER侧重于建模,于我的用途不太符合。改用PYGLET的,看中它也是很简练的库,后来发现PYGLET缺乏维护,教程也少。因此转向PANDA3D,PANDA3D的教程以及维护要完善的多。
但是按网上的说法,学习曲线是比较陡峭的。果然,刚开始时一头雾水,经过查阅官方教程后,又通过自己一点点的实验和摸索,稍微有点头绪了。顺便提一下,我的PYTHON和PANDA3D是同步学的,都在初级阶段。这里侧重写PANDA3D的特点,PYTHON的略微提到些。
注意:这不是手册,很多进阶的东东请查官网手册。
二、安装
我的系统是WIN7 64位,安装PYTHON的2.7.6版本32位版,
https:///ftp/python/2.7.6/python-2.7.6.msi
PANDA3D的1.8.1版本(自带2.7.3版本的PYTHON)。
/download/panda3d-1.8.1/Panda3D-1.8.1.exe
打开“开始”菜单,运行PANDA3D下的范例文件,第一个范例是
ASTEROIDS,小行星。
点击“Run Asteroids”,出现游戏界面
这说明PANDA3D内含的PYTHON2.7.3已经可以运行了。
现在,大家肯定都迫不及待的要看看源代码了吧。
点击View Source Code
出现文件夹
点击Tut-Asteroids.py,结果出现提示没有找到模块,说明你的PYTHON2.7.6还没找到PANDA3D 的模块。那么按下面的方法做。
在C:\Python27\Lib\site-packages的目录下,建一个PANDA.PTH的文件,用写字本添加下列文本(这里的文件路径是默认的,如果你修改过的话,根据实际情况调整)
C:\Panda3D-1.8.1
C:\Panda3D-1.8.1/direct/src/actor
C:\Panda3D-1.8.1/direct/src/cluster
C:\Panda3D-1.8.1/direct/src/controls
C:\Panda3D-1.8.1/direct/src/directbase
C:\Panda3D-1.8.1/direct/src/directdevices
C:\Panda3D-1.8.1/direct/src/directnotify
C:\Panda3D-1.8.1/direct/src/directscripts
C:\Panda3D-1.8.1/direct/src/directtools
C:\Panda3D-1.8.1/direct/src/directutil
C:\Panda3D-1.8.1/direct/src/distributed
C:\Panda3D-1.8.1/direct/src/extensions
C:\Panda3D-1.8.1/direct/src/extensions_native C:\Panda3D-1.8.1/direct/src/ffi
C:\Panda3D-1.8.1/direct/src/fsm
C:\Panda3D-1.8.1/direct/src/gui
C:\Panda3D-1.8.1/direct/src/interval
C:\Panda3D-1.8.1/direct/src/leveleditor
C:\Panda3D-1.8.1/direct/src/motiontrail
C:\Panda3D-1.8.1/direct/src/particles
C:\Panda3D-1.8.1/direct/src/physics
C:\Panda3D-1.8.1/direct/src/pyinst
C:\Panda3D-1.8.1/direct/src/showbase
C:\Panda3D-1.8.1/direct/src/showutil
C:\Panda3D-1.8.1/direct/src/task
C:\Panda3D-1.8.1/direct/src/tkpanels
C:\Panda3D-1.8.1/direct/src/tkwidgets
C:\Panda3D-1.8.1/bin
再次点击Tut-Asteroids.py,看看是否成功运行。
三、正式开始
现在安装工作已经完成,我们可以正式开始了。
右键Tut-Asteroids.py文件,用IDLE打开,我们可以看到源程序,按F5可以调试运行。
不过拿这个源程序作为我们的开端,显然是不合适。
3.1 第一个PANDA程序
现在我们开始编写第一个PANDA3D程序。
第一个程序,当然要简单粗暴些。
新建一个TEST.PY(注:PANDA3D似乎不支持中文目录,所以你的程序不要放在中文目录下),用IDLE编辑(原则上你也可以用其它文本编辑器编辑)
输入以下两行
CTRL-S保存,F5运行(顺便提一下,PYTHON2.7以前的IDLE是不支持右键复制黏贴的,不用快捷键会很蛋疼,2.7的版本是懒人的福音)
出现一个灰色的空窗口,比较简陋些,不过作为第一个程序已经够了。
根据官网的解释,
第一句import direct.directbase.DirectStart,建立ShowBase的实例
第二句run(),循环运行ShowBase实例,监视键盘鼠标输入,并反馈。
(试试:如果删了RUN()会咋样?)
老版本的PANDA的语法是这样写的。
这里的ShowBase是显式的,新的语法里都简化了。有兴趣的话,你可以打开
C:\Panda3D-1.8.1\direct\directbase看看里面的源程序。
不过,本着初学者够用就行的态度,咱们就不用深究这些了,只要记住这两句的作用如下: