2013-07-20 69 views
-3

我總是想知道。如果我想設計一個平鋪遊戲(6×6瓦片),玩家可以按下一個瓦片,然後瓦片在屏幕上隨機移動,直到它碰到另一個特定的瓦片。那麼正確的方法是什麼?哪種方法適合設計這款遊戲

1 - 創建磚作爲Imageviews和偵聽的點擊,所以使用翻譯動畫我可以移動接觸的瓦片隨機左右(還不確定如何檢測碰撞)

2-聽爲觸摸方法並檢查觸摸座標是否在拼圖座標中,並通過「繪製」和檢查拼接動畫來爲動畫製作動畫。

在設計遊戲時,我總是困惑於哪種方式(就像那樣)。我知道我可以使用引擎,如AndEngine,但我想,以避免它

謝謝

+0

ImageView可能是錯誤的方法,因爲它很難精確地將視圖放置在給定的座標上,所以佈局背後的想法是做相對的佈局來縮放屏幕大小。 –

回答

0

可以使用ImageButton也不過太ImageView作品出來,爲碰撞,您可以使用相交矩形類的方法,你只需要創建一個矩形爲您的瓷磚

view.getLocationOnScreen(l); 
    int x = l[0]; 
    int y = l[1]; 
    int w = view.getWidth(); 
    int h = view.getHeight(); 

Rect r=new Rect(x,y,w,h); 

,然後檢查是否有碰撞

if(r.intersect(r2)) 

還有其他過載版本的相交也參考鏈接更多關於超載的 http://developer.android.com/reference/android/graphics/Rect.html#intersect(android.graphics.Rect)

+0

什麼形狀是不​​正確的? – Snake

+0

它不應該是一個矩形,矩形是該形狀的邊界框,也可以爲您的形狀創建一個圓形邊界框,並且如果您需要適合您的形狀的某些東西,則可以爲其構建一個路徑,但會嚴重降低性能 http://wiki.starling-framework.org/tutorials/basic_collision_detection –

0

你可以使用處理,它是一個相對簡單的圖形環境的Java(以一個簡單的遊戲一樣,大的學習曲線)在android上,性能並不是那麼好,但它開始非常簡單,可以在eclipse或處理IDE中使用。 http://processing.org/。處理IDE還包含很多例子,但它沒有任何花哨的功能,所以我認爲你會喜歡使用eclipse:http://processing.org/tutorials/eclipse/

AndEngine也相對容易使用,當你第一次得到它的時候,加上那裏是一個蓬勃發展的社區,但是,如果你不是java的話,它可能是一條陡峭的道路。

我不會推薦用Views製作遊戲,它的意思是應用程序。

+0

謝謝,但正如我問我的問題,我想遠離引擎 – Snake

+0

我不明白你爲什麼不想與遊戲引擎一起工作,其中大多數沒有陡峭的學習曲線相比wiritng所有的圖形,聲音,碰撞檢測等等。視圖不是爲遊戲而設計的,它們是針對應用程序GUI的。另外處理非常簡單,如果你已經知道java,需要5分鐘才能開始。 – EJTH

相關問題