ClanLib中文翻译HelloWorld版

来源:互联网 发布:下载工具 知乎 编辑:程序博客网 时间:2024/05/18 01:09

[[index.html]]
ClanLib – 文档
下面这些内容将会帮助你理解和使用ClanLib

ClanLib 概述
描述ClanLib中的各种组件以及如何使用他们
ClanLib 参考
陈列出所有的类以及他们的成员函数,在这里你可以了解到你所寻找类的详细信息
ClanLib 教程
一步一步带你进入ClanLib的世界
ClanLib FAQ
编译和使用ClanLib过程中,最常见的问题

[[Overview/index.html]]
ClanLib – 概述
这个概述涉及了ClanLib的许多组件、类和接口。如果你想对ClanLib有一个全局的了解,强烈推荐你从头到尾阅读这篇文章。

ClanLib是一个游戏SDK,从很多方面来帮助你更容易的开发自己的游戏。它所包括的API有,2D图形库,3D图形库,声音,网络,I/O, 输入,GUI和资源管理。ClanLib通过自身集成和第三方库辅助来提供对很多种常见图片格式的支持,并且对OpenGL进行了透明封装,你可以在使用OpenGL的同时,把除了3D图形处理外的,诸如窗口管理,声音,网络等一个好的3D游戏所需要的事情全交由ClanLib来处理。

我们假定的你具有这些能力,熟悉C++,基本的游戏编程技能。如果你刚刚开始编写游戏,或许去一些游戏编程的介绍性站点浏览浏览,对你有很大的帮助。

如果你发现这个文档遗漏了某些东西,请在和你所寻找的信息相关的页面上添加注释,我们将会及时地检查并更新它。

开始吧
编写所有ClanLib应用程序所必须的 基本代码。
Display 概述
显示组件的概要描述
Input 概述
获得游戏者的动作信息
Resource
学习使用资源系统
Sound概述
播放声音
Signal & Slots 概述
使用强大的组件编程体系
Sprites 概述
如何创建 动画 (NEED TEXT)
Font 概述
学习如果创建和使用字体
装载图画概述
描述如何装载图画(和Display概述 重复,要被移除??)
OpenGL 概述
在ClanLib中使用OpenGL
GUI 概述
让你得游戏可以很容易的创建GUI界面
GUI 主题/样式 的创建
定制自己的GUI界面主题
GUI XML 的创建
使用XML来定义GUI界面
NetWork 概述
容易而强大的网络接口
智能指针
ClanLib提供的智能指针
Post-Mortem 调试
利用ClanLib的调试类来帮助寻找程序崩溃的地方
基本资源类型
创建Boolean,integer,float,string和raw类型的资源
Font资源类型
创建Font资源
Sprite 资源类型
创建动画类型资源
Surface 资源类型
创建surface资源
提示和窍门
各种课题中的技巧
碰撞检测
很容易的进行高级碰撞检测
自定义资源类型
创建自定义的资源类型

[[Overview/getting_started.html]]
开始使用ClanLib
这篇文档展示给你如何使用CL_Application接口来创建一个最基本的ClanLib应用程序,他也解释了为什么你的程序需要这个类的一个全局的实例,以及怎么样来初始化ClanLib的各种子系统/组件。最后告诉你如何输出错误和处理ClanLib中的异常。

CL_ClanApplication 接口
首先,我们来看如何在程序中初始化ClanLib库,其他大部分库的初始化都是在在使用库之前调用init函数,然后在程序末尾处再调用deinit函数,例如:
Void main()
{
 Library_init();
 // run game
 Library_deinit();
}
然后,ClanLib并不使用这种策略,因为,ClanLib可以运行在很多平台上,但是其中一些平台并不是以传统的main来作出初始入口方法。Windows便是一个例子,它使用WinMain函数作为替代。通常ClanLib需要从这些变种的main函数获得调用参数,从而针对不同平台进行特殊的初始化操作。

我们通过在ClanLib封装一个真正的入口函数来解决这个问题,在ClanLib内部初始化完成后才调用ClanLib应用程序。所以,一个ClanLib应用程序的main“函数”,看起来应该这个样子。
#include <ClanLib/core.h>
#include <ClanLib/application.h>

class MyClanLibApplication : public CL_ClanApplication
{
public:
 virtual int main(int argc, char **argv)
 {
  CL_SetupCore setup_init;
  
  // Insert game code here
  
  return 0;
 }
} app;

 

原创粉丝点击