本文介绍如何用开源的Irrlicht游戏引擎,开发类似cooliris界面的本地图片浏览器,并提供完整的源文件以供参考和进一步开发。您需要具备一定的C++编程基础,了解VS2005编程环境,最好对界面设计也有一定的兴趣。至于3D和游戏编程知识,大概都不需要,因为我也是从零开始。
cooliris的风行,代表的不仅仅是一种浏览方式,更代表了在网络环境中,传统编程语言的强大活力和无限可能。在一切开始之前,先从www.cooliris.com下载cooliris插件,感受感受被誉为超现代浏览方式,要不你怎么知道自己在看什么呢?我们的目标是一个类似的用户界面,用于浏览本地图片。最终效果与cooliris非常相似,见下图:
它只能用于浏览本地文件。于是我们还要实现一个本地文件夹浏览界面,如下图:
作为开发人员,从中得到的几点开发要素:
(1) 3D 图片和视频载入;
(2) 3D 用户交互;
(3) 2D 用户交互;
(4) 网络接口;
(5) 多线程载入机制。
我的课余时间较少,只介绍用户界面的实现,即前三个要素,也不提供视频的支持。当然,如果您看完本文,有意进一步开发,我也提供了一些进一步支持视频的技术实现方法。
内容比较丰富,大致分为以下几部分:
(一)概述和准备工作
(二)创建3Dwall
(三)让3Dwall动起来
(四)感受irrlicht的GUI
(五)让GUI动起来
各部分内容都将以简单直观的方式叙述,配以足够的图片和完整的源文件。下面就开始准备工作吧。
这部分还不涉及任何代码,还只是比较枯燥的准备工作。编程是个精细活,很微小的失误都可能会浪费大量的时间去调试。认真做好准备工作,熟悉开发环境,对于提高编程效率和加深理解很有好处。
我的开发环境为windows xp,VS2005和DirectX 9.0,并用fireworks做些简单的界面编辑。由于采用的Irrlicht 3D引擎和其它类库都是跨平台的,也完全可以在*nix下开发。这里只介绍windows平台下的开发。
(1) 安装VS 2005
(2) 下载Irrlicht SDK 1.5
官方下载页 http://irrlicht.sourceforge.net/downloads.html
(3) 下载freetype2,用于扩展Irrlicht支持中文。
官方下载页:http://freetype.sourceforge.net/download.html
(4) 下载zlib,Irrlicht依赖于此库。
官方下载页:http://www.zlib.net/
您也可以和我一样,选择为windows平台预编译好的二进制文件:
Irrlicht-1.5.zip http://downloads.sourceforge.net/irrlicht/irrlicht-1.5.zip
Freetype-2.3.5-1-bin.zip http://gnuwin32.sourceforge.net/downlinks/freetype-bin-zip.php
Zlib123.zip http://www.zlib.net/zlib123-dll.zip
先取个名,就叫myris吧。将Irrlicht 和 freetype都解压到myris的lib目录中。目录结构如下图:
用VS新建空工程,取名开发代码为era。
点击项目属性页,添加include目录,lib目录和lib,如下面三幅图所示。为了方便调试,把freetype6.dll zlib1.dll 和 irrlicht.dll都复制到运行目录下,如myris/era/era目录下。
添加include目录
添加lib目录
添加lib