如何在Flash CS3 用AS3写一个按钮的动作以控制其他元件?

来源:百度知道 编辑:UC知道 时间:2024/06/21 07:33:06
新手一名,比如我想press按钮后,另外一个影片剪辑(pic)向左移动10,原本AS2按钮动作中onpress function中写: _root.pic._x=_root.pic._x-10;就可以了,那么AS3中如何写呢?谁能给出个例子.

不好意思, 刚才没看清楚问题, 现在回答你

比如你的舞台上有一个按钮(btnTestButton)和一个影片剪辑(mcTestMC). 从你的说明来, 我的推测是你想: 当按下按钮的时候, 剪辑开始左平移, 松开按钮后剪辑停止. 那么就到时间轴上加入以下代码:

btnTestButton.addEventListener(MouseEvent.MOUSE_DOWN, MoveMC); //给这个按钮添加鼠标行为监听, 触发鼠标按下后执行MoveMC这个任务

btnTestButton.addEventListener(MouseEvent.MOUSE_UP, StopMC); //给这个按钮添加鼠标行为监听,触发鼠标松开后执行StopMC这个任务

function MoveMC(e:MouseEvent):void{ //当鼠标按下时
stage.addEventListener(Event.ENTER_FRAME, MoveMeThru);
//给舞台添加帧监听事件, 执行MoveMeThru任务
}

function StopMC(e:MouseEvent):void{ //当鼠标松开时
stage.removeEventListener(Event.ENTER_FRAME, MoveMeThru);
//将帧监听事件从舞台上注销
}

function MoveMeThru(e:Event):void{
mcTestMC.x -=10; //左平移剪辑
}

如果你嫌这个比较麻烦, 并且没达到你想要的效果, 那不知道你是不是在寻找以下这种效果

btnTestButton.addEventListener(MouseEvent.CLICK, MoveMC); //给鼠标添加监听事件:点击. 点击后触发任务: MoveMC
function MoveMC(e:MouseEvent):void{
mcTestMC.x -=10; //左