IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

décalage entre différents élements graphiques d'une surfaceView


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut décalage entre différents élements graphiques d'une surfaceView
    Bonjour,

    J'ai différentes séries d'objets qui sont dans une même surfaceView : des objets du jeu et une interface.
    Quand je bouge mon écran, j'utilise la fonction translate du canvas pour passer de la vue du jeu a la vue de l'interface.

    Ca marche, mais quand je bouge rapidement, mon interface se décale également.

    voici comment j'utilise le canvas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
        void draw (Canvas c){
            c.translate( x, y );
            c.clipRect(rect) ;
        }
        void drawHUD(Canvas c){
            c.translate(-x, -y);
            c.clipRect(rect) ;
        }
    dans mon émulateur, il n'y a aucun problème en revanche si je le lance dans mon smartphone, il y a un grand décalage.

    Avez vous une idée de ce qui a pu se passer et pensez vous que cette façon de faire est correct ?

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut
    ps : Si je dévérouille le canvas puis le revérouille pour dessiner mon HUD, alors, le HUD reste fixe, donc c'est bien, par contre l'image clignote.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut
    Un p'tit UP

    a qui aurait une idée de ce qui se passe, ou une solution ?

    Si je recrée un Canvas ( et que du coup j'annule mon translate utilisé dans le drawHUD() ), ca marche, mais ca clignote :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
       public void draw(Canvas canvas)
        {
            if (holder!=null)
            {
                Canvas ccc = holder.lockCanvas();
                if (ccc!=null)
                {
                    ccc.drawRect(rect, paint);
                    gameSystem.update(ccc) ;
                    //gameSystem.drawHUD(ccc);
                    holder.unlockCanvasAndPost(ccc);
                }
                Canvas cc2 = holder.lockCanvas();
                if (cc2!=null)
                {
                    //ccc.drawRect(rect, paint);
                    gameSystem.drawHUD(cc2);
                    holder.unlockCanvasAndPost(cc2);
                }
            }
        }

    Merci.

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut
    Autan pour moi...

    C'était un problème de décalage entre le onToutch et le tread.

    PB résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. OLE pour communiquer entre différente instance d'une application
    Par justgreat dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 12/12/2009, 20h59
  2. décalage entre firefox et IE pour une image
    Par shito dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/01/2008, 00h20
  3. la différence entre élement liste et une lov
    Par rara_rara dans le forum Oracle
    Réponses: 2
    Dernier message: 04/10/2006, 10h25
  4. Définir une class comme élement graphique
    Par Janitrix dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 14/11/2005, 22h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo