FLASH 关于duplicateMovieClip复制MC的问题?
FLASH关于duplicateMovieClip复制MC的问题?当我复制了层后;运行function之后路径就开始蒙了谁给我解释一下啊?代码如下:varh:Number...
FLASH 关于duplicateMovieClip复制MC的问题?
当我复制了层后;运行function之后路径就开始蒙了谁给我解释一下啊?
代码如下:
var h:Number = mm._height;
var spd:Number = 5;
for (var i = 0; i<3; i++) {
mm.duplicateMovieClip("mcp"+i,20+i);
var mcp:MovieClip = eval("mcp"+i);
mcp._x = i*h+10*i;
mcp.onRollOver = funciton(){
↑这里有些蒙,这里的mcp指的是那个mcp那mcp0 mcp1 还是 mcp2那?或是全部的mcp?
this.onEnterFrame = function(){
↑这里也有些蒙,这里的onEnterFrame 是不是可以跟上面鼠标经过时间的function 写在一起那,给事是什么样的那?
this._x -= spd
↑这里也有些蒙,这里的路径是怎样的那假设MM在主场_root里,运行一次function,之后他的路径是否也要下一层那?
}
}
}
回答的好再加30分希望大侠帮助~ 展开
当我复制了层后;运行function之后路径就开始蒙了谁给我解释一下啊?
代码如下:
var h:Number = mm._height;
var spd:Number = 5;
for (var i = 0; i<3; i++) {
mm.duplicateMovieClip("mcp"+i,20+i);
var mcp:MovieClip = eval("mcp"+i);
mcp._x = i*h+10*i;
mcp.onRollOver = funciton(){
↑这里有些蒙,这里的mcp指的是那个mcp那mcp0 mcp1 还是 mcp2那?或是全部的mcp?
this.onEnterFrame = function(){
↑这里也有些蒙,这里的onEnterFrame 是不是可以跟上面鼠标经过时间的function 写在一起那,给事是什么样的那?
this._x -= spd
↑这里也有些蒙,这里的路径是怎样的那假设MM在主场_root里,运行一次function,之后他的路径是否也要下一层那?
}
}
}
回答的好再加30分希望大侠帮助~ 展开
3个回答
展开全部
1.首先关于你的第一个问题mcp是在循环体中的MovieClip对象,而且var mcp:MovieClip = eval("mcp"+i); 是这样赋值的,所以他只是指待当前复制出来的影片,就如:当i=0时,那mcp就是代表mcp0。当i=1时,那mcp就代表mcp1.如此类推。
2.你第二个问题可能你会有点难理解,因为是在mcp的OnRollOver即鼠标移入对象事件里面,写入onEnterFrame事件。这是正确的,ActionScript允许我们在别的事件里面写入其它事件。
3.this._x-=spd;其实是把当前MC对象向左移动spd的值为像素的点。
所以整个脚本看来,是先复制三个影片,然后三个影片都加入鼠标经过事件,当鼠标经过那个影片上面那个影片就开始向左移动。我想楼主是不太明白this到底指代的是哪个影片对象吧。简单的来说是指代当前最新复制的影片对象。
2.你第二个问题可能你会有点难理解,因为是在mcp的OnRollOver即鼠标移入对象事件里面,写入onEnterFrame事件。这是正确的,ActionScript允许我们在别的事件里面写入其它事件。
3.this._x-=spd;其实是把当前MC对象向左移动spd的值为像素的点。
所以整个脚本看来,是先复制三个影片,然后三个影片都加入鼠标经过事件,当鼠标经过那个影片上面那个影片就开始向左移动。我想楼主是不太明白this到底指代的是哪个影片对象吧。简单的来说是指代当前最新复制的影片对象。
展开全部
var h:Number = mm._height;
var spd:Number = 5;
for (var i = 0; i<3; i++) {
mm.duplicateMovieClip("mcp"+i, 20+i);
//复制出三个mm来,并重新命名为mcp0,mcp1,mcp2
var mcp:MovieClip = eval("mcp"+i);
//mcp代表这三个新剪辑
mcp._x = i*h+10*i;
//三个剪辑的横向错开
mcp.onRollOver = function() {
//鼠标滑过时触发
this.onEnterFrame = function() {
this._x -= spd;
//循环,即当鼠标滑过哪个时,那个的_x反复减少spd,这个效果是使鼠标滑过的剪辑向左不停移动
};
};
}
var spd:Number = 5;
for (var i = 0; i<3; i++) {
mm.duplicateMovieClip("mcp"+i, 20+i);
//复制出三个mm来,并重新命名为mcp0,mcp1,mcp2
var mcp:MovieClip = eval("mcp"+i);
//mcp代表这三个新剪辑
mcp._x = i*h+10*i;
//三个剪辑的横向错开
mcp.onRollOver = function() {
//鼠标滑过时触发
this.onEnterFrame = function() {
this._x -= spd;
//循环,即当鼠标滑过哪个时,那个的_x反复减少spd,这个效果是使鼠标滑过的剪辑向左不停移动
};
};
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的问题有点复杂..理解一下那个函数吧.
比如说A在B里.那么复制出来的MC就都在B里...只能复制同级的MC.
var mcp:MovieClip = eval("mcp"+i);
这里只是一个引用而已..就像WINDOWS的快捷方式
快捷方式mcp指向了 "mcp"+i,i 是0就是 mcp0
之后他的路径是否也要下一层那?
这句我不明白你的问题.是让各个MC不断向下而已.
比如说A在B里.那么复制出来的MC就都在B里...只能复制同级的MC.
var mcp:MovieClip = eval("mcp"+i);
这里只是一个引用而已..就像WINDOWS的快捷方式
快捷方式mcp指向了 "mcp"+i,i 是0就是 mcp0
之后他的路径是否也要下一层那?
这句我不明白你的问题.是让各个MC不断向下而已.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询