学习笔记 1:自己制作的子弹预制体 注意点

1. //生成的时候设置旋转角度为预制体的默认角度,并关闭collider,可确保子弹为水平方向
 GameObject bullet=(GameObject)Instantiate(bulletNormal, bulletRootPoint.position,bulletNormal.transform.rotation);

  

   重用时,子弹的位置最好在子弹上挂载的脚本上进行设置,速度用rigidbody 进行设置(rigidBody 慎用,会出现意料之外的问题),用transform

 

            tempBullet = BulletManager.instance.enemyBullets[i];
            enemyNor = tempBullet.GetComponent<EnemyBulletNormal>();
            if (enemyNor.bulletState == EnemyNormalBulletState.enable)
            {
                //设置子弹状态为不可用
                enemyNor.bulletState = EnemyNormalBulletState.disable;
                enemyNor.SetPosition(targetPos,bulletSpeed);
                enemyNor.GetComponent<Rigidbody>().velocity = transform.TransformDirection(Vector3.forward  * bulletSpeed);
                break;
            }



2.添加Rigidbody 组件,在发生碰撞后,游戏对象自己不能停止移动,,

解决方法:Rigidbody 组件中Constranints对游戏对象的 Y轴 旋转  进行限制,,,增大阻力Drag


3.方法提示快捷键 Ctrl+shift+Q


4.监视面板中显示的 rotation 是 每个轴旋转的 实际角度

        //eulerAngles 0-360 旋转的角度
        //rotation  四元数
        if (transform.rotation.eulerAngles.y <= rotateMin || transform.rotation.eulerAngles.y >= rotateMax)
        {
            //transform.position = pos;
            transform.rotation = rotation;
        }

5.要 调节画布大小,需要设置 render mode 为 world 模式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值