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

AS3自适应舞台大小变化[Event.RESIZE侦听]

时间:2011-09-05 17:06fashionwll.blog.163.com
舞台放大元件不变形,那是必须的。只要在第一帧加上一句: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 () 

 

热门文章推荐

请稍候...

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

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