Citrus Engine简单Demo
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的更多相关文章
- 设计模式之单例模式的简单demo
/* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...
- Spring的简单demo
---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...
- 使用Spring缓存的简单Demo
使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...
- Managed DirectX中的DirectShow应用(简单Demo及源码)
阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...
- angular实现了一个简单demo,angular-weibo-favorites
前面必须说一段 帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目.最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用 ...
- Solr配置与简单Demo[转]
Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...
- 二维码简单Demo
二维码简单Demo 一.视图 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...
- android JNI 简单demo(2)它JNI demo 写
android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...
- Ext简单demo示例
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
随机推荐
- ReentrantLock synchronized
关于互斥锁: 所谓互斥锁, 指的是一次最多只能有一个线程持有的锁. 在jdk1.5之前, 我们通常使用synchronized机制控制多个线程对共享资源的访问. 而现在, Lock提供了比synchr ...
- PR数量回写重复
- hdoj1010 奇偶剪枝+DFS
Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- x86汇编知识点汇总
目录: 1.进制转换 2.原码.反码.补码 3.寄存器 4.存储器的段结构 5.堆栈 6.传送类指令 7.算术运算类指令(不含乘除) 8.位操作类指令 9.标志位操作指令 10.标识符.常量与变量 1 ...
- 38. Count and Say (String; DP)
The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...
- ECMAScript6新特性之Array API
一 填充数组 var arr = new Array(5); arr.fill('abc',2,4); console.log('Array.prototype.fill',arr); // [und ...
- [leetcode]179. Largest Number最大数
Given a list of non negative integers, arrange them such that they form the largest number. Input: [ ...
- Linux中chown、chmod、chgrp
1.chgrp (转变文件所属用户组) chgrp(转变文件所属用户组)change group chgrp 用户组 文件名 ###便是这个格了.若是整个目次下的都改,则加-R参数用于递归. 如:ch ...
- mvc下ajax请求遇到session超时简单处理方式
转自:http://blog.csdn.net/yeyicsdn/article/details/50032787 参考网址:http://www.cnblogs.com/RachelChen/p/5 ...
- Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程
Socket-IO 系列(三)基于 NIO 的同步非阻塞式编程 缓冲区(Buffer) 用于存储数据 通道(Channel) 用于传输数据 多路复用器(Selector) 用于轮询 Channel 状 ...