Besoin d'un coup de pouce sur Construct 2 ? C'est par ici !
Avatar de l’utilisateur
par Tokola
#26757 Bonjour à toutes et tous.
Très longtemps que je n'avais pas touché à Construct 2, je m'y remet un peu et déjà j'ai une question.

Admettons que j'ai un sprite avec une animation contenant plusieurs images (ou frames si vous préférez). Disons par exemple image 0=une pomme, image 1=une poire, image 2=une orange, image 3=une fraise et image 4=une banane.
J'ai deux boutons, le premier start sert à lancer l'animation en boucle.
Le second stop, sert à la stopper.
Lorsque j'appuie sur start, l'animation se lance en boucle le plus rapidement possible en faisant donc défiler les images (un peu comme les symboles d'une machine à sou)
Lorsque j'appuie sur stop, l'animation s'arrête donc sur la dernière image apparue à l'écran. (Le fait que l'animation soit le plus rapide possible fait qu'il est quasi impossible de faire arrêter l'animation sur une image voulue mais plutôt aléatoirement).
J'espère que je me fais bien comprendre.

Ce que je voudrais en fait c'est que si par exemple, la première fois qu'on lance l'animation et que lorsqu'on la stoppe ce soit par exemple l'image de l'orange qui apparaisse.
La fois suivante, lorsqu'on relance l'animation, toutes les images défiles rapidement sauf celle de l'orange puisqu'elle était déjà apparu la première fois et ainsi de suite à chaque fois que l'on relance l'animation les images déjà apparue n'apparaissent plus dans l'animation.

Mes questions sont donc : est-ce que c'est possible et si oui comment faire ?
Et sinon y-a-t-il un autre moyen (ou un meilleur moyen) d'arriver à ce résultat (par exemple avec différents sprite et peut-être un array ? )

Merci d'avance pour vos réponses et bon weekend à toutes et tous.
Dernière édition par Tokola le Mar 21 Nov 2017 01:40, édité 1 fois.
Avatar de l’utilisateur
par Hieronims
#26758 Bonjour,

Voici une réponse à ta question:

Un fichier c3p à ouvrir avec Construct3 en ligne:

https://www.partage-fichiers.com/upload/um3f7rkf/

Le code en version texte:

Test: Mon sprite avec animation
Array: Un tableau a une dimension
Frame: Une variable qui compte suivant le nombre d'enregistrement du tableau

| Global number Frameajout = 0
| Global number Frame = 0
+ System: On start of layout
-> Array: Set size to (test.AnimationFrameCount, 1, 1)

----+ System: For "Key_Frame" from 1 to test.AnimationFrameCount
-----> System: Add 1 to Frameajout
-----> Array: Set value at Frameajout-1 to Frameajout-1


+ System: Every 1.0 seconds
-> System: Add 1 to Frame

+ System: Frame > Array.Width-1
-> System: Set Frame to 0

+ System: Every tick
-> test: Set animation frame to Array.At(Frame)
-> Text: Set text to Array.At(Frame)

+ Touch: On touched test
-> Array: Delete index Frame from X axis

+ Array: Is empty
-> Text: Set text to "Fin"
-> test: Destroy
Avatar de l’utilisateur
par Tokola
#26773 Bonjour/bonsoir à toutes et tous.
Désolé du retard, j'étais absent quelques temps pour cause de fêtes de la Toussaint.
Merci Hieronims pour ta réponse.
Je n'ai pas Construct 3 seulement le 2 et le fichier c3p que tu indique en lien est introuvable.
Je vais néanmoins tenter d'arriver à mes fins sur Construct 2 avec les explications que tu donnes.
Je reviendrais vers vous si j'ai des difficultés ou si j'y arrive.
Encore Merci
A+
Avatar de l’utilisateur
par Hieronims
#26774 Tiens, valable 15 jours !

https://www.partage-fichiers.com/upload/lwd18vpd/

Tu peux le regarder sur Construct 3 en ligne: https://editor.construct.net/
Avatar de l’utilisateur
par Hieronims
#26780 Je sens que tu vas encore passer après l'expiration du code ^^
Avatar de l’utilisateur
par Tokola
#26788 Yes, un grand merci à toi Hieronims
Et non je ne suis pas passé après l'expiration du code cette fois ;-)

Bon j'ai pas encore testé le truc de mon côté (pas mal de chose à faire en prévision des fêtes de fin d'années, cette année j'ai décidé de tenter de confectionner les cadeaux par moi-même plutôt que dépenser des milles et des cents dans les magasins, donc ça prend du temps).
Mais sur ton exemple ça à l'air de fonctionner exactement comme je voudrais, donc je ne vois pas pourquoi je n'arriverais pas à l'adapter sur Construct 2.
Je clos le fil de discussion en attendant.
Encore un grand merci à toi.