2015-08-21 18 views
1

我是libGdx框架的新手,但我已經開發了幾個月的android應用程序。我面臨的問題是,我無法獲得製作應用程序的方式,我可以根據用戶使用手勢繪製項目。 我已經搜索了很多,但找不到工作,使用libgdx框架來做下面的事情。使用libGDX爲Android繪製應用程序

基本上,我的計劃是:

  1. ,我會檢查用戶拖動「isdragging()」如果是的,我想請使用「DDA算法」創建行按輸入從「Gesturedetection」界面的「dragstart()」中收到,但我沒有收到方法中的任何數據。

  2. 根據用戶的動作來渲染像素圖。

任何形式的幫助都會有所幫助。

+0

我必須實現同類功能的遊戲,我3年前做出。解決這個問題。我把我的dekstop和主要項目中的所有東西都放到了android項目中,然後我使用了原生android,並從遊戲活動切換到繪圖活動,然後在繪圖切換回遊戲活動後進行繪圖板特殊功能。那麼沒有太多的場景2d,我正在使用0.9.6我認爲隨着近期的發展,應該有一個解決方案,如果不是那麼你可以去這個長而愚蠢的解決方案。 –

+0

你有什麼計劃實施橡皮擦?只是爲了使用橡皮擦我做了Android切換的東西 –

+0

你可以請代碼方面具體位?不,我只是想有一個繪圖應用程序,並存儲這些圖紙 – silverFoxA

回答

1

假設你使用Scene2D您可以輕鬆地使用DragListener與舞臺綁定得到(X,Y)的指針位置whenewer用戶將降落在舞臺和移動他的指針

stage.addListener( 
    new DragListener() 
    { 
     public void drag(InputEvent event, float x, float y, int pointer) 
     { 
      Vector2 v = new Vector2(x, y); 
      positionArray.add(v); //positionArray is Array<Vector2> type in this example 
     } 
    } 
); 

那麼你可以只記得例如陣列中的位置(陣列看起來很不錯),並且在渲染器中可以使用ShapeRenderer或其他一些工具來渲染這些點。因爲您記住了所有的要點,所以使用「橡膠」時可以輕鬆將其刪除。

問候, 米哈爾

+0

我會試一試,讓你知道,似乎工作 – silverFoxA

+0

對不起,但它不起作用 – silverFoxA

+0

對不起,我犯了一個錯誤 - x和y是你開始拖動的delta od位置 - 你可以記得在一個可變的起點(有方法dragStart - 看起來像拖動但觸發一次)然後添加到數組的起點+(x,y),而不是隻是(x,y) –