Je ne comprend pas les loops ...
Bien le bonjour à tous,
je vois par ci par la que l'utilisation des loop, fast loop sont super utiles ... Mais je ne sais pas du tout comment les utiliser et pourquoi les utiliser. Existe t'il un tutorial parlant de ça ou un exemple relativement simple à comprendre qui pourrais m'aiguiller.
Bien le merci [img]/epicentre/images/%%GRAEMLIN_URL%%/smile.gif[/img]
Re: Je ne comprend pas les loops ...
Exemple très simple, tu as un objet Liste dans ta scène et tu veux mettre dedans une liste de valeurs entre 0 et 99.
Tu poses ton objet Liste dans la scène, tu vas dans l'éditeur d'événements, puis tu ajoutes les événements suivants :
+ Start Frame
- Start Loop ("InitListe", 100)
+ On Loop ("InitListe")
- Add Line Str$(LoopIndex("Init"))
(j'ai mis les noms en Anglais, je n'ai pas la VF sous les yeux)
Mais tu as plein d'autres utilisations possible, c'est juste pour montrer comment ça marche.
Re: Je ne comprend pas les loops ...
Merci, je vais essayer l'exemple que tu me donne et voir si je comprend quelque chose. Au pire je crie aux secours ^^
--> [edit] J'ai bien compris l'exemple ci-dessus maintenant qu'elle est la difference entre l'objet fast loop et le loop de l'éditeur d'évenement ... ?
Re: Je ne comprend pas les loops ...
ben si tu le fais dans une loop, les lignes sont ajoutées quasi instantanément, alors que si tu le met dans un always, tu verra les lignes s'ajoutés rapidement mais quand meme bcp moins...
les fasts loops permettent des calculs bcp plus rapide lorque l'on a besoin d'un affichage. cela peut par exemple faire des tirs bcp plus rapide, voir instantané...
Re: Je ne comprend pas les loops ...
Brachius, je ne saurais que trop te conseiller de voir le petit didacticiel vidéo sur les Fastloop disponible sur Complex-softwares : http://complex.softwares.free.fr/?p=tutorials
[img]/epicentre/images/%%GRAEMLIN_URL%%/wink.gif[/img]
Re: Je ne comprend pas les loops ...
Merci pour le supplément d'info Eagle4 ;), je comprend mieux.
Grand merci sphax [img]/epicentre/images/%%GRAEMLIN_URL%%/laugh.gif[/img] je vais voir ça desuite.
[edit]
Je n'arrive pas à voir les vidéos ... J'ai le son mais pas l'image ... Y a une astuce ?
[re edit] C'est bon j'ai trouvé il fallait juste installer le dernier flashplayer ^^.
Re: Je ne comprend pas les loops ...
ok mais si on a des actions compliquees et longues , on peut enchainer plusieurs on loop ?
Re: Je ne comprend pas les loops ...
@jpcr : J'ai déjà utilisé des loops imbriquées relativement complexes sans problème.
@Brachius :
La grosse caractéristique des loops qui les rendent indispensables (et potentiellement dangereuses) c'est qu'elles court-circuitent l'event loop "standard" de MMF2.
Ca permet d'effectuer instantanément des actions qui autrement seraient tributaires du fps de l'application.
Par exemple, tu as une armée de 240 soldats bien individualisés à gérer au cas par cas. tu souhaites stocker dans une liste les ID des soldats se trouvant sur la zone B afin de les faire attaquer la zone D. Idem pour ceux de la zone C vers E, etc...
Bref pas des event simples du style "collision = étriper"
Avec l'event loop sur une appli à 60fps tu ne pourra gérer au mieux que 60 soldats par seconde, en fait beaucoup moins car une grosse partie du cycle sera dédié à la sélection/évaluation des soldats. Au final il faudra plusieurs secondes pour déployer tes 240 hommes mais comme l'ennemi entre temps va bouger les instruction envoyées aux commandos seront déjà obsolètes quand ils arriveront sur les cibles.
En revanche avec les fast loop tu "gèles" MMF le temps d'évaluer chaque soldat et tu lui redonnes la main seulement après que tes 240 hommes aient reçus leurs instructions.
En fait beaucoup d'utilisateurs utilisent aussi les fast loop un peu comme des appels de fonction car tu peux appeler une fast loop depuis n'importe où et court circuiter la linéarité de l'event loop. Evidemment il faut savoir ce que tu fais pour éviter des conflits entre les fast loop et l'event loop.
T'inquiètes pas, si tu n'as pas bien compris c'est que tu n'as pas encore éprouvé les limites de l'event loop et donc que tu n'as pas encore besoin des fast loops. Il faut juste retenir que tu peux "geler" grace à elles MMF le temps d'évaluer des milliers d'instructions par seconde au lieu de quelques dizaines via l'event loop.
Re: Je ne comprend pas les loops ...
Dans MMF il existe deux types de "ligne" dans l'éditeur d'événements:
- Les conditions (ou conditions fausses dans le jargon Click)
- Les événements (ou conditions vraies dans le jargon Click)
Chaque ligne contient des actions.
Une condition (colorisée en noir dans l'éditeur d'événement) est une ligne <u>évaluée</u> une fois par boucle de programme (donc 60 fois si le jeu tourne à 60fps). Les actions contenues dans cette ligne seront donc potentiellement (si la condition est vraie en fait) exécutées à raison de 60 fois par seconde.
Un événement (colorisés en rouge par défaut dans l'éditeur d'événement) est une ligne <u>jamais évaluée</u> dans la boucle du programme. La ligne est en fait évaluée puis potentiellement déclenchée dès que l'événement est appelé (donc si c'est une fastloop l'événement est appelé dès que la boucle est lancée. En l'occurence pour une fastloop, l'événement sera appelé X fois en une seule fois).
Re: Je ne comprend pas les loops ...
d'accord les boucles c'est super mais comment on les debugge?
parce que dans le on loop , jai mis "pause debugger" et il ne fait pas de pause donc ça sert a rien, peut pas debugger.