射击游戏知识点

这篇博客详细介绍了在Unity中实现射击游戏的关键知识点,包括射线检测、玩家与敌人状态管理、碰撞反馈以及特效播放。通过示例代码展示了如何进行射线cast、玩家自动寻敌、触发敌人伤害以及游戏状态管理等操作。
摘要由CSDN通过智能技术生成

public static bool isShow = false;//特效

    public  int enemyHp = 3;//敌人血量
    public int playerHp = 10;//玩家血量 
    public static GameManager gm;//unity单例写法
    void Start () {
        gm = this;
    }

if (Input.GetMouseButtonDown(0))
        {
            //Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            //Ray ray = new Ray(playerPos.position, zhiZhu.position);//射线:玩家到蜘蛛的位置,源头只有蜘蛛
            RaycastHit hit;
            //if (Physics.Raycast(ray, out hit,100))
            Vector3 dir = transform.TransformDirection(transform.forward);//TransformDirection向前方向
            if (Physics.Raycast(playerPos.position,dir,out hit,100))
            //playerPos.position:枪口 dir:向前  out hit:射线  100:长度

            {
                Debug.DrawLine(playerPos.position, hit.point, Color.red);//绘制一条红色的射线
                //射击动画
                //an.Play("Shoot");
                //an.CrossFade("Shoot", 0.167f);
                ps = PlayerState.Shoot;
                GetState(ps);
                //播放射击音效
                audios.Play();

      

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值