Actionscript 3 如何使用缩放对象(MC)用新特性填充背景
我有一个舞台300到200,我所有的对象都是这个维度。还有一个填充背景的模式函数。 但是用户正在考虑调整舞台的大小,比如说1024到480(他从手机切换到平板电脑)。现在平板电脑屏幕上物体的比例是以前的3倍多(在手机上看到时) 如何保存当前的新大小对象并在创建新背景(1024x480)时使用它。 我有这个密码Actionscript 3 如何使用缩放对象(MC)用新特性填充背景,actionscript-3,Actionscript 3,我有一个舞台300到200,我所有的对象都是这个维度。还有一个填充背景的模式函数。 但是用户正在考虑调整舞台的大小,比如说1024到480(他从手机切换到平板电脑)。现在平板电脑屏幕上物体的比例是以前的3倍多(在手机上看到时) 如何保存当前的新大小对象并在创建新背景(1024x480)时使用它。 我有这个密码 public static const GAME_ORG_WIDTH:uint = 300; public static const GAME_ORG_HEIGHT:uint = 200;
public static const GAME_ORG_WIDTH:uint = 300;
public static const GAME_ORG_HEIGHT:uint = 200;
private var myC:MyClip = new MyClip();
public function MainClass_road() {
addEventListener(Event.ADDED, init);
}
public function init(e:Event):void{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, setUpScreen);
}
public function setUpScreen(ev:Event):void{
stage.removeEventListener(Event.RESIZE, setUpScreen);
if(stage.fullScreenHeight > stage.fullScreenWidth){
gameStageWidth = stage.fullScreenWidth;
gameStageHeight = stage.fullScreenHeight;
}else {
gameStageWidth = stage.fullScreenHeight; // 480
gameStageHeight = stage.fullScreenWidth; //1024
}
rescaleRatio = gameStageWidth / GAME_ORG_WIDTH;
//rescale every object, ie:
myC.scaleX = myC.scaleY = rescaleRatio;
//start filling the Background with the pattern
tileBgF();
}
因此,在使用tileBgF()之前,我应该如何保存对象的新尺寸,并使用它们(新值)来使用此函数填充屏幕
public function tileBgF(e:Event=null):void {
var bgClip:MovieClip = new myC();
var i:int = 0;
var j:int = 0;
while (bgClip.x < gameStageWidth - bgClip.width) {
bgClip = MyC;
while (bgClip.y < gameStageHeight - bgClip.height) {
bgClip = MyC;
tileLayer.addChild(bgClip);
bgClip.x = bgClip.width * i;
bgClip.y = bgClip.height * j;
j++;
}
j = 0;
i++;
}
addChildAt(tileLayer,0);
}
公共函数tileBgF(e:Event=null):无效{
var bgClip:MovieClip=new myC();
变量i:int=0;
var j:int=0;
而(bgClip.x
如果我决定在将来再次使用背景(因此我在舞台上同时有两个背景),仅仅制作另一个Tillelayer并再次添加它就足够了,还是我需要做更多的事情
bgClip = new MyClip();
bgClip.scaleX = bgClip.scaleY = scaleRatio
tileLayer.addChild(bgClip);
bgClip.x = bgClip.width * i;
bgClip.y = bgClip.height * j;