Autore Topic: Sull'emulatore ho un output diverso che sul device ????  (Letto 422 volte)

Offline giannign1

  • Utente junior
  • **
  • Post: 85
  • Respect: +2
    • chiedetelo_se_lo_volete
    • Mostra profilo
  • Dispositivo Android:
    Google Nexus One
  • Play Store ID:
    giannign1
  • Sistema operativo:
    Windows 7
Sull'emulatore ho un output diverso che sul device ????
« il: 06 Novembre 2011, 22:31:21 CET »
0
Salve
avete letto bene
praticamente mando in esecuzione con Eclipse la mia applicazione prima su emulatore poi sul device, e ho due risultati diversi...
Lavoro con AndEngine

Il codice è questo ma non credo dipenda dal codice...

Codice (Java): [Seleziona]
Rectangle e = new Rectangle(100, 100, 200, 200){
                       
                        @Override
                        public void onManagedDrawChildren(final GL10 pGL, final Camera pCamera) {

//Praticamente qui faccio l'override cercando di ottenere che se un figlio di questo oggetto non è completamente al suo interno, vengono
//disegnate solo le parti all'interno dell'area del rettangolo (ciò avviene eseguendo sull'emulatore mentre se eseguo col device ottengo solo la
//visualizzazione del rettangolo ........
                                final ArrayList<IEntity> children = this.mChildren;
                                final int childCount = children.size();
                                float xo, yo;
                                int w, h;
                                for(int i = 0; i < childCount; i++) {
                                        Sprite s = (Sprite) children.get(i);
                                        if(s.getX() > getWidth() ||
                                                        s.getX() + s.getWidth() < 0 ||
                                                        s.getY() > getHeight() ||
                                                        s.getY() + s.getHeight() < 0    )
                                                continue;
                                        xo = (s.getX() < 0 ? - s.getX() : 0);
                                        yo = (s.getY() < 0 ? - s.getY() : 0);
                                        w = (int) (s.getWidth() - xo > getWidth() - s.getX() - xo ? getWidth() - s.getX() - xo : s.getWidth() - xo);
                                        h = (int) (s.getHeight() - yo > getHeight() - s.getY() - yo ? getHeight() - s.getY() - yo : s.getHeight() - yo);
                                        TextureRegion orig_tr = s.getTextureRegion();
                                        float tx_scale_x = orig_tr.getWidth() / s.getWidth();
                                        float tx_scale_y = orig_tr.getHeight() / s.getHeight();
                                        TextureRegion tr = new TextureRegion(orig_tr.getTexture(), orig_tr.getTexturePositionX() + (int)(xo * tx_scale_x), orig_tr.getTexturePositionY() + (int)(yo * tx_scale_y), (int)(w * tx_scale_x), (int)(h * tx_scale_y));
                                        new Sprite(s.getX() + xo, s.getY() + yo, w, h, tr       ).onDraw(pGL, pCamera);
                                }
                        }
                       
                       
                };
                this.attachChild(e);
                e.attachChild(new Sprite(-50,-50,100,100,pBackground));

Come scritto nel commento sull'emulatore lo sprite viene "tagliato" e disegnato come desiderato mentre sul device non viene disegnato proprio....

Idee???