AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 [RESOLU] stopper une animation à la derniere frame

Aller en bas 
5 participants
AuteurMessage
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyJeu 20 Déc 2012 - 19:32

Bonjour à tous,
J'ai un petit souci sur une action de mon perso. Lorsque je veux le faire attaquer (boule de feu en l'occurence) j'aimerais que l'anim se lance et qu'elle s'arrete à la derniere image, jusqu'à ce que la touche soit en "release".
Voici mon script:

if (fireball = 1)
{
sprite_index = player_fire_spr;
image_speed= 0.3;
if (image_index >= 9)
image_index= image_number-1;
image_speed=0;

}

Pour le moment, l'animation ne se lance pas. Elle affiche juste une frame au hasard.
Et évidement si je retire "image_speed=0;" elle se joue en boucle.
Bref, si l'un d'entre vous connais ce problème, une aide serait bienvenue! gnii


Dernière édition par mardoch le Ven 4 Jan 2013 - 21:15, édité 1 fois
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 0:40

Bonsoir,

Code:

if fireball==1
{
    sprite_index=player_fire_spr
    image_speed=0.3
    if image_index>=image_number
    {
        image_speed=0
        image_index=image_number-1
    }
}

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 14:23

Salut,
ça ne marche toujours pas. L'anim se lit bien mais pas d’arrêt à la fin. Elle tourne juste en boucle.
Est-ce que ça peut venir du clavier? voilà mon code dans le step de mon player:

if keyboard_check_pressed(vk_shift)
{
fireball=1;
}
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 16:52

euh, pourquoi n'utilise tu pas :

Code:


if keyboard_check(vk_space)
{
    sprite_index=player_fire_spr
    image_speed=0.3
    with instance_create(x,y,fireball)
    {
        image_speed=0.3
        if image_index>=image_number
        {
            image_speed=0
            image_index=image_number-1
        }
    }
}


_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 17:31

non plus. L'anim se joue proprement mais en boucle.
Existe t-il un bout de ligne de code pour revenir à l’état précédent du "sprite_index"?
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 17:54

Hum.
Étrange, je regarde cela a mon retour des courses.

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
marty
Utilisateur confirmé: Rang ***
marty


Messages : 697
Projet Actuel : laby-ereinte !

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 19:14

tu remplace ton perso existant par un perso "fire" mais l'index de l'objet lui reste le même.
(il me semble en tout cas !)

en D&D je crée un nouvel objet (avec son nouveaux sprite cqfd)et j'ajoute à animation end image_index= (l'index de la dernière image du srite)

mais bon c'est du D&D!


Revenir en haut Aller en bas
Asu
Utilisateur confirmé: Rang ****
Asu


Messages : 895

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 22:34

Bien sûr tu n'a pas mit ce code en Create?
Sinon ça serait awesome

Sinon tu crée un nouveau sprite avec la dernière frame de ton animation et tu la dessine à la fin de ton animation. Même si ça rend un peu plus bordelique ton gml triste2
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyVen 21 Déc 2012 - 22:43

Re bonsoir,

Dans ton objet joueur en step :

Code:


If keyboard_check(vk_space)
{
    instance_create(x,y,fireball)
    sprite_index=player_fire_spr
    image_speed=0.3
}


Dans ton objet fireball en step toujours :

Code:


if image_index>=image_number-1
{
    image_index=image_number-1
    image_speed=0
}


Voilà.

Ps : évidemment en create de ton fireball n'oublie pas de mettre image_speed=... La vitesse de l'animation.

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 16:50

Salut
En fait mon problème n'est pas sur l'animation du projectile (pas tt de suite en fait) mais sur l'animation du personnage.
Pour le moment j'ai dans mon objet joueur en step

//dans step

if keyboard_check_pressed(vk_shift)
{
fireball=1;
bullet_id = instance_create(x+15,y-150,firebullet);
bullet_id.direction = -180;
bullet_id.image_xscale = -1;
bullet_id.speed = 10;

}


Et dans un fichier script qui est appelé dans le end step de mon objet joueur

// dans script

if (fireball = 1)
{
sprite_index = player_fire_spr;
image_speed= 0.3;
if image_index>=image_number-1
{
//image_index=image_number-1
image_speed=0
}


merci Wink
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 17:01

Je ne voie pas le problème...

Si tu peux m'envoyer le .gm8 par mail je pourrais mieux voir le soucis.

A : gregoire-kevin@hotmail.fr

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 17:18

triste2
je suis sous game maker studio. je sais pas si tu peux lire les gmx...
Mais trouvé un semblant de solution en ajoutant ça dans mon script:

if (fireball = 1)
{
sprite_index = player_fire_spr;
image_speed= 0.3;
if image_index>=image_number<9
{
image_speed=0;
sprite_index = player_fire_idle_spr;
}

J'ai créé un sprite de la dernière image de l'anim que j’appelle à la fin du code. ça marche pas trop mal mais j'aimerais comprendre pk ton code ne fonctionnait pas
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 17:20

Car en faire tu modifie les propriétés de l'objet joueur et non de l'objet fireball.
Ce qui fais que ton objet fireball ne reçois pas d'instruction.

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 17:23

c'est ça clinoeuil j'ai créé un script uniquement pour gérer les anims de mon perso et une autre pour l'environnement
Du coup toutes les actions sont dans step, y compris les tirs.
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 22 Déc 2012 - 17:28

Ce qui n'est pas bien.

Je ne vais pas te gronder hein gnii

Mais pour que tu saisisse mieux :

Dans step de ton joueur tu fais l'animation du joueur qui lance la boule de feu, après ou en même temps tu peux créer la boule de feu.

Maintenant dans le step de la boule de fe, tu met une condition, qui lui fais faire qu'à sa dernière image elle stop son animation.

Et voilà.

Essaye de ne pas modifier les choses à partir d'un autre objets, ça porte vite à confusion, et l'on se perd vite.

Par la suite tu trouveras ça tellement simple que tu n'y pensera même plus. happy1

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 29 Déc 2012 - 2:45

Est-ce par exemple ça n'influencerait pas également sur les alarmes ce script des anims à part?
Je m'explique, j'essaie en vain de mettre une alarme lors de la creation de mon tir afin qu'on ne puisse tirer que 2 fois par seconde:


Code:

if keyboard_check_pressed(vk_shift) && (status = "r")
{
fireball=1;
    bullet_id = instance_create(x+15,y-150,firebullet);;
    alarm[0]= 30; // je suis en 60fps
    bullet_id.direction = 0;
    bullet_id.speed = 10;
}

if keyboard_check_released(vk_shift)
{
fireball=0;
}

Alors là, je peux appuyer 50 fois pas seconde sur la touche il ne prend pas du tout en compte mon alarme
c'est deprimant... snif
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 29 Déc 2012 - 8:36

Bonjour,

Cours de l'utilisation des alarmes à revoir mon ti bonhomme beh .

Code:


if keyboard_check_pressed(vk_shift) && (status = "r") && step_entre_deux_tir=30
{
    step_entre_deux_tir=0
fireball=1;
    bullet_id = instance_create(x+15,y-150,firebullet);;
    bullet_id.direction = 0;
    bullet_id.speed = 10;
}
else
{
    step_entre_deux_tir=0
}

if keyboard_check_released(vk_shift)
{
step_entre_deux_tir=0
fireball=0;
}

Je vais t'expliquer le fonctionnement,
Dans le if keyboard pressed, on a ajouter une condition, step_entre_deux_tir=30 : il vérifiera toute les steps si la variable vaut 30 (comme ton jeux est en 60, la condition sera vrai 2 fois par seconde, met la condition à 60, et elle sera vrai 1 fois par seconde, et met le à 15, elle sera vrai 4 fois par seconde... Enfin je pense que tua compris le principe non?)

Dans le else il ne faut pas oublier d'incrémenté, tu peux aussi changer sa valeur (si elle vaux 1, et que dans la condition plus haut elle vérifie 30, la condition sera vrai toute les 30 steps, si tu met 2, la condition sera vrai toute les 15 step, et si tu met 0,5, elle sera vrai toute les 60 steps) je pense qu'eut as aussi compris la.

Et le dernier step_entre_deux_tir=0 dans le keyboard release sert à remettre à 0 la variable, comme ça, si le joueur appuis de nouveau sur shift, il devra attendre 30 step avant que sont tir ne soit effectuer.

PS: c'est ce que l'on appel un compteur.

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 29 Déc 2012 - 12:40

Ah oui visiblement j'ai encore des cours à prendre mrgreen2
Donc pas d'alarm dans ton code mais est-ce que je dois placer un "step_entre_deux_tir = 0;" dans mon event create pour que ça marche? (parce que là, il ne tir pas)
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptySam 29 Déc 2012 - 14:36

Oups oui, oublier de le signaler... fleche_g

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyLun 31 Déc 2012 - 22:03

Bon bah non,
ça ne marche toujours pas. Il ne fait rien du tout (pas de création d'instance de tir ni d'animation du perso qui tir). Pourtant mon code doit être bon:


Code:
if keyboard_check_pressed(vk_shift) && (status = "r") && step_entre_deux_tir= 30
{
fireball=1;
step_entre_deux_tir=0;
    bullet_id = instance_create(x+15,y-150,firebullet);
    bullet_id.direction = 0;
    bullet_id.speed = 10;
   
}
else
{
step_entre_deux_tir =0;
}

Ce que je ne comprends pas c'est comment il reconnait que c'est une variable en relation avec les steps? je pensais (peut-être à tort) que c'était justement la fonction alarm qui permettait de faire ça.
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyMar 1 Jan 2013 - 0:10

Ah mais *****!

Dans le else remplace :

Code:

Step_entre_deux_tir=0

Par

Code:

Step_entre_deux_tir+=1

Erreur de ma part pardon...

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyMar 1 Jan 2013 - 20:49

et...... non.
ça ne change rien du tout.
Y a t il un autre moyen pour faire ça ou juste vérifier qu'il n'y a pas de bidule étrange dans mon code?
Revenir en haut Aller en bas
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyMar 1 Jan 2013 - 23:33

Bien, c'est très simple, sais-tu comment uploader un fichier? (le stocker sur le net).
Mediafire par exemple.

Tu le fais et tu m'envois le lien par MP pour éviter que tout le monde y ai accès. Je regarde des que je peux (soir souvent).

Parce que là franchement je ne voie pas du tout ce qui cloche...

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyMer 2 Jan 2013 - 14:59

if keyboard_check_pressed(vk_shift) && (status = "r") && step_entre_deux_tir>= 30

Game Maker n'est jamais precis, ca m'arrivais souvent qu'il saute la condition
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Caohimin
Très bonne participation
Caohimin


Messages : 134
Localisation : Au coeur de cette charmante demoiselle.

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyMer 2 Jan 2013 - 16:03

Ah oui... Je n'avais pas fais attention... j'avais pour habitude de stopper l'incrémentation...

Désoler pour l'erreur.

_________________
fleche_d Caohimin fleche_g
neutre

Communauté
Barbarre
Nauséabonde
Ahuri
Revenir en haut Aller en bas
mardoch
Débutant
mardoch


Messages : 19
Localisation : Paris

[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame EmptyJeu 3 Jan 2013 - 0:13

oh joie! ça marche!!!

Code:
if keyboard_check_pressed(vk_shift) && (status = "r") && Step_entre_deux_tir>=30
{
Step_entre_deux_tir=0;
fireball=1;
    bullet_id = instance_create(x+15,y-150,firebullet);
    bullet_id.direction = 0;
    bullet_id.speed = 10;
   
}
else
{
Step_entre_deux_tir+=1;
}

Merci 100000000 de fois, vous m'avez sauvé la vie!!!! awesome
Revenir en haut Aller en bas
Contenu sponsorisé





[RESOLU] stopper une animation à la derniere frame Empty
MessageSujet: Re: [RESOLU] stopper une animation à la derniere frame   [RESOLU] stopper une animation à la derniere frame Empty

Revenir en haut Aller en bas
 
[RESOLU] stopper une animation à la derniere frame
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Gestion du temps et frame
» Supprimer une frame dans un sprite [résolu]
» [Résolu] Ne jamais stopper une musique
» Animation. [Résolu]
» [résolu]soucis animation sprite AI

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: