当前位置:编程学习 > wap >>

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,否则强退。

 

补充:移动开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,