AndEngine基础笔记之Engine
下面是Andengie中Engine的一些各类及说明:
Engine:首先我们有最普通的Engine对象,其对于fps(frames per scend)没有任何限制,在不同的机器中,你们注意到不同的游戏运行速度,再或者是两台不同的机器观看相同的电影,并同时开始,运行快的设备会首先播放完毕,而不是同是播放完毕,所以对于硬件要求比较高的游戏,这个可能不是很适合。
FixedStepEngine:这个个比较理想的Engine,因为无论是何种设备,它会强制游戏以一个不变数运行,其原理是以时间为单位更新游戏而不是让设备加快执行代码。其需要我们传递EngineOptions以及一个int变量,int变量定义了游戏每秒钟运行的步数。比如以60步没秒的频率运行:
public Engine onCreateEngine(EngineOptions pEngineOptions){
return new FixedStepEngine(pEngineOptions,60);
}
LimitedFPSEngine:其充许我们设定限制的FPS让Engine运行。如果运行如帧率超过了限定的,Engine会在执行更新前暂停一会。同样其构造需要两个参数,一个EngineOptions,另一个int变量,指定FPS最大值,比如指定最大运行60FPS的Engine。
public Engine onCreateEngine(EngineOptions pEngineOptions){
return new LimitedFPSEngine(pEngineOptions,60);
}
SingleSceneSplitScreenEngine和DoubleSceneSplitScreenEngine:
一般用于创建有两个不同的Cameras的游戏,要么设置单一的Scene,用于单人游戏,要么设置两个Scene,用于双人游戏。
再来说说Resolutions 政策
由于我们的游戏运行平台,从3寸到10.1寸不等,大多的开发者和用户希望游戏能占据整个的屏的宽和高,但是有此时候这些策略我们要谨慎,为了能让场景满足我们开发者的要求。
EngineOptons engineOptions=new EngineOptions(true,ScreenOrientation.LANDSCAPE_FIXED,new FillResolutionPolicy(),mCamera);
下面让我们看看Andengine中有哪些作分辨率的策略。
FillResolutionPolicy:其是比较基础的一种,应用会占满整个长宽,允许我们在全屏的模式下运行,但由于其为了铺满全屏,很可能会有明显的拉伸现象。
FixedResolutionPolicy:其允许我们设置选定的屏幕分辨率,而不管设备屏幕的尺寸或Camera的大小,比如定义一个800*480的分辨率到1280*752的设备上,我们可能看到800*480的游戏画面,而其余部分以黑色块填充。
RatioResolutionPolicy:如果我们希望最到最大的显示效果,并且知个精灵不会失真,即不会被拉伸,那么这是个最好的解决办法。为了能最大的利用屏幕,我们会提前定义一个比例值,其为宽除以高的值。
RelativeResolutionPolicy:允许设定横竖的比例,比如横竖都以1.5倍显示,new RelativeResolutionPlicy(1.5f),当然也可以设定不同的横竖比,new RelativeResolutionPolicy(1.5f,0.5f),但最大不要超过1.8f,否则强退。
补充:移动开发 , 其他 ,