CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: pumaro con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 31 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 1 su 1
Discussione:

Problema coi livelli dello sfondo

Se questa discussione ti č stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2014
    Messaggi
    8

    Ringraziamenti
    4
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema coi livelli dello sfondo

    Ciao a tutti,
    Ho iniziato da poche settimane a programmare in Java, per Android e sono nuovo del forum quindi se il problema č banale o se ho sbagliato sezione mi scuso in anticipo. Dopo aver creato alcune piccole App con Eclipse sto programmando un piccolo gioco. Sto organizzando lo sfondo a livelli che si muovono a velocitā differenti come in giochi quali Canabalt o simili. Il problema č che se vado a sovrapporre fino a 3 immagini di sfondo il gioco funziona bene mentre se ne vado a sovrapporre una quarta, l'applicazione inizia ad andare 'a scatti', i livelli si muovono pianissimo ed a volte stanno addirittura fermi. allego parte del codice nella speranza che possiate dirmi il motivo.

    public class MyView extends View{
    private float xbg1,velbg1,xbg2,velbg2,xbg3,velbg3,xbg4,velbg4;
    private Bitmap bg1,bg2,bg3,bg4;

    public MyView(Context context) {
    super(context);
    bg1=BitmapFactory.decodeResource(getResources(), R.drawable.bg1);
    bg2=BitmapFactory.decodeResource(getResources(), R.drawable.bg2);
    bg3=BitmapFactory.decodeResource(getResources(), R.drawable.bg3);
    bg4=BitmapFactory.decodeResource(getResources(), R.drawable.bg4);

    xbg1=xbg2=xbg3=xbg4=0;
    velbg1=-1;
    velbg2=-2;
    velbg3=-4;
    velbg4=-8;
    } // end constructor MyView



    protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawColor(Color.BLACK);

    canvas.drawBitmap(bg1, xbg1, 0, null);
    xbg1+=velbg1;
    if(xbg1<0-1067)xbg1=0;

    canvas.drawBitmap(bg2, xbg2, 0, null);
    xbg2+=velbg2;
    if(xbg2<0-1067)xbg2=0;

    canvas.drawBitmap(bg3, xbg3, 0, null);
    xbg3+=velbg3;
    if(xbg3<0-1067)xbg3=0;

    canvas.drawBitmap(bg4, xbg4, 0, null);
    xbg4+=velbg4;
    if(xbg4<0-1067)xbg4=0;

    invalidate();
    } // end OnDraw

    xbg sta per la coordinata x dell'immagine di sfondo mentre velbg per la sua velocitā di scorrimento.
    Grazie in anticipo
    Ultima modifica di p1fF; 14-07-14 alle 16:02

  2.  

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy