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

C# 開發 WPF/Silverlight 動畫與遊戲系列教程(十二)神奇的副本地圖(三)—— 改進型 A* 驗證與副本地圖萬用論

     編輯:關於C語言

代碼邏輯說明

滑鼠點擊判斷副本地圖該點是否黑色(障礙物),是則不移動,否則啟動直線移動。變量儲存副本圖片源、主角精確座標、目標點。介面執行緒即時取得主角座標檢測副本顏色:黑→切換 A* 尋路;黃→傳送至 (200,20)。可擴充更多顏色觸發事件。

對比效果

純 A* 移動:路徑機械、折疊多、不自然。

直線移動 + 副本地圖 + A* 改進型:幾乎完美貼合真實。

補充說明

範例副本地圖僅一視窗大小,主角移出視窗會拋異常關閉,非 Bug,證明 pickColor 正確性。

小結

改進 A* 不一定需副本地圖(可直接查矩陣),但副本地圖萬用性更強:擴展性強、描述直觀、解放思想、面向對象。魔獸世界等名作亦用類似技術。遺憾:未研究出純副本地圖精確尋路(完全拋棄 A*)。構想:副本地圖繪製誘導點,碰到障礙物尋最近誘導點作臨時目標,再向終點移動。簡單地圖可行且或優於 A*,複雜地圖如何優化?拋磚引玉。

美術可直接參與地圖引擎設計,簡化切割/拼圖/編輯/轉換四大步驟,這就是 21 世紀開發模式!下節講角色與地圖/物體相對移動,敬請關注。

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