cocos creator 开发飞机游戏(笔记二)

这次需要加入跟踪导弹的功能

跟踪导弹,要朝向目标,逐渐接近

目标改变位置导弹要随时更新

    update (dt) {
        this.Genzong(this.plane.position);
        this.AngleChanger(this.plane.position, this.missile); // 朝向,上篇笔记
    },
    //跟踪导弹计算移动以及转向角度
    Genzong(targetPosition){
        var targetPoint =targetPosition; // 目标位置
        var point = cc.v2(this.missile.x, this.missile.y); // 导弹自身位置
        var delta = targetPoint.sub(point);
        var distance = point.sub(targetPoint).mag(); // 计算目标和导弹的距离
        var x2 = point.x + 2 * delta.x / distance; // 这里的 2 影响了导弹速度
        var y2 = point.y + 2 * delta.y / distance;
        var newPosition = cc.v2(x2, y2);

        if( distance < 3){
            cc.log("=== 导弹命中 boom ===")
            return;
        }
        this.missile.setPosition(newPosition);// 更新跟踪导弹的位置
    },

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值