flash as3.0 调用函数如何传递mc实例名
我想要把准备在函数中操作的mc实例名传递到函数中如何传递?下面这种经策无效mc.addFrameScript(99,turn1(mc));functionturn1(no...
我想要把准备在函数中操作的mc实例名传递到函数中 如何传递? 下面这种经策无效
mc.addFrameScript(99,turn1(mc));
function turn1(node)
{
node.gotoAndPlay(1);
}
我就是想动态的换对象 gotoAndPlay 不然得写N个函数
-------------------------
额 换是换了 但我不是同时执行啊 这种循环的话一下所有的mc都执行归1了
-------------------------
比如执行同一函数stop(); 用普通方法插入需要一个个写 如果能传递要执行的mc名就好了 想问问有没这样的方法。 可以不用写一大堆就执行mc不同的函数 也就是说给函数的执行MC进行传参 展开
mc.addFrameScript(99,turn1(mc));
function turn1(node)
{
node.gotoAndPlay(1);
}
我就是想动态的换对象 gotoAndPlay 不然得写N个函数
-------------------------
额 换是换了 但我不是同时执行啊 这种循环的话一下所有的mc都执行归1了
-------------------------
比如执行同一函数stop(); 用普通方法插入需要一个个写 如果能传递要执行的mc名就好了 想问问有没这样的方法。 可以不用写一大堆就执行mc不同的函数 也就是说给函数的执行MC进行传参 展开
1个回答
2010-03-07
展开全部
addFrameScript是把动态代码添加到帧中 根本无传参数的意义
mc.addFrameScript(99,turn1);
function turn1()
{
gotoAndPlay(1);
}
详细用法看这里
http://www.baidu.com/baidu?word=addFrameScript&tn=myie2dg
至于你gotoAndPlay前面加对象 这个你根据需求改写代码吧
====================================
mc.addFrameScript(99,turn1);
function turn1()
{
for(var i:int=1;i<10;i++){
(getChildByName("mc"+i) as MovieClip).gotoAndPlay(1);
}
}
你对应的影片剪辑命名为一个序列 比如 mc1 mc2 mc3 mc4 这样
=======================
那你到底想怎样
========================
参考一下这个文档类 你会明白我的意思的
package {
import flash.display.MovieClip;
public class test3 extends MovieClip {
public var FrameID:Array = [5,23,42,69,83,102,145,176,201];
public function test3() {
init();
}
private function init() {
for (var i:int = 0; i<FrameID.length; i++) {
addFrameScript(FrameID[i],fun(FrameID[i]));
}
}
private function fun(i:int) {
var tempFun:* = function(){
trace("当前帧" + i);
};
return tempFun;
}
}
}
mc.addFrameScript(99,turn1);
function turn1()
{
gotoAndPlay(1);
}
详细用法看这里
http://www.baidu.com/baidu?word=addFrameScript&tn=myie2dg
至于你gotoAndPlay前面加对象 这个你根据需求改写代码吧
====================================
mc.addFrameScript(99,turn1);
function turn1()
{
for(var i:int=1;i<10;i++){
(getChildByName("mc"+i) as MovieClip).gotoAndPlay(1);
}
}
你对应的影片剪辑命名为一个序列 比如 mc1 mc2 mc3 mc4 这样
=======================
那你到底想怎样
========================
参考一下这个文档类 你会明白我的意思的
package {
import flash.display.MovieClip;
public class test3 extends MovieClip {
public var FrameID:Array = [5,23,42,69,83,102,145,176,201];
public function test3() {
init();
}
private function init() {
for (var i:int = 0; i<FrameID.length; i++) {
addFrameScript(FrameID[i],fun(FrameID[i]));
}
}
private function fun(i:int) {
var tempFun:* = function(){
trace("当前帧" + i);
};
return tempFun;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询