private void getTarget() { isRun = true; mTime = 0; mTarget = mManager.getNewMoveTarget(mId); mTarget.x = mTarget.x - mRes.getHurtOffset().x; mTarget.y = mTarget.y - mRes.getHurtOffset().y; mAnimalControl.setStatus(ActionFrameBean.ACTION_MOVE); if (mTarget.x < transform.position.x) { isXFu = true; } else { isXFu = false; } if (mTarget.y < transform.position.y) { isYFu = true; } else { isYFu = false; } if (mTarget.x == transform.position.x) { if (isYFu) { mYspeed = -mSpeed; } else { mYspeed = mSpeed; } mXspeed = 0; } else if ((mTarget.x - transform.position.x) * (mTarget.x - transform.position.x) < (mTarget.y - transform.position.y) * (mTarget.y - transform.position.y)) { if (isYFu) { mYspeed = -mSpeed; } else { mYspeed = mSpeed; } mXspeed = (mTarget.x - transform.position.x) * mYspeed / (mTarget.y - transform.position.y); } else { if (isXFu) { mXspeed = -mSpeed; } else { mXspeed = mSpeed; } mYspeed = (mTarget.y - transform.position.y) * mXspeed / (mTarget.x - transform.position.x); } if (mTarget.x < transform.position.x) { isXFu = true; } else { isXFu = false; } if (mTarget.y < transform.position.y) { isYFu = true; } else { isYFu = false; } }