as3.0中,有2个元件,需要指定的元件移动(选择哪个元件哪个移动),需要用到什么方法,最好有代码,谢谢

flashcs4和as3.0中,有2个元件,需要指定的元件移动(选择哪个元件哪个移动),需要用到什么方法,最好有代码,谢谢... flash cs4 和as3.0中,有2个元件,需要指定的元件移动(选择哪个元件哪个移动),需要用到什么方法,最好有代码,谢谢 展开
 我来答
冠香兴小吃陈师傅
2010-11-27 · TA获得超过768个赞
知道小有建树答主
回答量:794
采纳率:0%
帮助的人:347万
展开全部
1.首先假设a.swf的场景中有一个实例名为mc_a的MovieClip,你需要把这个mc_a加载到b.swf的场景中,并作为b.swf的中的一个名为mc_b的MovieClip。

2.将a.swf放置在b.fla的同一目录下,并在b.fla的代码栏中添加如下代码。

var loader:Loader = new Loader();
var url:URLRequest = new URLRequest("a.swf");
var mc_b:MovieClip;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoadCompleteHandle);
loader.load(url);

function onLoadCompleteHandle(e:Event):void{
var mc:MovieClip = e.target.content as MovieClip;
mc_b = mc.getChildByName("mc_a") as MovieClip;
if(mc_b != null){
this.addChild(mc_b);
}
}

3.调试看结果,会发现a.swf中的mc_a已经被添加到b.swf中了,实例名为mc_b。

4.注意,如果a.swf是由AS2.0环境下生成的,以上方法不适用。

-----------------------------------------------
如果不在场景的话,那么在b.swf中声明一个mc_b的公共变量,或者返回mc_b的公共方法,以便他的外部容器,也就是a.swf调用。
具体一点:
在b.swf中
var mc_b:MovieClip = new MC_B();//具体类名由你的绑定类名决定,MC_B只是我的假设

这样在a.swf中就可以通过如下的方式获取到b.swf中的MC_B类的实例了。

...//之前的代码同上
function onLoadCompleteHandle(e:Event):void{
var obj:Object= e.target.content as Object;
mc_b = MovieClip(obj.mc_b);
if(mc_b != null){
this.addChild(mc_b);
}
}
柠檬茶II美味
2010-12-01
知道答主
回答量:28
采纳率:0%
帮助的人:12.1万
展开全部
这个是一个简单的代码,不可能实现你想拖动到哪里就是哪里,只是鼠标停在上面就会向x方向移动10个单位。里面的数值都是可以改动的,有兴趣就改一下吧。要是不见了就是超出屏幕范围了,不要怕。你需要建立两个“影片剪辑”,一个在属性里把名字写成box1,另一个写成box2。代码是用事件侦听器的办法。
var i:int;
box1.addEventListener(MouseEvent.MOUSE_OVER,mouse_up_event);
function mouse_up_event(event:MouseEvent):void{
for(i=0;i<100;i++){
box1.x=box1.x+1;
}
}
box2.addEventListener(MouseEvent.MOUSE_OVER,mouse_up_event1);
function mouse_up_event1(event:MouseEvent):void{
for(i=0;i<100;i++){
box2.x=box2.x+1;
}
}
如果出问题了,一般是属性名忘了。再就是动作里的问题。最后就是原件右键属性里的问题了,设为as3.0导出。
我试了一下,可以用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式