首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

WPF/Silverlight 遊戲開發教程(三十八之一):地圖傳送與切換核心機制

     編輯:關於C語言

地圖處理最後一節,講解傳送點實現主角地圖間傳送與切換。關鍵在把握移除與添加:移除舊地圖除主角外所有物件,重新載入新地圖所有物件。每張地圖資訊記錄於 Config.XML,含表層、遮擋層、障礙物層及傳送點資訊。

傳送點控件 QXTeleport

含參數屬性:描述 Tip、地圖索引 Key、目標地圖代號 To、傳送後座標與朝向,自帶 DispatcherTimer 呈現動畫。

地圖配置傳送點資訊

<Teleports>
    <Teleport Code="6" Key="10" To="1" ToX="530" ToY="1040" ToDirection="1" X="600" Y="600" CenterX="64" CenterY="50" SingleWidth="128" SingleHeight="100" Tip="東海龍宮" FrameNum="15" />
</Teleports>

邏輯中將傳送點 Key 記錄障礙物陣列(0/1 為障礙/可通,2-255 供擴展)。判斷主角所在障礙物陣列值為某傳送點 Key 時觸發傳送:

傳送新地圖後移除舊資源,代碼因結構冗雜不列出,請參考源碼。單地圖可含多傳送點,第二張地圖配置:

<Teleports>
    <Teleport Code="6" Key="10" To="0" ... Tip="雲海仙境" ... />
    <Teleport Code="6" Key="11" To="2" ... Tip="天龍港" ... />
</Teleports>

移動到傳送點畫面切換:

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved