Autore Topic: Creare 2 barre e una pallina cn bitmap e canvas!!!  (Letto 538 volte)

Offline alex93

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung galaxy s2
  • Sistema operativo:
    Windows 8
Creare 2 barre e una pallina cn bitmap e canvas!!!
« il: 02 Gennaio 2013, 18:15:08 CET »
0
Ciao a tutti, non è molto che programmo in android, per questo mi servirebbe un piccolo aiuto per creare il gioco di pong per android. Adesso il mio primo obbiettivo è riuscire a creare 2 barre e la pallina con una bitmap, anche caricandoci un'immagine. In questo modo mi potrei facilitare le collisioni con la sovrapposizioni dei pixel.

Questa è una parte del  mio programma(non mi da errori) dove creo gli oggetti cn il canvas, ma le collisioni non mi funzionano, ecco perche preferisco utilizzare il bitmap
Codice (Java): [Seleziona]
public void draw(Canvas canvas, Paint paint) {

        //Clear
        canvas.drawRGB(20, 20, 20);
//settaggio del colore
        paint.setARGB(200, 0, 200, 0);
       

        //pallina
        canvas.drawRect(new Rect(ballX,ballY,ballX + ballSize,ballY + ballSize),
                                     paint);

        //barre: bsin sta per barra sinistra bdes per barra destra
        canvas.drawRect(new Rect(bSinX, bSinY, bSinX + bLength,
                                              bSinY + bHeight), paint);
        canvas.drawRect(new Rect(bDesX, bDesY, bDesX + bLength,
                                              bDesY + bHeight), paint);
        }
Collisioni
Codice (Java): [Seleziona]
ballX += ballVelocityX;
ballY += ballVelocityY;

       
        if(ballX > _screenW || ballX < 0)      
        {ballX = 200;   ballY = 40;}    // reset della pallina: funzionante

        if(ballY > _screenH || ballY < 0)
                        _ballVelocityY *= -1;   // collisione cn i lati .Funzionante   

        if(ballY > bSinY && ballY < bSinY+bHeight && ballX < bSinX)            
                         ballVelocityY *= -1;  
       
        if(ballY > bDesY && ballY < bDesY+ bHeight && ballX > bDesX)
                               ballVelocityY *= -1;
        }