23.细节完善

23.细节完善


23.1 知识点

在ChooseHeroPanel脚本中更新英雄方法中添加更新上方显示的描述信息的逻辑

/// <summary>
/// 更新场景上要显示的模型的
/// </summary>
private void ChangeHero()
{
    if(heroObj != null)
    {
        Destroy(heroObj);
        heroObj = null;
    }

    //取出数据的一条 根据索引值
    nowRoleData = GameDataMgr.Instance.roleInfoList[nowIndex];
    //实例化对象 并记录下来 用于下次切换时 删除
    heroObj = Instantiate(Resources.Load<GameObject>(nowRoleData.res), heroPos.position, heroPos.rotation);
    //由于我们现在在对象上挂载了PlayerObject 但是在开始场景 不需要
    Destroy(heroObj.GetComponent<PlayerObject>());

    //更新上方显示的 描述信息
    txtName.text = nowRoleData.tips;

    //根据解锁相关数据 来决定是否显示解锁按钮
    UpdateLockBtn();
}

调整相机跟随参数,出怪点造塔点位置。

修改配置的json数据额,让游戏根平衡

拷贝开始场景的BKMusic对象到游戏场景

怪物脚本中的死亡方法,死亡时直接失活寻路组件,直接停止移动有点问题。

//死亡
public void Dead()
{
    isDead = true;
    //停止移动
    //agent.isStopped = true;
    agent.enabled = false;
    //播放死亡动画
    animator.SetBool("Dead", true);

    //播放音效
    GameDataMgr.Instance.PlaySound("Music/dead");
    //加钱——我们之后通过关卡管理类 来管理游戏中的对象 通过它来让玩家加钱 
    GameLevelMgr.Instance.player.AddMoney(1000);
}

玩家攻击的时候可能遇到枪打不到的问题。因为播开枪动画时可能枪口是抬起来的,这样射线也是抬起来的。可以把射线的方向修改成往人物的前方。免得打不到怪物。

public void ShootEvent()
{
    //进行摄像检测 
    //前提是需要有开火点
    RaycastHit[] hits = Physics.RaycastAll(new Ray(gunPoint.position, this.transform.forward), 1000, 1 << LayerMask.NameToLayer("Monster"));

    //播放开枪音效
    GameDataMgr.Instance.PlaySound("Music/Gun");

    for (int i = 0; i < hits.Length; i++)
    {
        //得到对象上的怪物脚本 让其受伤
        //得到碰撞到的对象上的怪物脚本 让其受伤
        MonsterObject monster = hits[i].collider.gameObject.GetComponent<MonsterObject>();
        if (monster != null && !monster.isDead)
        {
            //进行打击特效的创建
            GameObject effObj = Instantiate(Resources.Load<GameObject>(GameDataMgr.Instance.nowSelRole.hitEff));
            effObj.transform.position = hits[i].point;
            effObj.transform.rotation = Quaternion.LookRotation(hits[i].normal);
            Destroy(effObj, 1);

            monster.Wound(this.atk);
            break;
        }
    }
}

可以把塔点和出怪点做成预制体

创建多个场景,让玩家选择时进入

打包游戏,设置图标



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏