panda3d 入门

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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看看里面的源程序。

不过,本着初学者够用就行的态度,咱们就不用深究这些了,只要记住这两句的作用如下:

相关文档
最新文档