AS3.0中怎样移除ENTER_FRAME事件?
比如我在用按钮和ENTER_FRAME让一个影片剪辑不断旋转.如何控制在松开按钮后,停止影片剪辑的旋转?...
比如我在用按钮和ENTER_FRAME让一个影片剪辑不断旋转. 如何控制在松开按钮后,停止影片剪辑的旋转?
展开
4个回答
展开全部
你应该是在鼠标单击或者是MOUSE_DOWN时间中注册了ENTER_FRAME事件,
所以再注册按钮的鼠标划出事件,然后清除ENTER_FRAME,
bt.addEventListener(MouseEvent.MOUSE_OUT,outHd);
function outHd(e:MouseEvent){
removeEventlistener(Event.ENTER_FRAME,enterHd);
}
所以再注册按钮的鼠标划出事件,然后清除ENTER_FRAME,
bt.addEventListener(MouseEvent.MOUSE_OUT,outHd);
function outHd(e:MouseEvent){
removeEventlistener(Event.ENTER_FRAME,enterHd);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的Enter_Frame 响应函数不能写在别的函数内部.
你应该这样写. 按住按钮的时候添加EnterFrame侦听器,松开去掉这个侦听器.
然后.
响应函数没有必要写在函数体内部.
你应该这样写. 按住按钮的时候添加EnterFrame侦听器,松开去掉这个侦听器.
然后.
响应函数没有必要写在函数体内部.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//以下代码直接复制黏贴就可以用了~~~希望可以帮助到你 哦~~~O(∩_∩)O
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Sprite;
function 创建剪辑(mcs:Sprite,color:uint )
{
mcs.graphics.beginFill(color);
mcs.graphics.drawRect(0,0,50,50);
mcs.graphics.endFill();
}
//创建按钮;
var btn:Sprite =new Sprite();
//创建剪辑
var mc:Sprite =new Sprite();
//这个红色的是按钮;
创建剪辑(btn,0xff0000);
//紫色的是剪辑
创建剪辑(mc,0xff00ff);
btn.x = 100;
btn.y = 100;
mc.x = 350;
mc.y = 250;
this.addChild(btn);
this.addChild(mc);
//按钮点击就可以让剪辑开始转动,鼠标放松剪辑就停止转动
btn.addEventListener(MouseEvent.MOUSE_DOWN,startSpin);
btn.addEventListener(MouseEvent.MOUSE_UP,stopSpin);
function startSpin(e:MouseEvent )
{
//开始转动
mc.addEventListener(Event.ENTER_FRAME,spin);
}
function stopSpin(e:MouseEvent )
{
//停止转动
mc.removeEventListener(Event.ENTER_FRAME,spin);
}
function spin(e:Event)
{
//剪辑转动的函数
mc.rotation += 2;
}
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.Sprite;
function 创建剪辑(mcs:Sprite,color:uint )
{
mcs.graphics.beginFill(color);
mcs.graphics.drawRect(0,0,50,50);
mcs.graphics.endFill();
}
//创建按钮;
var btn:Sprite =new Sprite();
//创建剪辑
var mc:Sprite =new Sprite();
//这个红色的是按钮;
创建剪辑(btn,0xff0000);
//紫色的是剪辑
创建剪辑(mc,0xff00ff);
btn.x = 100;
btn.y = 100;
mc.x = 350;
mc.y = 250;
this.addChild(btn);
this.addChild(mc);
//按钮点击就可以让剪辑开始转动,鼠标放松剪辑就停止转动
btn.addEventListener(MouseEvent.MOUSE_DOWN,startSpin);
btn.addEventListener(MouseEvent.MOUSE_UP,stopSpin);
function startSpin(e:MouseEvent )
{
//开始转动
mc.addEventListener(Event.ENTER_FRAME,spin);
}
function stopSpin(e:MouseEvent )
{
//停止转动
mc.removeEventListener(Event.ENTER_FRAME,spin);
}
function spin(e:Event)
{
//剪辑转动的函数
mc.rotation += 2;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按钮松开的时候
移除ENTER_FRAME就可以了
你监听的对象.removeEventListener(Event.ENTER_FRAME,你注册的函数)
移除ENTER_FRAME就可以了
你监听的对象.removeEventListener(Event.ENTER_FRAME,你注册的函数)
追问
你好,我是在按钮的DOWN状态中 写了ENTER_FRAME事件. 然后再按钮的UP状态中 写了移除ENTER_FRAME事件.不过就是"注册的函数"那边 除了错误.说未定义. 咋办?
追答
发源码 没有源码我也不好判断
我也不能凭空想象
你看看是不是你声明的东西是在down中的局部的变量,或者其他局部变量 所以是未定义。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询