1. 程式人生 > >【cocos3.x+tilemap】製作rpg小遊戲(一)地圖製作

【cocos3.x+tilemap】製作rpg小遊戲(一)地圖製作

       前面做過一個小的馬里奧遊戲,現在來實現一個小時候玩過的類似文曲星上《英雄壇說》的小RPG遊戲。
       與橫板的馬里奧遊戲不同,這個遊戲需要實現的東西更多——包括45度斜角地圖、2.5D物體遮擋、尋路演算法、npc互動等,不過不需要再引入Box2d了,因為只要實現簡單的物體碰撞檢測就可以了。
       現在已經實現地圖載入、45度斜角交錯地圖座標定位、2.5D物體遮擋,不過遮擋還有一個問題,就是png影象透明部分還是會遮擋後面的對像,不知道沒有有高人知道是什麼原因?

現在實現如下:

一、地圖素材

二、地圖製作

1、新建地圖

如圖:
這裡寫圖片描述

  • 選擇交錯地圖,這樣做出來的地圖是一個大矩形,比較好處理(可惜後面在取瓦片座標時才發現,這種地圖是最難取的),之前的版本對交錯地圖支援有限,還需要修改引擎,我使用的3.9在使用過程中,沒有碰到相關問題;
  • 編輯器支援三種地圖,普通地圖(直90°) 、 斜45°地圖 、 斜45°交錯地圖。區別如下:
    • (1)普通地圖(直90°)
      這裡寫圖片描述
    • (2)斜45°地圖
      這裡寫圖片描述
    • (3)斜45°交錯地圖
      這裡寫圖片描述
  • 瓦片地圖座標系
    瓦片地圖的座標系為:

    • 原點:在左上角。
    • 單位:瓦片數量。
    • X軸正方向:從左到右。
    • Y軸正方向:從上到下。

    例如:對於一個 10*10 的瓦片地圖檔案的座標系統為:(0, 0)左上角、(9, 9)右下角。
    PS:具體座標表示,已在上面的幾幅圖中標出。
    另外,在地圖編輯器中,其實也已經標出了瓦片的座標。
    滑鼠移動到某瓦片格子上,左下角就會顯示格子的座標,以及所使用的瓦片素材的GID。

2、匯入素材

如圖:
這裡寫圖片描述

匯入後如圖:
這裡寫圖片描述

3、製作地圖

3.1 地圖設計使用3層:

這裡寫圖片描述

  • 第一層ground是背景層,用於放置最下面的地面;
  • 第二層objects是物件層,用於放置房屋、牆、樹等;
  • 第三層blocks是阻隔碰撞層,用於判斷是否可穿越;
  • npc等互動物件暫時還沒有做,後續加入;

3.2 畫地圖

  • 第一層
    這裡寫圖片描述
  • 第二層
    這裡寫圖片描述
  • 第三層
    這裡寫圖片描述
  • 最後組合起來如圖
    這裡寫圖片描述

這樣地圖已經準備完畢,可以在程式中使用了。