import FF from "./FF";

/**
 * 道具飞行到主角身上
 */
const {ccclass, property} = cc._decorator;

@ccclass
export default class FObjectFly extends cc.Component {

    public ff:FF

    public move:boolean = false;

    update (dt) {
        if(this.move && this.ff.mainSprite && this.ff.mainSprite.node){
            let node = this.ff.mainSprite.node;
            let pos = node.getPosition();
            pos.y = pos.y + node.height/2;

            if(this.Genzong(pos,dt)){
                this.node.destroy();
            }

        }

    }
    //跟踪导弹计算移动以及转向角度
    private Genzong(targetPosition,dt){
        let speed = 700;
        var targetPoint = targetPosition;
        var point = cc.v2(this.node.x, this.node.y);
        var delta = targetPoint.sub(point);
        var distance = point.sub(targetPoint).mag();
        // var x1 = point.x;
        // var y1 = point.y;
        // var deltaRotation = 90 -Math.atan2(y2 - y1, x2 - x1) * 180 /Math.PI;
        // this.node.rotation=deltaRotation;
        if(distance <= 10){
            return true;
        }
        var x2 = point.x + dt*speed * delta.x / distance;
        var y2 = point.y + dt*speed * delta.y / distance;
        var newPosition = cc.v2(x2, y2);
        this.node.setPosition(newPosition);//设置跟踪导弹的位置
    }
}