Unity编写雷霆战机流程(二)

本文详细介绍了Unity中雷霆战机游戏的开发过程,包括开始游戏场景的实现,如利用DoTween进行动画控制,通过Slider和正则表达式处理游戏选项,以及使用单链表和冒泡排序实现排行榜。还讲解了虚拟摇杆控制移动、玩家射击、敌人AI的设计,以及场景间的切换和UI管理。最后,作者分享了制作游戏的心得体会,强调了良好框架设计的重要性。
摘要由CSDN通过智能技术生成

三、功能的具体实现

这里只介绍部分主要功能以及一些核心代码,其他细节可自行设计

1. 开始游戏场景:

开始游戏点击开始按钮,调用Gamanager里的公开方法,运行开始面板的动画(这里用的是DoTween插件)并播放声音即可

    public void OnStartGameButton()
    {
        startGamePanelTween.DOPlayForward();
        clickAudioSource.PlayOneShot(clickClip);
    }

游戏选项通过Slider的value来控制AudioSource的volume;通过正则表达式来验证玩家名字是否合法;通过QualitySettings.SetQualityLevel(int level)方法来调节画质
查看排行榜我这里建了一个单链表用来表示玩家信息(名字;分数),通过单链表里的排序方法(简单的冒泡排序表)对玩家进行排名,并将排名信息填充到排行榜的预制件单元中。而对于玩家信息的存储则通过PlayerPrefab实现,他存储了string类型字符串,通过对字符串的分割实现了玩家信息的获取。
单链表接口:

public interface IListDS
{

void Sort();//排序
void Add(T item1,T item2);//添加信息
bool CheckIsNeedToAdd(T item1,T item2);//检查该信息是否能被添加
Node<T> this[int index] { get; set; }//索引器实现

}
玩家信息存储以及获取:

 void CreateRecordBoard()
    {
        //PlayerPrefs.SetString("unitData", "");
        string strData = PlayerPrefs.GetString("unitData");
        if (strData.CompareTo("") == 0)//初始化玩家信息
        {
            strData = "暗夜之鸦,39886;暴躁的恐角龙,8944;士兵76,22000;闪光萨,15886;死亡之翼,6532;YoungForever,9876";
            PlayerPrefs.SetString("unitData", strData);
        }
        string[] firstSplitStr = strData.Split(';');
        for (int i = 0; i < firstSplitStr.Length; i++)//分割字符串
        {
            string[] secodnSplitStr = firstSplitStr[i].Split(',');
            if (secodnSplitStr[0] == "")
            {
                continue;
            }
            CreateCell(secodnSplitStr[0], secodnSplitStr[1]);//将玩家信息存储在排行榜的预制件单元里面
        }
    }

退出游戏退出游戏只需一句代码即可

 public void OnExitGame()
    {
        clickAudioSource.PlayOneShot(clickClip);
        Application.Quit();
    }

2. 第一(三)关场景:
这里写图片描述
虚拟摇杆控制移动的实现:

    [SerializeField]
    private EasyJoystick joys; void PlayerMove()
    {
        if (Gamanager.isOver || Gamanager.isPause)//如果游戏出于暂停状态或结束状态,则不进行移动
        {
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值