·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3自适应舞台大小变化用的RESIZE侦听

时间:2014-10-08 09:15酷播
舞台放大元件不变形,那是必须的。只要在第一帧加上一句:stage.scaleMode=StageScaleMode.NO_SCALE 即可不变形。在帮助里可以得到舞台的这个属性更多的解释

  舞台放大元件不变形,那是必须的。只要在第一帧加上一句: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使终保持位于浏览器的左上,右上,左下,右下

  1. //不变形处理   
  2. stage.scaleMode=StageScaleMode.NO_SCALE   
  3. //左上角对齐   
  4. stage.align=StageAlign.TOP_LEFT    
  5. //自定义一个函数来控制四个MC的位置   
  6. function myfunction(){   
  7. //A的位置   
  8. A.x=0  
  9. A.y=0  
  10. //B的位置   
  11. B.x=stage.stageWidth-B.width   
  12. B.y=0  
  13. //C的位置   
  14. C.x=0  
  15. C.y=stage.stageHeight-C.height   
  16. //D的位置   
  17. D.x=stage.stageWidth-D.width   
  18. D.y=stage.stageHeight-D.height   
  19. }   
  20. //对舞台的改变进行侦听   
  21. stage.addEventListener (Event.RESIZE,test);   
  22. function test (e:Event):void {   
  23. //舞台改变时,重新设置MC的位置   
  24. myfunction ();   
  25. }   
  26. //设定MC位置   
  27. myfunction () 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器