2011-08-19 43 views
1

我正在使用Flash CS5,当我向swf展示我的文件时,我注意到在导出并在Flash播放器中(在我的桌面上)播放它之后,我可以更改窗口大小和场景本身,尽管我已经设置了宽度并且高度尺寸为例如468x60的。如何禁用Flash桌面播放器中Flash场景的大小调整?

所以,坏事是,如果我有些物体从这个区域移动,并且在横幅中我没有看到它们在Flash播放器中,我可以看到所有不好的东西。

是否有一个导出选项设置来禁用此行为或一些动作,所以我的客户端将无法看到“幕后混乱”:)?

我大概可以使用动作删除一些对象,但是如果我有循环背景图像,它必须大于468px在我的情况下3x。

在此先感谢您的任何建议。

回答

2

独立版本的Adobe Flash将调整大小,因为它是一个窗口应用程序。
然而,你可以申请一个468x60的mask到根的DisplayObject

UPD:

var maskMC:MovieClip = _root.createEmptyMovieClip("mask", _root.getNextHighestDepth()); 
maskMC.beginFill(0x000000, 100); 
maskMC.moveTo(0, 0); 
maskMC.lineTo(0, 60); 
maskMC.lineTo(468, 60); 
maskMC.lineTo(468, 0); 
maskMC.lineTo(0, 0); 
_root.setMask(maskMC); 
+0

如何在ActionScript 2中做到这一点? – quackquack

+0

@quackquack - 更新了我的回答 – www0z0k

+0

谢谢,现在正在工作;)。非常感谢。 – quackquack

1

你没有说什么AS版本。

在AS2中,添加到第一帧 Stage.scaleMode =“noscale”;

在AS3 StageScaleMode.NO_SCALE

编辑//并且,你可以设置一个主掩模层

+0

:(不工作我还可以调整我的flash播放器和AI看到物体是从舞台在Stage.scaleMode =“ noscale“;不按我需要的方式工作 – quackquack

+0

当然你可以调整你的flash播放器的大小:)但是如果你需要从外面隐藏对象,你必须添加一个具有舞台大小的遮罩,并在遮罩下添加所有图层。当然,这取决于你的需求 – vectorialpx

0

来到这里,从谷歌搜索,需要的www0z0k's answer的AS3版本。万一别人是在同一条船上,这里是我落得这样做:

var square:Sprite = new Sprite(); 
addChild(square); 
square.graphics.beginFill(0x000000); 
square.graphics.drawRect(0, 0, this.width, this.height); 
square.graphics.endFill(); 
square.x = 0; 
square.y = 0; 
this.mask = square;