Messagerie


A quoi sert une boucle ? Concrètement ?

ValLoche23
1452 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 23 avril 2018 à 14:16
Bonjour tout-le-monde !  :)

Aujourd'hui, je voulais vous poser une question que je n'avais jamais trop osée avant de peur de paraître pour un total newbie au niveau de Fusion 2.5, mais même après plus de 6 ans d'utilisations assez régulière ! Il y a une fonction fondamental dans Fusion que je n'ai jamais utilisé, que je me suis toujours dispensé dans chacun de mes projets.

Et cette fonction fondamentale, ce sont les "Boucles" !

A vrai dire, ma question est assez simple ! C'est quoi une boucle exactement ? Comment ça marche ? A quoi cela sert ? Dans quel contexte cela s'utilise ?

Je vois beaucoup de clickeurs expérimentait l'utiliser, mais je n'arrive pas à comprendre leur fonctionnement dans les MFA qu'on m'envoi !

Je penses avoir un très bon niveau dans Fusion, pour avoir réussi à sortir des projets qui me semble très correct, mais je me sens toujours un peu idiot de ne pas avoir compris, et pas avoir chercher à saisir la notion des boucles !

Pouvez-vous m'expliquez concrètement ce que c'est ? ^^
Xsoul
lundi 23 avril 2018 à 14:53
Ca lance la lecture de code qui n'est joué que s'il se déroule dans la boucle spécifié tout simplement ^^

Ca permet aussi d'avoir plusieurs conditions qui amènent à la même boucle et donc d'alléger ton code
Pit73
1055 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 23 avril 2018 à 15:09
Hello
Par exemple, pour les particules :

------
debut du code
-----

code

---
Une boucle est lancée 50 fois dans ce cycle : pratique pour une explosion de particules par ex, où 50 particules sont lancées en meme temps au lieu d'une seule, puis la suivante dans le prochain cycle etc...
---

-------
fin du code ( retour en haut 60 fois par secondes )
-------
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
lundi 23 avril 2018 à 15:50
Je m'en sert surtout pour énumérer et associer des clones. Parfois pour accélérer des processus.
Cyberclic
664 messages
Fusion 2.5 Dev
Exporteur iOS Exporteur Android Exporteur HTML5
lundi 23 avril 2018 à 16:23
Dans fusion ça sert principalement à aller plus vite. Le code de fusion est exécuté lui-même dans une boucle, appelé boucle interne, qui tourne au nombre de FPS déterminé dans les propriétés du projet (par défaut 60 passes par seconde).
Donc si on crée une boucle de 10 itérations, on se retrouve avec une boucle dans la boucle interne de fusion. C'est à dire 10 itérations dans 60 itérations par seconde, soit 10x60=600 itérations par seconde. On a accéléré le processus par un facteur de 10. Utile pour lire rapidement un tableau afin de charger instantanément un niveau.

Après on peut tout en fait s'en passer, tu en es la preuve vivante  :D. Une simple variable à incrémenter et la boucle interne de Fusion suffisent à reproduite l'effet d'une boucle rapide, la vitesse en moins.

Perso, je l'utilise avec parcimonie car ça bouffe de la ressource CPU, surtout sur un développement mobile iOS/Android. C'est évident que 600 passes par seconde sont plus énergivore que 60 passes par seconde.
Modifié le lundi 23 avril 2018 à 16:31 par Cyberclic
Lazarus
219 messages
Fusion 2.5 Dev
Fusion 2.5+ Firefly Exporteur Android
lundi 23 avril 2018 à 16:29
Ca peut servir aussi a lister tout les fichiers d'un repertoire pour les coller dans une liste.
C'est comme ça que je les récupere.
Mais impossible d'énumerer toutes les possibiliter des boucles et c'est en fonction des besoins.
Modifié le lundi 23 avril 2018 à 21:32 par Lazarus
fredetmumu
1385 messages

lundi 23 avril 2018 à 19:51
Avec mes aptitudes de nouveau, pour expliquer a un "nouveau" je dirais plus simplement qu'une boucle sert a effectuer une (ou plusieurs) actions un certain nombre de fois (que l'on defini) mais "instantanement"
Kloug
1497 messages
Fusion 2.5
lundi 23 avril 2018 à 21:10
Salut,

Normalement une boucle rapide, permet d'atteindre un objectif plus rapidement que d'ordinaire.

:D

A+
Pièces jointes
Monos
2713 messages
Fusion 2.5 Dev
Fusion 2.5+ Exporteur Android Exporteur HTML5
mardi 24 avril 2018 à 08:48
Les boucles ! (Point culture)

En programmation (donc fusion heins) une boucle comme tu l'as compris permet de répéter un bloc d'instruction. Il existe plusieurs type de boucle en programmation.

La boucle "while"
On teste une condition à l'entrée si c'est vrais actionne les instruction du bloc et à la fin on retourne au débute, on teste de nouveau la condition. Si c'est faux on passe à la fin et on continu le programme.

Le boucle "Do While"
On passe obligatoirement une fois dans la boucle, et on teste à la fin, si la condition est vrais on retourne au début ! sinon on continu le programme.

La boucle "For"
Cette boucle à un compteur interne en gros et c'est celle qui s'approche nativement de no boucle Fusionnel !

(Basic)
If X=0 to 10 steep 1
....
next X

En gros on place X à 0 on joue les instruction, à next on incrémente de X en fonction du Steep.
On retourn au début on test la condition pour savoir si X<10 alors on retourne dans la boucle. = ou > à 10 on stope la boucle et on continue le programme.

En C c'est

for(X=0;X<10;X++)
{
.....
}


L'utilité ? rapidité pour par exemple lire un tableau et poser un tile au bonne endroit !

Basic Amos
for Y=0 to 16
for X=0 to 20

Past icone X*16,Y*16, MAP(X,Y)

next
next


Je viens d'écrire une routine pour poser un tile.
(Past Icone pour poser un tiles, X*16,Y*16 ba à la position X et Y en fonction d'itinirance de la boucle. Je multiplie par 16 pour placer ça correctement et le MAP(X,Y) pour aller chercher le numéro de la tuile contenue dans un tableau à deux dimmension au case X et Y en fonction de la variable X et Y de la boucle !

Basta !

En Fusion c'est pareil ! Tu inities ta ou tes boucles et tu peux jouer avec !

Il existe d'autre type de boucle en programmation qui peut donner des idée en fonction du langage. Le basic à maintenant souvent le Do Loops. Boucle infini ou il faut utiliser un exit manuellement pour sortir de ça.

Goto + Etiquette. (Beurk mais bon). Et d'autre que je n'ai pas en tête.


Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 23 visiteurs au total

Derniers messages