请问 flash as3.0怎么做到 鼠标移开影片剪辑之后 影片剪辑仍继续播放 直到某一帧停止或最后一帧停止?
movieClip_1.stop();movieClip_1.addEventListener(MouseEvent.MOUSE_OVER,fl_MouseOverHan...
movieClip_1.stop();
movieClip_1.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
function fl_MouseOverHandler(event:MouseEvent):void
{
movieClip_1.gotoAndPlay(1);
}
这里我鼠标滑动到影片剪辑上后,它开始循环播放了。
然后怎么才能实现 鼠标移开影片剪辑之后 影片剪辑仍继续播放 直到某一帧停止或最后一帧停止? 展开
movieClip_1.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
function fl_MouseOverHandler(event:MouseEvent):void
{
movieClip_1.gotoAndPlay(1);
}
这里我鼠标滑动到影片剪辑上后,它开始循环播放了。
然后怎么才能实现 鼠标移开影片剪辑之后 影片剪辑仍继续播放 直到某一帧停止或最后一帧停止? 展开
3个回答
展开全部
1、如果你的影片剪辑可以编辑(不是外载的)那么你直接在影片剪辑最后一帧加上stop();
2、如果你想要动态添加代码,那么可以使用
movieClip_1.addFrameScript(movieClip_1.totalFrames-1,fun);
function fun(){
movieClip_1.stop();
}
此代码作用就是在movieClip_1的最后一帧执行函数fun
3、使用Event.ENTER_FRAME来检测,
movieClip_1.stop();
movieClip_1.addEventListener(MouseEvent.MOUSE_OVER, fl_MouseOverHandler);
function fl_MouseOverHandler(event:MouseEvent):void {
movieClip_1.gotoAndPlay(1);
if(!movieClip_1.hasEventListener(Event.ENTER_FRAME)){
movieClip_1.addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler);
}
}
function fl_EnterFrameHandler(e:Event):void{
if(e.currentTarget.currentFrame==e.currentTarget.totalFrames){
e.currentTarget.stop();
e.currentTarget.removeEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler);
}
}
需要用到的原来代码,所以我全复制了。
方法多种,看具体情况选择不同的做法。
展开全部
只要在影片剪辑你要停的那一帧上加关键帧,然后写上stop();就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在你的原来的代码后边加下边的代码
movieClip_1.addEventListener(MouseEvent.MOUSE_OUT, fl_MouseOutHandler);
function fl_MouseOutHandler(event:MouseEvent):void {
movieClip_1.addEventListener(Event.ENTER_FRAME,go);
function go(e:Event) {
if (movieClip_1.currentFrame == totalFrames) {
movieClip_1.gotoAndStop(1);
movieClip_1.removeEventListener(Event.ENTER_FRAME,go);
}
}
}
如果想让你的影片剪辑在第10帧触发,然后停止到第5帧。改这两行
if (movieClip_1.currentFrame == 10) {
movieClip_1.gotoAndStop(5);
movieClip_1.addEventListener(MouseEvent.MOUSE_OUT, fl_MouseOutHandler);
function fl_MouseOutHandler(event:MouseEvent):void {
movieClip_1.addEventListener(Event.ENTER_FRAME,go);
function go(e:Event) {
if (movieClip_1.currentFrame == totalFrames) {
movieClip_1.gotoAndStop(1);
movieClip_1.removeEventListener(Event.ENTER_FRAME,go);
}
}
}
如果想让你的影片剪辑在第10帧触发,然后停止到第5帧。改这两行
if (movieClip_1.currentFrame == 10) {
movieClip_1.gotoAndStop(5);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询