2014-03-29 3 views
-1

안녕하세요 저는 여러 사용자가 동시에 호를 그릴 수 있도록 캔버스를 공유하는 Android 앱을 개발 중입니다. 내 계획은 phonegap을 사용하여 HTML5 canvas 요소를 사용할 수있게하는 것이 었습니다. 그러나 나는이 방법으로하기가 어렵다고 생각합니다. phonegap을 사용하지 않고이 앱을 만드는 다른 방법이 있습니까? 다른 대안을 공유하십시오.여러 사용자가 동시에 호를 그릴 수 있도록 Android 앱에서 캔버스를 공유 할 수 있습니다.

답변

1

모든 서랍 사이에서 공유되는 객체에 모든 뇌졸중을 저장하는 아키텍처가 필요합니다.

public class DrawStrokes{ 
private ArrayList<ArrayList<Point>> strokes; 
} 

이 그럼 당신은 (ArrayList<Point>를) 스트로크를 추가하고 aswell 모든 스트로크를받을 방법을 추가하는 방법을 추가 할 수 있습니다

하면 객체 같은 말해봐.

스트로크를 그릴 때 모든 ArrayLists를 가져 와서 그립니다.

색상을 추가하면 피사체가 더욱 복잡해질 수 있습니다.

편집 : 구현시 더 많은 코드.

는 터치 이벤트를 수신 :

public boolean onTouchEvent(MotionEvent e) { 
     synchronized (drawThread.getSurfaceHolder()) { 
      final int action = e.getAction(); 
      switch (action & MotionEvent.ACTION_MASK) { 
       case MotionEvent.ACTION_DOWN: { 
        startNewArrayOfDrawingPoints(); 
        break; 
       } 
       case MotionEvent.ACTION_MOVE: { 
        addPositionToYourArray(); 

        break; 
       } 
       case MotionEvent.ACTION_UP: { 
        userStoppedDrawing(); 
        break; 
       } 
       case MotionEvent.ACTION_CANCEL: { 
        userStoppedDrawing(); 
        break; 
       } 
      } 
      return true; 
     } 
    } 

public void onDraw(Canvas canvas) { 
      canvas.drawColor(Color.WHITE); 
      for(int i = 0; i < allStrokes.size(); i++){ 
       for (int j = 0; j < allStrokes.get(i).size(); j++){ 
       canvas.drawCircle(allStrokes.get(i).get(j).x, 
          allStrokes.get(i).get(j).y, 
          radie, 
          paint; 
       } 
      } 
     } 
+0

가 어떻게 사용자가 터치를 사용하여 무엇이든 그릴 수있는 캔버스를 구현하는 방법을 줄 수 목록에 모든 것을 그립니다. 난 그냥 접근 방식이 필요해, 안드로이드가 처음이야. – thetatheta

관련 문제