µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

[Animation] playAnimation ne fait rien

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide
Sujet précédent :: Sujet suivant  
Auteur Message
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Dim 24 Fév 2013 - 10:25    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Salut,

J'ai voulu faire un petit beatthemall, le problème c'est que la fonction playanimation ne fait rien. J'ai vérifié, la position bouge, mais la sprite n'est pas affichée... Il doit forcément il y avoir un problème là-dedans :


 
Code:

 joueur = {}
    joueur.nom = JeanPaul
    joueur.spriteChemin = "perso.png"
    joueur.x = 0
    joueur.y = 206
    joueur.anim = 0
    joueur.sprite = Sprite.new(joueur.spriteChemin, 50, 50, VRAM)
    joueur.sprite:addAnimation({0, 1, 2}, 0.2) -- Marcher vers la droite
    joueur.sprite:addAnimation({3, 4, 5}, 0.2) -- Marcher vers la gauche
    while not Keys.newPress.B do
    Controls.read()
        if Keys.held.Right then
            joueur.anim = 1
            joueur.x = joueur.x + 1
        elseif Keys.held.Left then
            joueur.anim = 2
            joueur.x = joueur.x - 1
        else
            if joueur.anim ~= 0 then
                joueur.sprite:stopAnimation(joueur.anim)
            end
            joueur.anim = 0
        end
        if joueur.anim ~= 0 then
            joueur.sprite:playAnimation(SCREEN_DOWN, joueur.x, joueur.y, joueur.anim)
        end
        joueur.string = {}
        joueur.string.x = tostring(joueur.x)
        joueur.string.y = tostring(joueur.y)
        screen.print(SCREEN_UP, 0, 0, joueur.string.x)
        render()
    end
    joueur.sprite:destroy()
    joueur = nil
    persos = nil

Merci d'avance.
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
Publicité






MessagePosté le: Dim 24 Fév 2013 - 10:25    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Dim 24 Fév 2013 - 11:24    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Dans la fonction addAnimation, le temps entre les frames est en millisecondes, tu ne peux pas mettre de "0.2" par exemple.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Dim 24 Fév 2013 - 11:48    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

J'ai essayé avec 200, ça ne marche toujours pas... (avec MLS au passage) Aucune image n'est dessiné.
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Dim 24 Fév 2013 - 12:05    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Avec mls => ça veut tout dire ! Teste sur hardware, si ça marche pas, ben y'a un problème dans le script .
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Dim 24 Fév 2013 - 14:42    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Non, rien ne s'affiche.
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Dim 24 Fév 2013 - 16:21    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

J'aurais aimé avoir la planche de sprites (perso.png) pour essayer.. (ton sprite fait 50x50 pixels ? ou c'est l'image totale qui fait 50x50 pixels ?)
sinon, à première vue ça m'a l'air pas mal du tout (si on met 200 à la place 0.2). 


EDIT : 
je crois aussi que ces deux lignes ne sont pas necessaires (à vérifier) : 

 
Code:
        joueur.string.x = tostring(joueur.x)
        joueur.string.y = tostring(joueur.y) 

_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Dim 24 Fév 2013 - 18:06    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Si elle sont nécessaire, il me met une erreur si c'est toujours de type number...

Sinon, voilà l'image (de la morkitu) :


_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Dim 24 Fév 2013 - 19:42    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Mr. Green  tu as mis la valeur 206 pour la variable "joueur.y".. il faut un nombre inférieur à 192 sinon ça s'affiche en dehors de l'écran.
moi j'ai mis "joueur.y=50" et ça fonctionne. 


EDIT : enfin ça fonctionne presque.. à un moment, l'animation semble se bloquer.. 
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Dim 24 Fév 2013 - 20:57    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

C'est pas normal que tu aies une erreur avec screen.print() en voulant afficher un Number, même sur MLS.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Dim 24 Fév 2013 - 22:01    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

L'animation qui se bloque, c'est normal. Car si l'animation et finie il faut que je fasse start animation, ce sera géré.
Reylak, pourtant le problème a disparu avec le tostring, je vais faire d'autres tests

Édit. Effectivement l'animation bloque. Ce n'est pas normal, j'ai pourtant fait une condition si animationisatend alors je fais start animation. Pourtant, l'animation joue en boucle normalement 5 fois à peu près puis bloque. Je ne comprends pas pourquoi elle ne bloque qu'au bout d'un certain temps.
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Dim 24 Fév 2013 - 22:57    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Evite d'utiliser stopAnimation() si tu ne la démarres pas avec startAnimation(). D'après l'exemple, utiliser simplement playAnimation() sans l'arrêter manuellement fonctionne. L'animation est jouée tant que playAnimation() est appelée dans la boucle, mais dès que ça ne l'est plus, elle s'arrête sans avoir besoin de faire stopAnimation().

Du coup je tenterais un :
Code:
joueur = {}
joueur.nom = JeanPaul
joueur.spriteChemin = "perso.png"
joueur.x = 128
joueur.y = 96
joueur.anim = 0
joueur.sprite = Sprite.new(joueur.spriteChemin, 50, 50, VRAM)
joueur.sprite:addAnimation({0, 1, 2}, 200) -- Marcher vers la droite
joueur.sprite:addAnimation({3, 4, 5}, 200) -- Marcher vers la gauche
while not Keys.newPress.B do
    Controls.read()
        if Keys.held.Right then
            joueur.anim = 1
            joueur.x = joueur.x + 1
        elseif Keys.held.Left then
            joueur.anim = 2
            joueur.x = joueur.x - 1
        else
            joueur.anim = 0
        end
        if joueur.anim ~= 0 then
            joueur.sprite:playAnimation(SCREEN_DOWN, joueur.x, joueur.y, joueur.anim)
        end

        joueur.string = {}
        joueur.string.x = tostring(joueur.x)
        joueur.string.y = tostring(joueur.y)
        screen.print(SCREEN_UP, 0, 0, joueur.string.x)
        render()
end
    joueur.sprite:destroy()
    joueur = nil
    persos = nil


EDIT : Après test, ça n'a plus l'air de bloquer, je peux bouger à gauche et à droite tranquillement. Par contre oublie pas de faire un drawFrame() avec la bonne frame quand on ne bouge pas, sinon rien n'est affiché évidemment.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
megagugus14


Hors ligne

Inscrit le: 03 Aoû 2012
Messages: 168

MessagePosté le: Lun 25 Fév 2013 - 10:11    Sujet du message: [Animation] playAnimation ne fait rien Répondre en citant

Ca marche parfaitement merci !
_________________
Programmeur à 11 ans... Quoi, t'as un problème ?


Revenir en haut
MSN
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 03:47    Sujet du message: [Animation] playAnimation ne fait rien

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com