flash as3小游戏问题(高手请进!)

package{importflash.display.MovieClip;importflash.events.MouseEvent;publicclassddexte... package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class dd extends MovieClip
{
public function dd()
{
this.addEventListener(MouseEvent.CLICK,sjhs);
}
public function sjhs(e)
{
this.visible=false;
}
}
}

以上是我的代码。文件是dd.as,舞台上有五个没有名字的小球,链接了dd。我想在逐个点击之后,trace出“清除完毕”的提示。但我却不知如何判断小球已经全部消失。哪位高手帮我一下?我会加分的。
展开
 我来答
lsjaker4
2013-12-13 · TA获得超过289个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:602万
展开全部
你的这个dd.as代码并没有清除功能呀,只是注册了点击变为不可见,并没有从显示列表中清除。
visible=false只是看不见,并不是没有。要想清除显示列表里的对像要使用removeChild()所以把this.visible=false这一行改成下面的代码
MovieClip(root).removeChild(this)

你还要求清除完了trace(“清除完毕”),那就要另外写一个侦听函数放在你的文档类里,或者时间轴上,代码如下
stage.addEventListener(Event.ENTER_FRAME,go)
function go(E:Event){
if(this.numChildren==0){
trace("清除完毕")
stage.removeEventListener(Event.ENTER_FRAME,go)
}
}
百度网友6ef0dabbf
2013-12-12 · 超过13用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:32.1万
展开全部
这些dd的parent上注册个鼠标点击函数 假设这个parent为p
p.addEventListener(MouseEvent.CLICK,clickHandler);
function clickHandler(e:MouseEvent):void{
var sp:dd
for (var i:int = 0; i < p.numChildren; i++)
{
sp = getChildAt(i) as dd;
if (sp != null && sp.visible) return;
}
p.removeEventListener(MouseEvent.CLICK,clickHandler);
trace("清除完毕");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-12
展开全部
在主场景加
addEventListener(MouseEvent.CLICK,onClick_func);
function onClick_func(_evt:MouseEvent):void{
if(numChildren == 0){
trace("清除完成");
}
}
具体判断需要根据你的场景情况做修改,我此处只是提示 numChildren属性的使用
更多追问追答
追问
我照着做了。但消完了还不提示。这怎么回事?
追答
我已经说过了,要具体情况看你的场景,我只是提示使用numChildren属性
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式