Flash AS = Flash ActionScript
学习Flash AS快捷简单的方法:
1)查看Flash AS帮助
2)google
Flash AS的语法和javascript非常相似,javascript中的函数基本上在Flash AS中都有对应。在写第一个Flash AS时,用到了setInterval, clearInterval等方法,但是没有setTimeout方法,郁闷~
Flash中有一个场景概念,基本上相当于主Form,Form中的控件就相当于Flash中的元件,元件分为三个:影片剪辑,按钮和图片。影片剪辑就是一个动画,按钮分为四个状态(弹起,按下,移动,点击),可以在这四种状态中画不同状态时的按钮效果。按钮事件:on(press),on(release)等等。
Flash中的动作,就是写AS。有动作(有脚本)的帧会有一个a,每一帧可以写AS。写AS的过程,点击一帧,然后点击下方面板的动作或者点鼠标右键选择动作,在弹出的动作输入框中编写脚本;同理,在元件中也可以。也可以分图层,然后在不同的图层写AS。
代码片断:
var intervalId:Number;
var curYear:Number = 0;
var curMonth:Number = 0;
var curDay:Number = 0;
var maxYear:Number = 100;
var duration:Number = 5000; // 时间间隔5秒
var birthDate:Date = new Date(2008, 1, 4, 21, 0, 0); //应该是2月4日,这里的月份要-1
var curDate:Date;

function howOldAmI():Void

...{
//trace("executeCallback intervalPicId: " + intervalId + " count: " + count);

/**//*if (curYear >= maxYear)
{
clearInterval(intervalPicId);
}
else*/

...{
curDate = new Date();
var seconds = (curDate - birthDate) / 1000;
//curYear = ;
//curMonth =
curDay = Math.floor(seconds / (60 * 60 * 24));
timeText = "秦浩轩:我有" + curDay + "天了!";
}
}

function beginInterval():Void

...{
if(intervalId != null)

...{
trace("clearInterval");
clearInterval(intervalId);
}
intervalId = setInterval(this, "howOldAmI", duration);
}

timeText = "秦浩轩:我是一个小男子汉!";
beginInterval();

trace是调试语句,在Flash的输出窗口中显示。上面的timeText是动态文本的变量名。插入动态文本就是在左边的面板中选择“A”;
在影片剪辑中随机显示某一帧,可以在场景中,选择从库中拖入的影片剪辑,选择动作,插入代码:
onClipEvent(load)

...{
stop();
var i = new Date().getTime() % 4 + 1;
gotoAndStop(i);
trace("load frame....."+i);
}
onClipEvent(load)表示当此影片剪辑加载时触发的事件,还有一个onEnterFrame表示播放某一帧时触发。由于这里只需要在加载时触发一次,所以用onClipEvent(load);gotoAndStop(i)表示播放到某帧并停止;i表示帧的索引号,索引号从1开始,如果传0,则也是1;
导入本地图片的方法,菜单[文件]->[导入]->[导入到库];
查看库的快捷键:CTRL+L
显示输出窗口:F2
运行FLASH:CTRL+ENTER