flash元件元件的调用(AS3)

[复制链接]
查看11 | 回复4 | 2011-2-24 13:17:59 | 显示全部楼层 |阅读模式
我在舞台上做了两个窗口,是MC。一个叫gz,一个是cy。
我想把gz里的tt元件里的lh,拖动和cy里的指定的元件指定k碰撞,对了lh就留在k所在的位置。
关掉gz后lh还在cy里。
我现已完成拖动碰撞,但是关掉gz后怎么让lh还在该怎么弄???
说下我所做的东西。
有点类似解谜游戏的那种。
舞台上有个若干个mc。我点击按钮出现gz和cy。
然后这个gz里也有按钮。我点击按钮出现lh。
我现在要把lh拖到cy里。
因为gz挡住了舞台上的mc,所以我要把gz关掉。留下cy。
然后再拖cy里的lh触发舞台上的mc

回复

使用道具 举报

千问 | 2011-2-24 13:17:59 | 显示全部楼层
其实,当碰撞之后,你就直接用CY把IH,add过去就好了,因为在flash中,一个元件是不能同时被两个元件add的。然后,你想IH再回到gz的话,就再add回来。。不知道对不对,先试试吧,不行就hi个信息给我。
回复

使用道具 举报

千问 | 2011-2-24 13:17:59 | 显示全部楼层
蛮简单的问题,下面是让lh留在k所在位置的代码var _lh=root.gz.tt.lh;var _k=root.cy.k;_k.parent.addChild(_lh);_lh.x=_k.x;_lh.y=_k.y;
回复

使用道具 举报

千问 | 2011-2-24 13:17:59 | 显示全部楼层
为什么删掉gz后,lh会被删掉呢,因为lh 是 gz的 子对象。你只要把lh从这层关系中剥离,lh就不会被删掉了,用addChild()可以实现。还有就是注意下世界坐标与本地坐标的转换。
回复

使用道具 举报

千问 | 2011-2-24 13:17:59 | 显示全部楼层
我不知道我理解的是否正确。其实,想要关掉gz而lh还在,这个lh其实已经不在gz里了。可以在lh进入cy时,复制一个lh出来,而它和原先的lh在同一个位置,看起来是一个东西。或者如果涉及到叠加alpha值问题而只能显示一个的话,你可以把原来的lh的visible值设为FALSE,或者alpha为0,不过提倡前者。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行