2012-10-17 109 views
4

大家好,感謝您的時間。這是實現這種圖形設計的最佳方式嗎? (Android)

問題簡介:基本上主要的問題是,我設計了一個android平板電腦應用程序,我不知道究竟是哪一種實現我一直在想的設計的最佳方式。我一直在閱讀,有可能使用Android之外的其他平臺,比如OpenGL或HTML,但我實際上並不知道如何去做,如果有必要的話。

我該怎麼做?我不知道該如何解釋究竟這是使用的話我的想法,所以我決定編寫一個關於它的小圖像,那就是:

Design about what I attempt to implement

所以,這個想法是拖&降按鈕移至顏色方塊,並檢測它們是否發生碰撞,如果發生這種情況,請啓動一個事件。然後所有的按鈕將自己再次訂購。

那是哪個問題呢?我是新來的android,我不知道哪個是最好的方式來開始實現這個,如果我應該賭OpenGL或直接在android程序。在這兩種情況下,這是最好的方式開始創建這樣的事情?

最後一件事:我想澄清一些事情,以防萬一:這不是任何有人要求我做的學校工作,我是由我自己做的。我是不問人們做我的工作我只是問你的意見,並尋求幫助和指導如何開始管理。 (所以我想你的專業意見,而不是任何一行代碼):D

非常感謝你們所有人。 :)

馬蒂。

回答

1

Open GL似乎是你最好的選擇。我對Android OpenGL沒有太多經驗,但它將成爲編寫應用程序的最有效方式 - 因爲您正在處理碰撞檢測和顏色。

Android OpenGL將是最好的選擇,因爲它將由ADK本地編譯,而HTML將在運行時解釋。

至於使用普通的平淡的Android佈局,我不會推薦,因爲這不是使用標準組件的「標準」UI。您正在創建一個完全獨特的圖形化界面,因此我建議堅持這一點。

編輯:您將會發現,通過使用標準佈局,您的所有用戶界面組件都必須進行自定義,並且您將花費大量時間用onDraw()方法進行碰撞檢測。

這樣做的一個問題是您需要檢查對象是否與另一個對象發生衝突,從而使某些類型的對象相互意識到,並且可能存在循環引用的風險。而如果你使用OpenGL,你可以有一個「Shape」類型的列表,然後有一個「checkCollision(Shape draggedObject)」方法,遍歷整個形狀列表並使用最簡單對象的優化碰撞檢測來檢查碰撞。

第二個問題是在onDraw()方法中執行碰撞檢測會使您的應用程序滯後,並在執行拖動時對用戶看起來很粘。更多的組件越多的問題。

編輯2: 下面是Android的OpenGL的一些資源: http://developer.android.com/guide/topics/graphics/opengl.html
http://www.learnopengles.com/android-lesson-one-getting-started/
2D example with OpenGL

+0

同爲我回答/問@Coderer,如何整合的OpenGL(或其他語言)來一個android項目?你有什麼好的教程嗎?謝謝! – TurboTi

+0

我已經添加了一些教程 - 只記得使用OpenGL的缺點是現在你必須自己管理大多數東西,比如拖動等。 –

+0

其實我並不害怕碰撞檢測,因爲我必須用一個方塊來做,基本上我只需要檢查我是否將圓形放在方形內部,所以我只會在放下對象的時候檢查它:) 另一件給我的問題是,所有這些圈子都必須在被拖動時被動畫,如果我用位圖動態創建它們(所以它們不在main.xml中)現在我不知道如何爲它們設置動畫,大多數教程都使用視圖佈局和所有這些東西! – TurboTi

2

這聽起來像它會是很容易使用的觸摸事件在HTML/JavaScript來辦,可能使用support library進行拖放事件。我不知道它對你是否重要,但該解決方案的好處是它可以很容易地從Android移植到其他移動設備。

像金廷說,如果性能是一個大問題,你可以在我看來,你不優化,去到OpenGL,但你也許可以擊倒在HTML一個簡單的原型在一天內下...

+0

所以,如果我想用OpenGL做到這一點,我應該從哪裏開始,你建議我任何好的教程如何實現它?因爲我必須承認,我不知道如何在項目中合併android和OpenGL。 除此之外,應用程序還使用了我已經在Android中實現的聲音處理,所以我不知道如果我去OpenGL會造成什麼麻煩。 並且在我嘗試使用HTML的情況下,和以前一樣?哪種方法可以合併兩種語言? 非常感謝! – TurboTi

1

」不需要任何框架。你可以用android做到這一切。我也會建議你使用android。我不是一個好的設計師,但我的建議是這個:

2倍的FrameLayout,對於左側,一個用於rightside 對於色彩工具色彩工具,爲每個2種顏色可以使用的LinearLayout 。如果你想要精確的後備設計,你可以使用圖像軟件進行設計,並可以在後臺進行設置。 爲顏色,您可以使用imageButton。

,我也建議你閱讀教程如何設計的應用程序,這裏是一個很好的教程:http://mobile.tutsplus.com/tutorials/android/android-layout/

相關問題