二、lufylegendエンジンに基づく魔塔ゲーム開発(準備作業)


準備作業:画像素材
hero.pngキャラクターの精霊図は4つの移動方向に分かれています.
map.png地図の素材は精霊図と普通ブロック図を含みます.
goods.pngのものは普通のブロック図です.
chara.pngキャラクター素材にはnpcとモンスターの精霊図が含まれています.
ゲーム初期化
dom構造を定義し、lufylegendエンジンを導入する



  
    
    
    RPG
    
    
  

  
    
loading...
LInit(50, "mylegend", 352, 544, main);
LInitは、エンジン のグローバル を するために する. されたパラメータは、それぞれ、fps、domノード、 、 、calbackである.
calbackを して をロードします.
var imgData = [{
  name: "map",
  /*  */
  path: "./images/map.png"
}, {
  name: "chara",
  /*  */
  path: "./images/chara.png"
}, {
  name: "goods",
  /*  */
  path: "./images/goods.png"
}, {
  name: "hero",
  /*  */
  path: "./images/hero.png"
}];
function main() {
  LGlobal.align = LStageAlign.MIDDLE;
  LGlobal.stageScale = LStageScaleMode.SHOW_ALL;
  LSystem.screen(LStage.FULL_SCREEN);
  //      
  loadingLayer = new LoadingSample3();
  addChild(loadingLayer);
  LLoadManage.load(
    imgData,
    function (progress) {
      loadingLayer.setProgress(progress)
    },
    gameInit
  );
}
LGlobal.alignは、 のための LSystem.screenのスケーリングLoadingSample3のためにアニメーションをロードするLLoadManage.loadのためにローディングしてcalbackを る.このように が した はローディングされています. はAPIを してください.
//          
var imgList = {};
//      
var loadingLayer;
//   
var layers = {
  back: null,
  mapview: null,
  things: null,
  effect: null,
  talk: null,
};
function gameInit(result) {
  removeChild(loadingLayer);
  loadingLayer = null;
  imgList = result;
  //        
  layerInit();
  //      
  drawInit();
  //       
  drawGameInfo();
  LEvent.addEventListener(LGlobal.window, LKeyboardEvent.KEY_DOWN, playerEvent);
}
function layerInit() {
  layers.back = new LSprite();
  layers.back.graphics.drawRect(0, '#103820', [0, 0, LGlobal.width, LGlobal.height], true, '#012345');
  addChild(layers.back);
  layers.back.x = 0;
  layers.back.y = 0;
  layers.mapview = new LSprite();
  layers.back.addChild(layers.mapview);
  layers.things = new LSprite();
  layers.back.addChild(layers.things);
  layers.talk = new LSprite();
  layers.back.addChild(layers.talk);
  layers.effect = new LSprite();
  layers.effect.y = 11 * globalData.size
  layers.back.addChild(layers.effect);
}
ロードが したら、 をロードして し、 したresultをグローバル imgListに します.layerInitでは、ゲーム を していますが、 の は のレベルの さ(タイプz-indx)に を ぼし、 の さがより いことに してください.