as3.0代码控制mc问题

我现有的mc是一个人在原地行走的动作,我想将这个mc用代码控制为向前移动,而且人物动作相应变动,该怎么实现呢?enter_frame时间是不是能够实现?求代码~~... 我现有的mc是一个人在原地行走的动作,我想将这个mc用代码控制为向前移动,而且人物动作相应变动,该怎么实现呢?enter_frame时间是不是能够实现?求代码~~ 展开
 我来答
手机用户79630
2010-10-21
知道答主
回答量:27
采纳率:0%
帮助的人:20万
展开全部
stage.addEventListener(MouseEvent.MOUSE_DOWN,down);//监听鼠标按下
private function down(e:MouseEvent):void //执行函数
var speed:int=20;//移动速度
var x1:int=e.stageX-npc.x;//npc 是要移动的对象
var y1:int=e.stageY-npc.y;
var c:int=Math.floor(x1*x1+y1*y1);
var r:Number=Math.floor(Math.atan2(y1,x1)/Math.PI*180);//算出角度,这个是让你人物8方向4方向行走的
bu=Math.sqrt(c/speed);//鼠标点击到人物之间一共要走多少步;
speedx=x1/bu;
speedy=y1/bu;

private function up(e:MouseEvent=null):void
{
addEventListener(Event.ENTER_FRAME,en);
}
当鼠标放开的时候
private function en(e:event):void
{
bu--;
npc.x+=speedx;
npc.y+=speedy;
if(bu==0)
{
removeEventListener(Event.ENTER_FRAME,en);
}
}
这就任务移动过程了!希望对你有帮助,如果有不明白的地方可以继续问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssppiirriitt
2010-10-17 · TA获得超过117个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:184万
展开全部
恩,利用enterframe可以实现
举个例子
给舞台添加侦听
stage.addEventListener(EVENT.ENTER_FRAME,doSomething);
public function doSomething(e:Event):void
{
mc.x+= 1;
}
这样,每帧 mc就会移动一个像素
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式