zoukankan      html  css  js  c++  java
  • 关于GitHub的朋友的NE Game

      这么拗口抱歉,看到朋友的Game NE Game释放了游戏源代码,忍不住对其进行一些分析。

    先从GameInfo入手

     1. 控制角色的引用

      var Rolling Ball;

     2. 下面是我很想知道的几个系统细节

      var bool bEntryGame;

      var bool bIsPaused;

      var bDoTutorial;     //系统级别的内容我一般很少投入精力,但是这非常有必要。

     3. 放音乐也是一个重要的环节

      var AudioComponent musicTracks[2];

      var AudioComponent CurrentMusicTrack;     //后边放了两个变量还不是很清楚其目的,记录下来后边肯定能用上

      var float MusicMultiplier;

      var string CurrentMusicMobile;

     4.存储文件

      var NESave SaveFile;     //存储文件存储在游戏中,他分了两个游戏类型,进入游戏之时和进入游戏中

      也有一些人将存储文件放置在Controller中,像我,现在还不知道两者的利弊,也许研究完毕它的代码会有一些启发。

     5.这里我又见到了一个有启发性的内容

      var GlobalMapData maps;    //这是他写的地图类,可能是为每张地图进行描述

      var bool IsReplay;   //同样引入是否重玩地图

      var int level;   //目前正在玩的关卡

     6.他自己的写的成就系统,基于GameCenter.

      var NEAchievementHandler AchievementHandler;

      7.剩下一个是自己的Controller类.

     进入函数部分event PreBeginPlay()  相比于PostBeginPlay这个函数的执行更早一步,具体到哪一步呢?好吧,起码可以在这里加载地图信息让玩家进入哪一关,当然controller也是可以的。这仅仅是取决于你自己想要加载到哪一关。

      savefile=new class'NEsave';   //新建自己的存储文件

    /******基于成就系统的成就解锁*******基于GameCenter********/

      Level=...

      做一些清空信息等,或者是用于计时

      SaveGame( );

      然后进入PostBeginPlay 声称自己的角色然后启动音乐。

     8. 写了一个简单实用的自定义填写Vector

     static function MakeVector(float X,float Y,float Z)

      {    

          local  vector V;

          V.X=X;

         V.Y=Y;

        V.Z=Z;

        return V;

          }

      9.加载关卡LoadGame 的填充,非常重要的一个选项

      该函数有自判断功能,返回一个bool来查看自己是否能加载成功.这样可以检测玩家是否是第一次加载游戏启动教学关卡

      local bool bSuccess;

      local NESave CreateSave;

      bSuccess=savefile.LoadGame();    //savefile是一个全局存储文件

      if(!bSuccess)

      {

         createSave=new class'NESave';

           createSave.SaveGame();

         Success=savefile.LoadGame();

           bDoTutorial=true;
      }

      return success;

      10.全平台的检测

      function bool IsMobile()

      {

         return WorldInfo.IsConsoleBuild(CONSOLE_Mobile);
      }

      

        

  • 相关阅读:
    02 .NET CORE 2.2 使用OCELOT -- 路由
    01 .NET CORE 2.2 使用OCELOT -- 简单使用
    Winows上简单配置使用kafka(.net使用)
    【C#】 获取计算机的硬件信息
    使用NPOI进行Excel操作
    Xamarin 开发Android应用简易教程(1)
    【日常笔记】字符串加密
    【日常笔记】生成验证码图片
    [Winfrom] 使用一个启动快捷方式,打开2个不同的窗体并且共用一个缓存空间
    windows获取物理mac地址
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/3039272.html
Copyright © 2011-2022 走看看