CitrusEngine横版游戏开发教程(五)关卡管理

这一节给大家讲解一下Citrus的关卡管理

package box2dstarling {

import starling.utils.AssetManager;
import box2dstarling.ALevel;
import box2dstarling.MyGameData;

import citrus.core.IState;
import citrus.core.starling.StarlingCitrusEngine;
import citrus.utils.LevelManager;

[SWF(frameRate="60")]

public class Main extends StarlingCitrusEngine {

public function Main() {

setUpStarling(true);

gameData = new MyGameData();

levelManager = new LevelManager(ALevel);
levelManager.onLevelChanged.add(_onLevelChanged);
levelManager.levels = gameData.levels;
levelManager.gotoLevel();
}

private function _onLevelChanged(lvl:ALevel):void {

state = lvl;

lvl.lvlEnded.add(_nextLevel);
lvl.restartLevel.add(_restartLevel);
}

private function _nextLevel():void {

levelManager.nextLevel();
}

private function _restartLevel():void {

state = levelManager.currentLevel as IState;
}
}
}

官方提供的Demo源代码

https://github.com/alamboley/Citrus-Engine-Examples/tree/master/src/box2dstarling

Citrus有自带的LoaderManager

citrus.utils.LevelManager提供了关卡管理功能,不过蛋疼的是LevelManager并未提供资源队列加载,以及加载进度读取功能,个人议改造一下这个类,以满足游戏的需求。

转载于:https://www.cnblogs.com/cc523/archive/2013/05/17/3082995.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值