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,...}的方式创建。





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dyyaries

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值