关于flash actionscript3 中,有关 文档类 和 动作-帧面板 的问题
在动作-帧面板中写代码,是不是这些代码只在这个帧上起作用?在动作-帧面板中写代码,和在文档类中写有什么区别???对于同一段完整有效的代码,在面板上有效,要怎么修改才能在文...
在动作-帧面板中写代码,是不是这些代码只在这个帧上起作用?
在动作-帧面板中写代码,和在文档类中写有什么区别???
对于同一段完整有效的代码,在面板上有效,要怎么修改才能在文档类中也有效? 展开
在动作-帧面板中写代码,和在文档类中写有什么区别???
对于同一段完整有效的代码,在面板上有效,要怎么修改才能在文档类中也有效? 展开
1个回答
展开全部
帧上的代码,如果是动作
像 trace(xxxx)、play()、gotoAndPlay(1)、stop()或执行其它自定义的函数(function),只有到了这个帧上才会执行。
如果是创建对象
像 var i:int = 0、var array:Array = new Array()、 function helloWorld(){trace("hello world")}
则所有帧都有效。
你可以在第一帧写 var i:int = 1;然后在最后一帧写 trace(i);
面板上写类,其实是利用了文档类中的addFrameScript函数功能。
addFrameScript(目标帧数 - 1,方法)
“目标帧数”的意思是:你想添加脚本的那一帧的帧数,它使用的是帧数列表的下标,所以要减1。
比如说你想在第1帧trace("hi"),在第15帧里trace("hello"),在第20帧trace("ni hao")
你可以试试创建一个文档类,在它的构造函数里面写
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
addFrameScript(0,fun1)//第1帧代码,目标帧数 - 1 = 0;
addFrameScript(14,fun15)//第15帧代码,目标帧数 - 1 = 14;
addFrameScript(19,fun20)//第20帧代码,目标帧数 - 1 = 19;
function fun1()
{
trace("hi");
trace(this.currentFrame);//输出当前帧数,看看是第几帧
}
function fun15()
{
trace("hello")
trace(this.currentFrame);
}
function fun20()
{
trace("ni hao")
trace(this.currentFrame);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
效果如同你写在第1帧写
trace("hi");
trace(this.currentFrame);
在第15帧写
trace("hello")
trace(this.currentFrame);
在第20帧写
trace("ni hao")
trace(this.currentFrame);
像 trace(xxxx)、play()、gotoAndPlay(1)、stop()或执行其它自定义的函数(function),只有到了这个帧上才会执行。
如果是创建对象
像 var i:int = 0、var array:Array = new Array()、 function helloWorld(){trace("hello world")}
则所有帧都有效。
你可以在第一帧写 var i:int = 1;然后在最后一帧写 trace(i);
面板上写类,其实是利用了文档类中的addFrameScript函数功能。
addFrameScript(目标帧数 - 1,方法)
“目标帧数”的意思是:你想添加脚本的那一帧的帧数,它使用的是帧数列表的下标,所以要减1。
比如说你想在第1帧trace("hi"),在第15帧里trace("hello"),在第20帧trace("ni hao")
你可以试试创建一个文档类,在它的构造函数里面写
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
addFrameScript(0,fun1)//第1帧代码,目标帧数 - 1 = 0;
addFrameScript(14,fun15)//第15帧代码,目标帧数 - 1 = 14;
addFrameScript(19,fun20)//第20帧代码,目标帧数 - 1 = 19;
function fun1()
{
trace("hi");
trace(this.currentFrame);//输出当前帧数,看看是第几帧
}
function fun15()
{
trace("hello")
trace(this.currentFrame);
}
function fun20()
{
trace("ni hao")
trace(this.currentFrame);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
效果如同你写在第1帧写
trace("hi");
trace(this.currentFrame);
在第15帧写
trace("hello")
trace(this.currentFrame);
在第20帧写
trace("ni hao")
trace(this.currentFrame);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询