flash as3.0侦听器怎么再次使用

importflash.events.MouseEvent;importflash.events.Event;varoY:Number=red.y;varzj:Numbe... import flash.events.MouseEvent;
import flash.events.Event;

var oY:Number = red.y;
var zj:Number = 0;

red.addEventListener(MouseEvent.CLICK,jump);
function jump(e:MouseEvent):void
{
stage.addEventListener(Event.ENTER_FRAME,judgment);
}

function stop_jump()
{
red.y = oY;
stage.removeEventListener(Event.ENTER_FRAME,judgment);
}

function judgment(s:Event)
{
zj += 0.05;
red.y = oY - Math.sin(zj) * 20;
if (red.y > oY)
{
stop_jump();
}
else
{
red.addEventListener(MouseEvent.CLICK,jump);
}
}
red是场景上的一个MC。
Q:第一次运行,点击red的时候能正常的做出一个跳跃运动,跳跃结束后,我再点red,为什么就不能再次跳跃了,是注销侦听器的代码没写好吗?请问该怎么写才能达到每点一次,red便跳跃一次。小弟没分了,希望老鸟们帮帮忙,感激不尽~
展开
 我来答
zb6306
2012-04-05 · TA获得超过777个赞
知道大有可为答主
回答量:2585
采纳率:66%
帮助的人:1160万
展开全部
经测试脚本正常使用,,希望能给加分。
以下是修改后的代码:
import flash.events.MouseEvent;
import flash.events.Event;

var oY:Number = red.y;
var zj:Number = 0;
var redBoolean:Boolean;

red.addEventListener(MouseEvent.CLICK,jump);
function jump(e:MouseEvent):void
{
redBoolean = stage.hasEventListener(Event.ENTER_FRAME);
if (! redBoolean)
{
stage.addEventListener(Event.ENTER_FRAME,judgment);
}
}

function stop_jump()
{
red.y = oY;
zj = 0;
stage.removeEventListener(Event.ENTER_FRAME,judgment);
}

function judgment(s:Event)
{
zj += 0.05;
red.y = oY - Math.sin(zj) * 20;
if (red.y > oY)
{
stop_jump();
}
}
追问
哥们儿,十分感谢你,程序正确,并且简单易懂,不给你分不行啊,正在努力做任务,有分了再采纳你给你加分~~别急哈~~~
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
381713677
2012-04-05 · TA获得超过445个赞
知道小有建树答主
回答量:672
采纳率:0%
帮助的人:395万
展开全部
else
{
red.addEventListener(MouseEvent.CLICK,jump);
}

这段去掉试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成都瑞泰德天猫
2012-04-04 · 超过28用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:78万
展开全部
stop_jump()这个函数中的stage.removeAddEventListenr(....)这个东西给他注销了试试看,感觉就是这里的原因,因为你这个侦听还要再次使用,所以你不能使用一次之后就撤销撒!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-04-04
展开全部
red.addEventListener(MouseEvent.CLICK,jump
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式