有感于下面这句话(来自AgileChina论坛有关程序员职业规划的讨论(Jacky Huang))。
一个人的成功,15%来自他的专业技术,75%来自于他的思维和性格,10%来自于机遇。
虽然下面Jeff Xiong做了一些批驳,但是某些情况下我大致同意上面这句话。一方面上面所指的成功因素的比例跟时间分配上的比例完全是不可比的,另一方面,专业技术的发展与性格和思维根本就是分不开的。但其实另外那75%里的思维和性格,同样决定了技术上是否能有所成绩。每个人的目标和志向不同,性格和习惯也不同,不是一句话能概括得了的。(Updated at Nov 30th)
本文译自 orx tutorials 的对象(object)。phpxer 译,九天雁翎 (博客)修订。最新版本见Orx官方中文Wiki。
Object (对象)教程
总结
由于orx是数据驱动的,我们只需要两行代码创建一个viewport(视口)和一个object。它们的所有属性都定义在配置文件(01_Object.ini)中。
Viewport关联到一个按照配置文件中的信息隐含创建的camera(摄像头)。在配置文件里,你还可以设置它们的大小,坐标,对象的颜色,缩放,旋转,动画,物理属性等等。你甚至无需增加一行代码就可以让任何的配置获得随机值。
在后面的一个示例中我们将看到如何使用一行代码生成复杂的object体系甚至整个 scene(场景)(所有的背景对象和普通对象)。
现在,你可以尝试取消01_Object.ini中某些行的注释,自己尝试一下,然后再继续学习这个教程。完整的选项列表请查看CreationTemplate.ini。
详细说明
创建一个object是相当简单的。不过,我们首先需确保已经加载了定义了所有object(对象)的属性的配置文件。我们还要通过viewport/camera组合显示创建好的object(对象)。
不要慌张!所有这些都很容易。
在这篇教程中,我们将加载一个位于父目录中的配置文件。正如你可能想到的,在所有的可执行程序都根据其构建类别(mingw, msvs2005, msvs2008, 等)位于各自的子目录的情况下,我们不打算在每个地方重复同样的配置文件。1)
在我们的例子中,加载配置文件使用类似下面这行代码的方式实现:
orxConfig_Load(”../01_Object.ini”);
然后我们创建viewport(视口)。注意 camera的创建是按照为这个viewport预置的配置信息自动完成的。
orxViewport_CreateFromConfig(”Viewport”);
我们差不多完成了。现在我们只需要创建 object!
orxObject_CreateFromConfig(”Object”);
就这样了!object(对象)已经创建,并且由于在camera的视觉平截体(frustum)内,将会被显示出来。
现在,因为我们使用Orx默认的启动器,我们需要申明我们的插件入口点(这里是我们的Init函数)。这可以使用一个宏很容易地实现。
orxSTATUS Init(){...}
orxPLUGIN_DECLARE_ENTRY_POINT(Init);
因为orx是数据驱动的,我们不需要手动加载任何数据,例如一个sprite(精灵)。一切都由数据管理器为我们搞定,它会确保sprites不在内存中重复并在其不再使用时自动释放的
如果你查看配置文件,在[Object]这一节,你将看到你可以设定所有的对象属性,例如 graphic (sprite),锚点,颜色,透明度,物理属性,坐标,旋转,缩放,tiling(平铺)(重复),动画,视觉特效,等等。
不要担心,这一切都将在后面的教程中讲到。
现在我们拥有了一个object(对象),我们需要学习如何与之交互。这将我们带入第二个教程:clock.
资源
-
源代码: 01_Object.c
- 配置文件: 01_Object.ini
1) 不过,如果你的配置文件名字与可执行文件匹配并且在同一个文件夹下,它将被自动加载。
本文译自 orx tutorials 的首页(main)。phpxer 译,九天雁翎 (博客)修订。最新版本见Orx官方Wiki中文教程。
教程
本教程主要包含Orx的基础和高级教程。Orx 是一个开源、跨平台、轻量级、数据驱动的2D游戏引擎。
安装
这些教程演示了如何设置不同的编程环境(IDE)来运行orx1)。
本节将要介绍orx的基础知识。
你可以从这里下载Windows(mingw, msvs2005 & msvs2008). Linux 和 MacOS X下的可执行文件(包括项目文件,数据和源码)。
前九个基础教程(#1 – #9)使用默认的orx启动程序为基础(underlying layer),这样易于快速测试/制作原型2。
它们被编译成运行时加载(在命令行3) 上 或配置文件中指定它们的名字)的动态连接库。
此外,下面的内容 4) 解释了哪些行为是由默认的orx.exe/orx 启动程序提供的。
这是一个基础的C教程。
由于我们在本教程中使用默认的可执行文件,下面的代码将以插件的方式加载和执行。
另外,一些基础设施有主执行文件为我们处理。
首先,它会加载所有可用的插件和模块。如果你只 需要其中的一些,最好编写你自己的可执行文件而不是插件。这部分包含在后面的教程中。
主执行文件还处理下面这些键盘输入:
* F11 是纵向对齐切换
* Escape 退出
* F12 截屏
* 退格键(Backspace) 重新载入全部配置文件
如果有 orxSYSTEM_EVENT_CLOSE事件发生,程序也会退出。
不过,如果使用 orx作为传统库构建你自己的可执行文件当然也是可以的(也很容易做到)。在教程 #10(使用C++编写) 和 教程 #11 (使用 C编写)。教程 #10 还演示了如何使用orx编写C++代码5)。 同样地,你可以用任何可与C连接的语言编写程序。
在将来的发布中将会为某些常见语言提供封装。如果你想编写这种封装库,为orx做贡献,请通过论坛联系我们。
当前提供的基础教程列表:
- [C] object
- [C] clock
- [C] frame
- [C] animation
- [C] viewport & camera
- [C] sound & music
- [C] fx
- [C] physics
- [C] scrolling
- [C++] stand alone & localization
- [C] spawner & shader
下面这些教程由社区创建,它们是了解如何使用 orx的不错的资源,可以在这里寻找到对一些简单问题的解答。
1) 所有的IDE都是免费可以从英特网上下载的。
2) one line for the whole initialization, no main function to write, no loop to handle
用一行代码完成初始化,不需要写main函数, 没有循环要处理
3) 另提供了 .bat/.sh 脚本方便启动所有示例
4) 你将在在所有教程的源文件的开始处看到这些内容
5) Orx本身使用C编写
Recent Comments