文档章节

CitrusEngine系列教程二:结合starling和Box2D开发游戏

clschen
 clschen
发布于 2013/05/05 16:58
字数 1639
阅读 359
收藏 1

教程出自 cls分享站

 

  1. CitrusEngine系列教程一:认识CitrusEngine

  2. CitrusEngine系列教程二:结合starling和Box2D开发游戏

  3. CitrusEngine系列教程三:使用flash cs 设计关卡

  4. CitrusEngine系列教程四:Citrus的2D动画和摄像头

  5. CitrusEngine系列教程五:使用PhysicsEditor创建box2d刚体

  6. CitrusEngine系列教程六:使用Tiled Map Editor创建地图

............................................................................


 

首先脑补一下相关知识吧

Starling是一个ActionScript类库,它模仿了传统的Flash显示列表。然而,和传统的显示对象不同,Starling对象完全存在于Stage3D环境。这意味着,所有的显示对象都直接由GPU渲染,这会带来非常明显的性能提升。=》 Starling中文站

Box2DFlashAS3 是Box2D物理引擎的ActionScript 3.0移植版本。它具有功能强大,效率较高等优点,应用Box2DFlashAS3可以使我们的网站模拟真实世界的物理效果,从而使我们的站点具有非常强的真实感。而我们热心的拉登大叔给我们写过不少 优质教程
这个教程参考官方例子,=》 官方例子演示

最后效果:


http://www.chenlinsheng.com/?p=415 


开始之前,可以下载  CEV3-1-6-Starling-Feathers-Box2D.swc  ,也可以像我一样单独去下载box2d,starling等源码来自己配置折腾…当然,也可以直接下载本文末尾提供的flex项目源码
1.创建主类
在StriusEngine中使用Starling,你必须继承StarlingCitrusEngine类,这个类继承于CitrusEngine(在教程一的时候我们使用的就是这个),主要提供了Starling的简单实现。
为了成功实现Starling,我们需要在构造函数中调用setUpStarling函数,该函数有三个参数debugMode(调试模式),viewport 抗锯齿(默认为1)与anti-aliasing视图大小(默认是舞台大小)。同时需要是运行于Flash player11。
  1. public class Main extends StarlingCitrusEngine {
  2. public function Main() {
  3. setUpStarling(true);
  4. }
  5. }
复制代码


2.创建游戏state
直译为状态,一个state可以是一个关卡,也可以将很多关卡放在一个state。state包含了游戏的逻辑,主类用来管理