转载 AS3.0关于舞台缩放问题 as3设置舞台大小

原文地址:AS3.0关于舞台缩放问题作者:银色的小豆豆

使用stage.scaleMode属性可以控制影片适应播放器,包括缩放。当播放器的尺寸变化时,有不同的缩放模式控制影片的缩放。

后面的静态属性:EXACT_FIT, NO_BORDER, NO_SCALE,和SHOW_ALL定义flash.display.StageScaleMode类中。

flash播放器默认的缩放showAll模式。这种模式下,flash影片会在影片的初始比例缩放以适应播放器的尺寸。如果播放器的外观比例和影片的外观比例不一致会使影片出现边框。在主要的程序中设置影片为showAll模式格式如下(不要忘记置入flash.display.StageScaleMode类)
stage.scaleMode = StageScaleMode.SHOW_ALL;
注意stage不是一个全局对象,而是任何一个可视化对象的一个属性,因此这个语句仅仅适用于sprite或可视化类的扩展类。
noBorder模式缩放影片适应播放器会保持原来的外观比例;当然,它会强制播放器显示没有边框的场景。如果播放器的外观比例和影片比例不一致,在边缘的影片的一部分会被切割掉。设置影片为noBorder模式:
stage.scaleMode = StageScaleMode.NO_BORDER;
exactFit模式缩放影片适应播放器,它会改变影片的外观比例,如果必须,会匹配播放器。结果是影片总是恰好充满播放器,但是影片的元素可能会变形:
stage.scaleMode = StageScaleMode.EXACT_FIT;
在noScale模式中影片不能缩放,它会保持原来的尺寸和外观比例而不管场景的尺寸。使用noScale模式不要忘记设置影片的对齐排列。
stage.scaleMode = StageScaleMode.NO_SCALE;
scaleMode属性的值不会阻止用户通过右键菜单缩放影片。然而,你可以关闭菜单中的那些选项。

用system.capabilities对象的screenResolutionX和screenResolutionY属性可以得知影片运行的显示设置。
你可以利用flash.system.Capabilities对象确定正在运行影片的设备的显示设置。screenResolutionX和 screenResolutionY 属性返回显示的像素。

利用这些值决定如何显示一个影片,或载入哪一个影片。这些判定对于许多支持flashplayer的手持设备日益重要。比如,手机的荧屏尺寸和电脑的桌面显示是不同的,因此需要根据播放设备载入不同的内容。

var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;
var myUrl:String;
var myLoader:Loader=new Loader();

// If the resolution is 240 x 320 or less, then load thePocketPC
[转载]AS3.0关于舞台缩放问题 as3设置舞台大小
// movie version. Otherwise, assume the device is a desktopcomputer
// and load the regular content.
if ( (resX <= 240)&& (resY <= 320) ){
myUrl = "main_pocketPC.swf";
}
else {
myUrl= "main_desktop.swf";
}
myLoader.load(new URLRequest(myUrl));

this.addChild(myLoader);
trace(flash.system.Capabilities.screenResolutionX);
trace(flash.system.Capabilities.screenResolutionY);
另外,还可以通过调整影片大小,移动舞台内的显示内容

import caurina.transitions.Tweener;//导入缓动类

//var resX:int = flash.system.Capabilities.screenResolutionX;
var resY:int = flash.system.Capabilities.screenResolutionY;

// Set variables for the width and height of the new browserwindow.
//var winW:int = 100;
var winH:int = 100;

// Determine the X and Y values to center the window.
//var winX:int = (resX / 2) - (winW / 2);
var winY:int = (resY / 2) - (winH / 2);


stage.addEventListener(Event.RESIZE, resizeHandler);
function resizeHandler(event:Event):void
{
if (stage.stageHeight < 550)
{
if (stage.stageHeight< 500 &&stage.stageHeight > 400)
{

Tweener.addTween(this.mc1,{y:(resY/ 2) - (winH / 2)+300,time:2});
}

}
else if (stage.stageHeight >=550)
{
////当舞台超过780时的导航位置;
Tweener.addTween(this.mc1,{y:0,time:1});
}
}

  

爱华网本文地址 » http://www.413yy.cn/a/25101012/105355.html

更多阅读

青岛商务局关于外资企业热点问题答复 青岛市市南区商务局

青岛商务局关于外资企业热点问题答复1、问:自2014年3月1日起,新修订的《公司法》和《注册资本登记制度改革方案》开始实施。同时,根据《国务院关于废止和修改部分行政法规的决定》(国务院令第648号),与利用外资有关的《中外合资经营企业

关于国籍法冲突若干问题的公约 安全公约2.0问题

【标题】关于国籍法冲突若干问题的公约* 1930年4月12日订于海牙  【正文】德国总统,奥地利共和国联邦总统,比利时国王陛下,大不列颠爱尔兰和海外领地国王兼印度皇帝陛下,智利共和国总统,旧中国政府主席,哥伦比亚共和国总统,古巴共和国总

MyEclipse 6.0.1 注册码 到期问题 - myeclipse6.5注册码

MyEclipse 6.0.1 注册码 到期问题关键字: myeclipse 注册码以前用的MyEclipse 6.0.1 注册码,今天打开Eclipse提示MyEclipse还能用30天,到20091021就到期了。后来点开来一看发现确实如此,如下所示:Subscriber: administratorCode: nLR7ZL

声明:《转载 AS3.0关于舞台缩放问题 as3设置舞台大小》为网友高傲的存活分享!如侵犯到您的合法权益请联系我们删除