AS3自适应舞台大小变化[Event.RESIZE侦听]
舞台放大元件不变形,那是必须的。只要在第一帧加上一句:stage.scaleMode=StageScaleMode.NO_SCALE 即可不变形。在帮助里可以得到舞台的这个属性更多的解释。
这时,舞台始终是居中显示的。这对我们定位元件达到自适应是一个麻烦,因为X、Y轴的0坐标并不是在显示的最左上角,而是在舞台的左上角。而舞台是居中的,所以当元件的X、Y轴为0时,左上角还会空出一些位置。
我们必须让舞台左上角对齐:stage.align=StageAlign.TOP_LEFT 同样,如果想右上角对齐或右下角对齐,可以查看它的帮助得到更多的信息。
最后把FLASH插入到HTML中,记得宽高都设成100%。 还有HTML的页边距也要设成0。切记!
AS3对舞台的改变有一个侦听事件:Event.RESIZE
当舞台大小发生改变时则触发这个事件。
示例代码: 使A、B、C、D四个矩形的MC使终保持位于浏览器的左上,右上,左下,右下
- //不变形处理
- stage.scaleMode=StageScaleMode.NO_SCALE
- //左上角对齐
- stage.align=StageAlign.TOP_LEFT
- //自定义一个函数来控制四个MC的位置
- function myfunction(){
- //A的位置
- A.x=0
- A.y=0
- //B的位置
- B.x=stage.stageWidth-B.width
- B.y=0
- //C的位置
- C.x=0
- C.y=stage.stageHeight-C.height
- //D的位置
- D.x=stage.stageWidth-D.width
- D.y=stage.stageHeight-D.height
- }
- //对舞台的改变进行侦听
- stage.addEventListener (Event.RESIZE,test);
- function test (e:Event):void {
- //舞台改变时,重新设置MC的位置
- myfunction ();
- }
- //设定MC位置
- myfunction ()
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例