在flash制作交互作品中,尤其是flash网站的应用中,经常需要flash作品根据浏览器的窗口自动改变大小,但是页面的布局不能变化,这个时候就需要每次浏览器改变大小时舞台进行自适应调整,保证布局,本篇教程就是教大家如何用AS2.0语法实现这个操作。
工具/原料
Flash CS3(或flash 8)
步骤/方法
1
打开Flash,新建一个空白的ActionScript2.0文档,记住是2.0:
2
此时我们得到一个空白文档,我们在舞台上制作两个影片剪辑元件,为了区分明显,分别在绘制时标上“1,2”以示区分:
3
我们要做的效果就是在拖动flash大小时,保证1和2永远在两个角落里,相对位置不变。我们给1命名为mc0,给2命名为mc1:
4
在主时间轴上新建一层,命名为AS,用于写代码用:
5
在as图层第一帧按下F9,写入如下代码: Stage.addListener(this); Stage.scaleMode = 'noScale'; Stage.align = 'TL'; setPos(); function setPos():Void { var sWidth:Number = Stage.width; var sHeight:Number = Stage.height; trace(sWidth + ',' + sHeight); mc0._x = 0; mc0._y = 0; mc1._x = sWidth - mc1._width -30; mc1._y = sHeight - mc1._height -60; } function onResize():Void { setPos(); }大概解释一下:就是给舞台增加一个侦听,每次舞台发生变化会执行onResize()函数,我们便在这个函数里调整元件的位置,让它们永远保持在角落里。
6
我们发布测试一下,不管flash拖动的多大多小,两个元件永远在角落里,目的达到(下一篇讲述用AS3来实现这个效果) 拉大后: