Citrus Engine是一个的开源flash平台(platform,也可以说是卷轴类)游戏引擎,它基于Starling Framework添加了各种物理引擎,3D引擎,动画引擎。

Citrus实现了平台游戏的一些基本功能,比如Hero,Anemy,Goal的类似超级玛丽的功能,也实现了Level管理器,Assets管理器,Sound管理器等等。

下面是一个结合Box2d的简单Demo:

创建一个box2d世界,创建地板,墙壁,Hero,Enemy,和Platform,其中没有加入任何位图。

使用flashbuilder或者flashdevelop创建SimpleDemo.as

public class SimpleDemo extends StarlingCitrusEngine
{ public function SimpleDemo()
{
setUpStarling(true);
state = new GameState();
} }

这个就是最简单的Citrus的入口类了。GameState类就是游戏的第一个界面(Starling中通常为一个State类)

public class GameState extends StarlingState
{ public function GameState()
{
super();
} override public function initialize():void {
super.initialize(); var physics:Box2D = new Box2D("box2d");
physics.visible = true;
add(physics); var floor:Platform = new Platform("floor", { x:400, y:575, width:800, height:50 } );
add(floor); floor = new Platform("floor2", { x:550, y:150, width:100, height:40 } );
add(floor); var mf:MovingPlatform = new MovingPlatform("mp1", { x:150, y:500, width:100, height:40, startX:150, startY:500, endX:350, endY:200 } );
add(mf); var hero:Hero = new Hero("hero", { x:500, y:300, width:30, height:50, leftBound:25, rightBound:775 } );
hero.maxVelocity = 1.2; add(hero); var enemy:Enemy = new Enemy("enemy", { x:400, y:400, width:50, height:50, leftBound:25, rightBound:775 } );
add(enemy); var goal:Coin = new Coin("goal", { x:600, y: 110, width:40, height:40 } );
goal.onBeginContact.add(function(c:b2Contact):void {
trace("win");
});
add(goal); } }

这上面首先创建并添加box2d物理世界,然后创建一些platform以免hero直接落入万丈深渊,之后创建hero和enemy,anemy是可以在leftbound和rightbound之间来回移动的,最后还创建了一个Goal, goal表示得分点或者目标地, hero触碰到goal可以有一些事件可以触发,同时goal对象也会消失。其中MovingPlatform是创建一个移动的地板,可以升降,同时也可以左右移动。

citrus中创建citrus 对象的方式大都是 new Object(name, params) , params参数就用{key:value,...}的方式创建。

Citrus Engine简单Demo的更多相关文章

  1. 设计模式之单例模式的简单demo

    /* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...

  2. Spring的简单demo

    ---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...

  3. 使用Spring缓存的简单Demo

    使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...

  4. Managed DirectX中的DirectShow应用(简单Demo及源码)

    阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...

  5. angular实现了一个简单demo,angular-weibo-favorites

    前面必须说一段 帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目.最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用 ...

  6. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  7. 二维码简单Demo

    二维码简单Demo 一.视图 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...

  8. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

  9. Ext简单demo示例

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

随机推荐

  1. JavaScript 累加求和练习

    输入一个数,求从1加到这个数的和 主要代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...

  2. php 利用迭代器遍历文件夹

    1.遍历文件夹 scandir 2.原生的迭代器Iterrate $scan_dir = "txtDir"; //下面会遍历txtDir 下面所有字文件夹中的文件哦 $dir_it ...

  3. js indexOf within Switch

    https://stackoverflow.com/questions/22277447/indexof-within-switch switch (true) { case (msgRes.inde ...

  4. 正向工程configuration配置连接

    在执行正向工程的时候需要用到这个关键词里面的configure();方法, 这个方法有好几个重构, 都是参数不一样的, 也可以空着不写, 不写的话就会默认去找hibernate.cfg.xml这个文件 ...

  5. LuoguP1032 字符变换(BFS)

    题目链接为:https://www.luogu.org/problemnew/show/P1032 思路:看到数据比较小,而且最多有6个规则,就可以用搜索去做了,我用的BFS,大体思路如下: 定义结构 ...

  6. CNN、RNN、DNN

    一:神经网络 技术起源于上世纪五.六十年代,当时叫感知机(perceptron),包含有输入层.输出层和一个隐藏层.输入的特征向量通过隐藏层变换到达输出层,由输出层得到分类结果.但早期的单层感知机存在 ...

  7. Factorial Trailing Zeroes (Divide-and-Conquer)

    QUESTION Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should ...

  8. Android Studio和SDK下载、安装和环境变量配置

    win10下Android Studio和SDK下载.安装和环境变量配置                                                               - ...

  9. ftp使用(图文详解)

    41,准备: FileZilla_Server-v0.9.41.rar 2.安装,可以全部默认下一步 这里装在了E盘 3安装成功添加用户 添加用户名yanan 选择share folders选择要共享 ...

  10. Future设计模式

    一.什么是Future模型: Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用.这类似我们网上订餐订座,只要一个电话,客服就告诉我们已经预定成功(实际客服MM啥都还没做好) ...