人物走动的类
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-11
才写出来的,好些方法还没有实现呢,大家PP, 点击浏览该文件 import mx.data.emath.CMath; class Fairy extends MovieClip { public var m_position:Object; public var m_StartPosition:Object; public var m_EndPosition:Object; public var m_Moveing:Boolean = false; public var m_walkVel:Number; private var m_nXVel:Number, m_nYVel:Number; private var m_nIntervalID:Number; private var m_nfps:Number = 50; private var m_walkDir:String; private var Man:MovieClip; private var FF:MovieClip,BB:MovieClip,LL:MovieClip,RR:MovieClip,LB:MovieClip,RB:MovieClip,LF:MovieClip,RF:MovieClip private var m_nwalkDistence:Number; private var m_randoMacT; function Fairy() { trace(Man.FF); m_walkVel = 2; onMuseDown(); Position={x:0,y:0} } function set Position(p:Object) { m_position = p; _x = p.x; _y = p.y; } function onMuseDown() { var someListener = new Object(); var taget = this; someListener.onMouseDown = function() { trace("ddddddddddd"); taget.MoveTo(_root._xmouse, _root._ymouse); }; Mouse.addListener(someListener); } function MoveTo(eX, eY) { m_StartPosition = {x:_x, y:_y}; m_EndPosition = {x:eX, y:eY}; m_nwalkDistence = CMath.distance(_x, _y, eX, eY); var nAngle = CMath.fixAngle(CMath.atan2D(eY-_y, eX-_x)); FaceTo(nAngle); m_nYVel = CMath.sinD(nAngle)*m_walkVel; m_nXVel = CMath.cosD(nAngle)*m_walkVel; trace(m_nwalkDistence); trace(nAngle+"____________"); if (!m_Moveing) { m_Moveing = true; StartMove(); } } function FaceTo(Angle:Number) { trace(this.RR); if (Angle>=0 && Angle<22.5) { //Right trace("right"); m_walkDir="RR" this.gotoAndPlay("RR1") } else if (Angle>=22.5 && Angle<67.5) { trace("right front"); m_walkDir="RF" this.gotoAndPlay("RF1"); } else if (Angle>=67.5 && Angle<112.5) { trace("front"); m_walkDir="FF" this.gotoAndPlay("FF1"); } else if (Angle>=112.5 && Angle<157.5) { trace("left front"); m_walkDir="LF" this.gotoAndPlay("LF1"); } else if (Angle>=157.5 && Angle<202.5) { trace("left"); m_walkDir="LL" this.gotoAndPlay("LL1"); } else if (Angle>=202.5 && Angle<247.5) { trace("left back"); m_walkDir="LB" this.gotoAndPlay("LB1"); } else if (Angle>=247.5 && Angle<292.5) { trace("back"); m_walkDir="BB" this.gotoAndPlay("BB1"); } else if (Angle>=292.5 && Angle<337.5) { trace(" right back"); m_walkDir="RB" this.gotoAndPlay("RB1"); } else if (Angle>=337.5 && Angle<360) { trace("right"); m_walkDir="RR" this.gotoAndPlay("RR1"); } } function StartMove() { this.m_nIntervalID = setInterval(this, "onMoveing", 1000/m_nfps); } function StopMove() { clearInterval(this.m_nIntervalID); this.gotoAndStop(m_walkDir) this.gotoAndStop(m_walkDir) m_Moveing = false; } function NextPosition() { _x += m_nXVel; _y += m_nYVel; //this.nextFrame() HitTest(); var nD = CMath.distance(_x, _y, m_StartPosition.x, m_StartPosition.y); //trace(nD+"___"+m_nwalkDistence) if (nD>=m_nwalkDistence) { Position(m_EndPosition); StopMove(); } } function onMoveing() { NextPosition(); } function HitTest() { var dd; } function swapDepth() { var sss; } function actbroadcast() { var bb; } } 关键词:人物 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 应用Key对象控制元件的运动(AS教程)下一篇: FD最新原创星座系列动画角色欣赏
关于人物走动的类的所有评论