FLEX和Actionscript开发FLASH游戏 10-4
2010年12月09日
使用FLEX和Actionscript开发FLASH 游戏-平铺式背景渲染
Level.as
package
{
import flash.events.*;
import flash.geom.*;
import flash.media.*;
import flash.net.*;
import flash.utils.*;
import mx.core.*;
public class Level
{
protected static var instance:Level=null;
protected static const TimeBetweenLevelElements:Number=2;
protected static const TimeBetweenClouds:Number=2.5;
protected static const TimeToLevelEnd:Number=2;
protected var nextDefinition:Array=null;
protected var levelID:int=0;
protected var totalTime:Number=0;
protected var timeToNextCloud:Number=0;
protected var timeToLevelEnd:Numbder=0;
protected var backgroundMusic:SoundChannel=null;
public var levelEnd:Boolean=false;
static public function get Instance():Level
{
if(instance==null)
instance=new Level();
return instance;
}
public function Levle()
{
}
public function startup(levelID:int):void
{
new Player().startupPlayer();
timeToLevelEnd=TimeToLevelEnd;
levelEnd=false;
backgoundMusic=ResourceManager.Track1FX.play(0,int .MAX_VALUE);
this.totalTime=0;
this.levelID=levelID;
nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,0);
var tileDefinition:TiledBackgroundDefinition=LevelDefi nitions.Instance.levelTileMaps[levelID] as
TiledBackgroundDefinition;
if(tileDefinition!=null)
(TileBackground.pool.ItemFromPool as TiledBackground).startupTiledBackground(tileDefini tion);
}
public function shutdown():void
{
backgroundMusic.stop();
backgroundMusic=null;
}
public function enterFrame(dt:Number):void
{
totalTime+=dt;
if(nextDefinitions==null)
{
if(Enemy.pool.NumberOfActiveObjects==0)
levelEnd=true;
}
else { var nextLevelDefTime:Number=(nextDefinitions[0] as LevelDefinitionElement).time; if(totalTime>=nextLevelDefTime) { for each(var levelDefElement:LevelDefinitionElement in nextDefinitions) levelDefElement.func(); nextDefinitions=LevelDefinitions.Instance.getNextL evelDefinitionElements(levelID,nextLevelDefTime); } } //add cloud timeToNextCloud-=dt; if(timeToNextCloud<=dt) { timeToNextCloud=TimeBetweenClouds; var cloudBackgroundLevelElement:BackgroundLevelElement =BackgroundLevelElement.pool.ItemFromPool as BackgroundLevelElement; cloudBackgroundLevelElement.startupBackgroundLevel Element( ResourceManager.CloudGraphics, new Point(Math.random()*Application.application.width, -ResourceManager.CloudGraphics.bitmap.height), ZOrders.CLOUDSBELOWAORDER, 75); } if(levelEnd) { timeToLevelEnd-=dt; var scale:Number=timeToLevelEnd/TimeToLevelEnd; if(scale<0)scale=0; var transform:SoundTransform=backgroundMusic.soundTran sform; transform.volume=scale; backgroundMusic.soundTransform=transform; } if(timeToLevelEnd<=0) Application.application.currentState="LevelEnd"; } } } 正如你能见到的我们删除了所有原来用来随机生成BackgroundLevelElement的代码,增加了三行代码来生成新的TiledBackground类。
通过增加了绘制平铺式背景的功能,我们得到了一种方法来生成一个好看的级别,且不用花太多存储空间。再次感谢有免费的可用的地图编辑工具和背景覆盖块集使得生成这些级别变得相当容易,就即便是你没有很多艺术能力。
在http://flexfighters.sourceforge.net/flexfighters10 .html处可查看最终效果,从https://sourceforge.net/project/showfiles.php?grou p_id=241490&package_id=293860&release_id=635625处可下载资源
发表评论
-
解决Delphi截取字符串时遇到半个汉字
2012-07-06 09:52 2064演示程序中主要是用了 IsDBCSLeadByte 这个 ... -
js 学习笔记!
2012-07-06 09:46 6041.在ie 6 中 "//" 注释会 ... -
黑莓开发第三篇:常用UI组件
2012-07-03 13:44 826最低层次的UI 组件 可以处理自身的显示 用于显示各种 ... -
虚拟机随谈:解释器,树遍历解释器,基于栈与基于寄存器,大杂烩
2012-07-02 12:53 808虚拟机随谈:解释器,树遍历解释器,基于栈与基于寄存器, ... -
关于flexigrid一点用法
2012-07-02 12:52 585闲来无事在网上找了一个jquery的grid插件 flex ... -
如何使用registerClassAlias来解决module中使用RemoteObject---第一次访问正常、第二次出错
2012-07-02 12:52 586问题:今天我在Flex的module中使用RemoteOb ... -
超级面板皮肤及其使用
2012-07-02 12:52 670画出类似于遨游那样的最大化,最小化,关闭,还原按钮的皮肤。 ... -
flex 弹出的titleWindow 隐藏标题栏
2012-07-02 12:52 1777showTopPanelTitle.titleDispla ... -
Flex中调用FileReference.download()方法的限制【已解决】
2012-07-01 10:19 1970[2011-04-21 02:11:24] 问题解决。原因 ... -
Flex自定义鼠标右键
2012-07-01 10:19 794这里写了一个简单的自定义鼠标右键,代码不难,请看注释 ... -
Flex右键菜单扫盲
2012-07-01 10:18 938怎么添加右键?在 Flex 中,只有应用程序中的顶层组件才 ... -
整合Flash Builder4.0+MyEclipse 8.6+BlazeDS+Sping 3.0+Hibernate3.3+MySQL5.5+Tomcat+JDK1.6
2012-07-01 10:18 886,设置好环境变量。 Tomcat 6.0。 去官方下 ... -
走在网页游戏开发的路上(一)
2012-06-30 16:45 717走在网页游戏开发的路 ... -
2011-10-18
2012-06-30 16:45 6592011-10-18 2011年10月18日 ... -
文启领航教育:“内幕大公开”
2012-06-30 16:45 3文启领航教育:“内幕大 ... -
2011-11-24
2012-06-30 16:45 6972011-11-24 2011年11月24日 大型多人在 ...
相关推荐
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏3-1
使用FLEX 和 Actionscript 开发FLASH 游戏8-1
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX和Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
使用FLEX 和 Actionscript 开发FLASH 游戏
FLEX和Actionscript开发FLASH游戏的中文文档,内容和详细 希望对你有用~
使用FLEX 和 Actionscript开发FLASH 游戏(一)
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX 和 Actionscript开发FLASH 游戏
使用FLEX和 Actionscript 开发FLASH游戏