/**
* @param tx 目标x
* @param ty 目标y
* @param px 施法者x
* @param py 施法者y
* @param dist 需要运动的距离
* @return
*/
private function calaulateDiscVec(tx:int,ty:int,px:int,py:int,dist:Number):Point
{
//var r:Number=.4 + .6 * Math.random();
//var dist:Number=_skill.moban.skill_bodytrack * m.conf.mass * r;//击飞的距离,这是一个随机值,由怪物的重量决定
var dx:int=tx - px;
var dy:int=2 * (ty - py);
var d:Number=Math.sqrt(dx * dx + dy * dy);//求两Vector2D的距离,即主角和怪物的距离
var bx:int, by:int;//击飞后的目标坐标
if (d > 1)//距离大于一个像素的时候
{
// bx=target.x + dist * 2 * dx / d;
bx=tx + dist * dx / d;
by=ty + dist * dy / d;
}
else
{
bx=tx;
by=ty;
}
return new Point(bx,by);
}