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

JavaScript Discussion :

Animation JS Test


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par d�faut Animation JS Test
    Bonjour, bonsoir,

    �tant un grand d�butant en JavaScript (j'ai commenc� cette apr�s-midi )
    Je suis d�j� coinc� x)

    Je vous explique, pr�f�rant faire des tests avec ce qui me plait plut�t que de suivre des tutoriels, j'ai commenc� � vouloir faire un petit jeu ou l'on incarnerais un petit personnage qui se baladerais et qui tirerais des fleurs qui se posereais sur une map vierge de base. Euh... Ca doit �tre tr�s clair... Mais en gros on incarne un fleuriste

    Donc j'essaye pour commencer de faire une animation de marche.

    Donc j'ai chop� un sprite d'un petit personnage (rien d�exceptionnelle) pour ce qui connaisse RPG maker.

    Donc le truc c'est qu'il est en 3 temps, un position avec la jambe gauche devant (1), une sans jambe devant (2), et une troisi�me avec la jambe droite devant (3).

    Donc voulant faire les choses bien, mon animation vas �tre en quatre temps: 2, 1, 2 , 3.

    Voil� mon code html:
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <article>
    	<h1>Animation avec le javascript</h1>
    	<script type="text/javascript" src="animationtest1.js"></script>
    	<img src="images/couche_transparent.png" id="joueur" onload="animationJoueur()">
    </article>

    Et voil� mon code Javascript
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    function animationJoueur()
    {
    	var joueur = document.getElementById("joueur");
    	joueur.style.background = "url(images/perso001.png) 64px 128px";
    	joueur.style.width = "32px";
    	joueur.style.height = "32px";
    	var marcheAnimJoueur1 = joueur.style.backgroundPosition = "32px 128px";
    	var marcheAnimJoueur2 = joueur.style.backgroundPosition = "64px 128px";
    	var marcheAnimJoueur3 = joueur.style.backgroundPosition = "96px 128px";
    	var timer;
    	var tempsMarche = 1;
    	function animationJoueurMarche()
    	{
    		if(tempsMarche == 1)
    		{
    			joueur = marcheAnimJoueur2;
    			tempsMarche = 2;
    			return;
    		}
    		if(tempsMarche == 2)
    		{
    			joueur = marcheAnimJoueur1;
    			tempsMarche = 3;
    			return;
    		}
    		if(tempsMarche == 3)
    		{
    			joueur = marcheAnimJoueur2;
    			tempsMarche = 4;
    			return;
    		}
    		if(tempsMarche == 4)
    		{
    			joueur = marcheAnimJoueur3;
    			tempsMarche = 1;
    			return;
    		}
    		return;
    	}
    	timer = setInterval(animationJoueurMarche,150);
    }
    Alors pour tout vous dire, �a marche pas

    En �crivant ses lignes, je pense avoir trouv� la solution oO'

    Faudrait-il pas s�parer le:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    timer = setInterval(animationJoueurMarche,150);
    et le mettre compl�tement hors du code??

    ... FAUX !

    Bon j'ai encore besoin de votre aide alors ^^

    Merci d'avance

    Edit:

    Essayant de trouver d'o� vient le probl�me, j'ai mis:
    ici ->
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    if(tempsMarche == 1)
    {
    	joueur = marcheAnimJoueur2;
    	tempsMarche = 2;
    	alert("bouh!");
    	return;
    }
    Soit sur le premier 'if' de mon animation...

    Et l� surprise, je me met l' "alert" en boucle !
    J'en conclu que c'est bien:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    timer = setInterval(animationJoueurMarche,150);
    qui me pose probl�me... What?
    Reprendrait-il tout mon script depuis le d�but?? Pourtant je lui demande juste la fonction : animationJoueurMarche

    J'dois vous avouez que je suis un peu perdu x)

    En faite il fait pire que �a, j'en ai mis un dans le deuxi�me 'if' il s'affiche en boucle apr�s le premier "bouh !"

    J'vais essayer d�emboiter mes "if" pour voir si �a change quelque chose.
    Met c'est bizarre vue que j'ai un "return"...

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Le 150 dans le setInterval, �a signifie que le code s'ex�cute toutes les 150 millisecondes. Et comme tu boucles sur les valeurs 1-2-3-4, rien d'�tonnant � ce que la bo�te d'alerte s'affiche en boucle (toutes les 600 millisecondes dans ton cas).

    Il me semble que tu as oubli� l'essentiel dans ton code : tu n'utilises nulle part ta variable tempsMarche ! Il faut mettre � jour la propri�t� backgroundImage de ton �l�ment si tu veux esp�rer voir ton animation

    Au passage, petite entr�e de la FAQ utile pour bien d�marrer :
    http://javascript.developpez.com/faq...syntaxe#Erreur

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par d�faut
    Merci beaucoup gr�ce � toi, j'y est vue plus clair dans mon code

    Et du coup maintenant, �a marche!

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    function animationJoueur()
    {
    	var joueur = document.getElementById("joueur");
     
     
    	joueur.style.background = "url(images/perso001.png) 64px 128px";
     
    	joueur.style.width = "32px";
    	joueur.style.height = "32px";
     
    	var timer;
     
    	var tempsMarche = 1;
     
    	function animationJoueurMarche()
    	{
     
     
    		if(tempsMarche == 1)
    		{
    			joueur.style.backgroundPosition = "64px 128px";
    			tempsMarche = 2;
    			return;
    		}
     
    		if(tempsMarche == 2)
    		{
    			joueur.style.backgroundPosition = "32px 128px";
    			tempsMarche = 3;
    			return;
    		}
     
    		if(tempsMarche == 3)
    		{
    			joueur.style.backgroundPosition = "64px 128px";
    			tempsMarche = 4;
    			return;
    		}
     
    		if(tempsMarche == 4)
    		{
    			joueur.style.backgroundPosition = "96px 128px";
    			tempsMarche = 1;
    			return;
    		}
     
    	}
     
     
     
    	timer = setInterval(animationJoueurMarche,300);
     
    }
    La solution est que j'avais trop voulu raccourcir mais ligne du ben �a donn� n'importe quoi xD

    Il faut mettre � jour la propri�t� backgroundImage de ton �l�ment si tu veux esp�rer voir ton animation
    C'est cette petite phrase qui a fait le tilt dans ma t�te

  4. #4
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Le probl�me d'alert c'est qu'elle est synchrone : le script attend que l'utilisateur clique sur Ok avant de continuer� Pour �viter ce probl�me, utilise une des m�thodes de la console, par exemple console.log.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    4
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par d�faut
    Merci pour la petite astuce

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    Citation Envoy� par Twodwo
    Merci pour la petite astuce
    tu n'as pas du prendre le temps de regarder/lire le lien fourni par SylvainPV
    Citation Envoy� par SylvainPV
    Au passage, petite entr�e de la FAQ utile pour bien d�marrer :
    http://javascript.developpez.com/faq...syntaxe#Erreur

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [API HTML5] Erreur IE "SCRIPT5007" lors d'un test d'animation HTML 5.
    Par BugFactory dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 10/01/2013, 15h17
  2. R�ponses: 1
    Dernier message: 11/06/2010, 14h02
  3. R�ponses: 3
    Dernier message: 11/05/2009, 09h40
  4. Programmer le test d'animation(Ctrl+entr�e)
    Par slim_java dans le forum G�n�ral Java
    R�ponses: 0
    Dernier message: 10/05/2009, 00h08
  5. publication diff�re du test d'animation
    Par jfrsm dans le forum Flash
    R�ponses: 5
    Dernier message: 18/01/2007, 19h29

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