11:《地牢守卫者》代码分析:Antmain

Posted on 2012-02-29 17:35  neocsl  阅读(567)  评论(1编辑  收藏  举报

  这是该系列的最后一章,main类,该类继承自GameInfo也是游戏框架类。

  在这里我将使用原型生成pawn,这是一个十分有效的方法可以方便的让设计者在编辑器中对引用调用调试。

  声明变量

  var() pawn DefaultPawnArchetype;

  这样在pawn的类中defaultproperties只需要定义SkeletalMesh而不需要制定具体骨骼,生成一个Archetype然后在gameinfo中引用。

  DefaultPawnArchetype=编辑器中原型的All name 复制

  进入函数:

  

function pawn SpawnDefaultPawnFor(controller newPlayer,NavigationPoint StartSpot)

  {

      local pawn SpawnedPawn;

      local Rotation SpawnRotation;

      if(newPlayer==none&&StartSpot==none)

      return none;

      

      SpawnRotation==Rot(0,0,0);

      SpawnRotation=StartSpot.rotation.yaw;

      SpawnedPawn=Spawn(DefaultPawnArchetype.class,,,StartSpot,SpawnRotation,DefaultPawnArchetype);

      return SpawnedPawn;
  }  

 

现在要解决一些实际问题,怎么能加载一个地图?传统的方法是利用控制台open Mapname;

在IOS设备中要需要点击Menu的继续游戏选项,该选项的底层函数应该是这样

var config string MapVariableName;     //因为这是一个变量,变量取值用$符号

ConsoleCommand("open "$MapVariableName);

 

或者以下方式

exec function LoadNewMap(string MapVariableName)

{

  ConsoleCommand("open "$MapVariableName);
}

 

  暂时先告一段落。