Autore Topic: Disegnare cerchi in una view con canvas  (Letto 880 volte)

Offline theking0

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Disegnare cerchi in una view con canvas
« il: 24 Maggio 2012, 02:53:44 CEST »
0
Salve, sono abbastanza nuovo del mondo android (ho sempre usato le Qt su Symbian).
Sto cercando di creare una sorta di gioco, in pratica dovrei riuscire a disegnare tanti cerchi mentre si passa il dito sullo schermo, vi mostro quello che ho fatto fino ad ora:

qui che il main principale:
Codice: [Seleziona]
package test.pack.namespace;

import ...

public class TestActivity extends Activity {
    DrawView drawView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        drawView = new DrawView(this);
        drawView.setBackgroundColor(Color.WHITE);
        setContentView(drawView);

    }
}

qui la classe Ball:
Codice: [Seleziona]
package test.pack.namespace;

import ..
 
public class Ball extends View {
           private final float x;
            private final float y;
            private final int r;
            private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
           
            public Ball(Context context, float x, float y, int r) {
                super(context);
                mPaint.setColor(0xFFFF0000);
                this.x = x;
                this.y = y;
                this.r = r;
            }
           
            @Override
            protected void onDraw(Canvas canvas) {
                super.onDraw(canvas);
                canvas.drawCircle(x, y, r, mPaint);
            }
}

e qui arriviamo al punto dove mi sono bloccato, in teoria dovrei creare delle istanze della classe "Ball" e aggiungerle alla View nella posizione del "touch":
Codice: [Seleziona]
package test.pack.namespace;

import ...

public class DrawView extends View {
   

    public DrawView(Context context) {
        super(context); 

    }


    @Override
    public boolean onTouchEvent(MotionEvent e) {
           
               // qui dovrei disegnare una pallina alle coordinare di e.getX() e e.getY()
           
                return true;
    }

}

tutte le palline disegnate poi dovranno essere messe in una apposita lista per poterci fare dei calcoli, ma questa è una cosa secondaria, lo scopo per ora è riuscire a disegnarle.

speri di essere stato chiaro nella spiegazione.
Qualcuno ha dei consigli da darmi ?

Grazie
« Ultima modifica: 24 Maggio 2012, 12:39:19 CEST da theking0 »

Offline theking0

  • Nuovo arrivato
  • *
  • Post: 2
  • Respect: 0
    • Mostra profilo
Re:Disegnare cerchi in una view con canvas
« Risposta #1 il: 24 Maggio 2012, 12:38:59 CEST »
0
cavolo .. non riesco ad venirne fuori, perche anche facendo una cosa del genere:


Codice: [Seleziona]
public class DrawView extends View {
    Context c;
    FrameLayout main ;
    public DrawView(Context context) {
        super(context); 
        main = new FrameLayout(context);   
        c = context;   
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
           
        main.addView(new Ball(c, event.getX(), event.getY(), 25));
           
                return true;
    }
}

poi come setto la FrameLayout alla view ?
ma credo che sia il metodo sbagliato.
Ormai sono 2 giorni che ci sbatto la testa>:(
« Ultima modifica: 24 Maggio 2012, 12:42:09 CEST da theking0 »

jfrankie

  • Visitatore