2013-03-11 68 views
-1

我已經寫了與遊戲製作遊戲,但希望使用ActionScript 3易AI尋路圖書館

在遊戲製作這是簡單的有一個角色實例尋找最接近的敵人,轉而寫一個Flash遊戲,移動朝向它 - 遊戲引擎照顧到困難的東西。

我在業餘時間爲了娛樂而進行遊戲開發,並且不希望成爲A *尋路算法的專家。我只是想是這樣的:

mob.MoveToClosestEnemy(); 

我是不是要求太多或者是有沒有提供這樣的事情一個圖書館嗎?

回答

1

沒有內置的AS3庫來處理路徑查找的每個方面,因此您的選擇是通過谷歌尋找第三方庫並使用它或編寫自己的A *算法。

如果你想編寫自己的,這是一個非常不錯的介紹與一個偉大的動畫例子尋路: http://www.emanueleferonato.com/2012/11/26/the-basics-of-pathfinding-animated-example/

注:這不是一個簡單的技術,你會使用AS3充分了解需要相關經驗這一切。

-2

我寫了Daedalus Lib,一個基於delaunay三角剖分的完整的開源AS3尋路庫。您可以輕鬆構建一個環境(甚至可以使用位圖),請求路徑查找,樣本路徑......它完全動態,準確和快速。

你可以在這裏看到演示: http://totologic.blogspot.fr/2013/12/introducing-daedalus-lib_19.html

下載源和wiki: https://code.google.com/p/daedalus-lib/

享受!

編輯後:

第一件事。而Game Maker則是一款專注於一項任務(製作遊戲)的工具,而Flash則是一種更通用的平臺;你可以開發遊戲,但也可以應用程序

這不僅僅意味着在Flash中,你有兩個選擇:

1 - 你選擇一個完整的遊戲引擎庫,將實現顯示,物理學,控制...(也許尋路)。這樣的庫存在(Flixel,Flashpunk ...),你只需要檢查它們的特徵,並選擇更適合你的需求。

2:你建立你自己的遊戲引擎。這並不意味着你必須從頭開始編寫所有代碼。你可以編寫許多專用於單個任務的庫,例如用於2D顯示的Starling,用於3D顯示的Away3D,用於物理的Box2D ......這更加困難,因爲您必須瞭解圖書館中的基本概念,並具有遊戲體系結構,但這種方法更加強大和靈活。

因此,Daedalus Lib致力於爲第二種方法工作的人員。它被設計成您自己的遊戲引擎的組件;例如,您可以將它與Box2D和Starling結合使用。

從開始,我設計代達羅斯很容易,同時保持靈活。

例如,你可以簡單地通過使用位圖的注入你的水平設計轉換成代達羅斯庫,這樣的:

var myLevel:DDLSMesh; 
myLevel = DDLSBitmapMeshFactory.buildFromBmpData(myBitmap.bitmapData); 

然後定義實體,將發揮你的暴徒的角色:

var myMob:DDLSEntityAI = new DDLSEntityAI(); 
myMob.radius = 5; 
myMob.x = 132; // current x 
myMob.y = 224; // current y 

最後問一個路徑爲你的暴徒你的水平內:

var path:Vector.<Number> = new Vector.<Number>(); 
var myPathfinder:DDLSPathFinder = new DDLSPathFinder(); 
myPathfinder.entity = myMob; 
myPathfinder.mesh = myLevel; 
myPathfinder.findPath(yourGoalX, yourGoalY, path); 

AFTE您的變量路徑將包含生成的路徑的座標,以便您的暴徒達到目標,避免與您在位圖中定義的級別發生衝突。 您可以通過enterFrame直接在MovieClip上使用這些座標,讓您的怪物在屏幕上移動,或者在物理模擬中使用它來改變物體的速度。

+0

而不是堵住你的圖書館,留下它,一個很好的答案會證明(與代碼,在這個相同的答案)如何解決原來的問題。 **僅將鏈接到相關材料**的答案在SO上不鼓勵。 – 2015-02-12 03:42:42

+0

請求是「有沒有提供這樣的事情的圖書館?」。這不是對代碼抽樣的請求。 所以我通過提供代碼源和文檔的直接鏈接回答。 但是,如果您有任何問題可以用代碼回答,您可以詢問:) – Logic 2015-02-12 04:01:19

+0

@Logic是的,但請注意,2013年的這個問題不再符合當前的SO質量指南;具體而言,尋求圖書館,參考資料,教程等的問題現在被視爲**偏離主題**。你的回答適合這個問題,但問題不再合適。 SO標準的答案目前不鼓勵新的答案(不管問題)從簡單地鏈接到外部內容而沒有在答案中總結內容。 – 2015-02-12 04:12:16