Forums Développement Multimédia

Aller au contenu

- - - - -

[Fiche pratique] - Effets a base de particules

TUTO

40 réponses à ce sujet

#1 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 17 May 2013 - 16:49 PM

Salut,

Voici une petite fiche de prise en main pour quelques effets simples basés sur les particules, mais aussi pour la librairie Flint.

Je n'ai pas cherché l'optimisation, bien que ce soit important vu le nombre d'objets, mais juste la prise en main pour les débutants. A la fin de la fiche vous avez un tuto de prise en main de la librairie Flint de Richard Lord.

C'est par ici : http://forums.mediab...iche_particules

N'hésitez pas si vous voulez en parler.

#2 lilive

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2993 messages

Posté 17 May 2013 - 17:50 PM

Salut Monsieur Spi,

Je n'ai pas lu tous les détails, mais c'est bien chouette d'avoir sur le wiki une base du système avec plusieurs exemples en plus.
En première lecture ça m'a semblé plutôt très bien, avec des chippoteries qu'on pourrait faire par-ci par-là. Cela permet je pense à celui qui aborde les particules d'avoir une première expérience.

Si tu abordes l'optimisation plus tard voici ce qui m'est passé par la tête (pas sûr que tout soit strictement vrai d'ailleurs) :
- ne pas mettre un enterframe sur chaque particule mais faire une boucle qui appelle update
- travailler avec 2 bitmapdata pour éviter la création de bitmapdata temporaires
- il me semble que flint recycle les particules en stockant celles qui sont mortes dans un tableau de stockage où il va en chercher quand il en a besoin, afin d'économiser les constructions / destructions d'objets
- vector (d'ailleurs je trouve que depuis le temps que ça existe, ne pas l'utiliser est presque à ranger dans les mauvaises habitudes à ne pas transmettre ;) )

A propos d'optimisation, je trouve qu'à partir du moment où tu as quelques lignes sur les perspectives d'optimisation en fin de tuto, c'est une lacune de ne pas mentionner Stage3D. Pas pour expliquer quoi que ce soit, mais juste mentionner son existence en 2 mots.

Je ne sais pas si ça vaut le coup de le citer, mais il y a aussi ce lien http://forums.mediab...-2d-via-stage3d . Et je me demande si depuis Starling n'a pas fait de gros progrès pour les particules.

En tout cas bravo pour cette page :Hola:



P.S: Je viens d'y faire 2 retouches tu peux regarder si elles te plaisent et sinon les enlever.

#3 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 17 May 2013 - 19:09 PM

Hello Lilive,

Merci beaucoup de ces retours, je viens de rajouter quelques lignes sur ce que tu viens de signaler. :Hola:
Ok pour les corrections, parfait ;-)

Pour la boucle au lieu d'un EnterFrame par particule, je me suis posé la question, et j'ai pris la décision de rendre au maximum les particules autonomes, comme je le dis en début de fiche, du coup étant parti là dessus j'ai continué, mais effectivement un seul enterFrame serait sans doute plus optmisé, a tout le moins plus simple à gérer.

Edit : ha et j'ai rajouté en complément un lien vers le dernier exercice que j'ai écrit justement utilisant les particules, basé sur Auditorium, ici : http://forums.mediab...jeux/auditorium c'est de la mise en application directe de ce qu'on apprend dans la fiche.

#4 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 24 June 2013 - 19:48 PM

Oh yeah!! I love you Monsieur Spi !!! Je cherche ça depuis longtemps, j'ai bien fouillé le net et l'abord des particules, vraiment sérieuses, est difficile pour les débutants. Je vais mater ça asap et je vais te faire chier si c'est pas monté :P

#5 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 03 July 2013 - 09:14 AM

Déjà je crois que ça ne va pas ici "remplacez celles qui se trouvent dans le champ “Classe” par “Particules”. De cette manière vous liez l'objet Particule à la classe “Particule”
Particules ou Particule sans S ? Ou est-ce 2 choses différentes?

#6 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 03 July 2013 - 10:50 AM

Ha oui tient erreur de frappe, il y a un "s" en trop, mais en lisant la suite tu aurais corrigé de toi même en voyant le nom de la classe. Je vais corriger, merci de l'avoir signalé.

#7 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 03 July 2013 - 14:33 PM

Tu entends quoi par "je supprime la référence à “p” quand je détruit une particule." Au chapitre Fontaine. Car tu suggères que tu ne le faisais pas déjà dans l'étape 1, donc je ne vois pas ce que c'est.

#8 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 03 July 2013 - 15:13 PM

Bon sinon super ce tuto, c'est globalement ce que j'avais comme systême de particule sous la main, j'ai galèré pour arriver à rendre la vitesse et la direction des particules indépendantes... mais ça, ce n'est pas un problème d'AS3 mais plutôt de Math -.- Et ça, il me faudrait des révision cours ciblé dessus car cela ne me vient ni naturellement ni facilement.
Un petit reproche, enfin vis à vis de moi car c'est une question de niveau de connaissance d'as3, j'ai mis un moment à comprendre qu'il n'y avait pas besoin d'écrire clip.x mais que x suffisait ... Ca fait parti de ces raccourcis sur lesquels je tombe en lisant des tutos mais qui ne sont appris nulpart ^^ C'est toujours une étape sautée dans toute mes lectures :(

#9 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 03 July 2013 - 15:35 PM

Voir le messageabriko, le 03 July 2013 - 15:13 PM, dit :

Ca fait parti de ces raccourcis sur lesquels je tombe en lisant des tutos mais qui ne sont appris nulpart ^^ C'est toujours une étape sautée dans toute mes lectures Image IPB

Ce n'est pas un raccourci et tu le fais tout le temps…
var ma_var:int=5;
ma_var = 5; // << C'est ça…


#10 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 03 July 2013 - 16:58 PM

Citation

Tu entends quoi par "je supprime la référence à “p” quand je détruit une particule.
"p" est l'objet qui représente une particule.
Dans l'exercice sur la fontaine, je crée une nouvelle particule à chaque frame.
Cette particule est un objet (p) créé à partir de la classe "Particule".
Je la met ensuite dans un tableau et l'ajoute à la scène.
Puis je regarde si le nombre de particules dans le tableau est supérieur à 80.
Si c'est le cas je supprime les particules en trop.
Mais je réutilise l'objet (p) pour identifier la particule en trop.
Pour éviter que cet objet reste en mémoire quelque part, je le vide.
Ainsi il ne correspond plus à la dernière particule enregistrée.

Citation

Un petit reproche, enfin vis à vis de moi car c'est une question de niveau de connaissance d'as3, j'ai mis un moment à comprendre qu'il n'y avait pas besoin d'écrire clip.x mais que x suffisait
C'est parce qu'il faut lire les prérequis, entre autre le tuto de Nataly sur la POO.
Inutile de dire "clip.x" puisque tu es déjà dans l'objet "clip", donc "x" suffit.

Si tu veux un exemple plus clair :


clip.x = 10;
clip.y = 20;
clip.alpha = 0.2;
clip.rotation = 10;
 

le clip a une position x de 10
le clip a une position y de 20
le clip a une opacité de 0.2
le clip a une rotation de 10

Revient au même que :


with (clip) {
   x = 10;
   y = 20;
   alpha = 0.2;
   rotation = 10;
}
 

Avec le clip :
position x de 10
position y de 20
opactité de 0.2
rotation de 10

Et si tu fais une classe tu es directement dans le clip donc cela revient au même que si tu utilisait l'instruction "with".
Pas besoin de le cibler puisque tu es dedans.

#11 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 03 July 2013 - 19:54 PM

oui merci j'ai compris grâce au tuto Image IPB
Je pensais ne pas avoir besoin du tuto de Nataly aillant bien attaqué la doc de Thibault Imbert... mais ce genre de truc y est aussi apparemment considéré comme acquis.
En fait pour la suppression de "p", tu fais l'équivalent aussi dans le chapitre 1. Simplement dans le chapitre 3, tu suggères que tu le fais ici contrairement au chapitre 1 donc je cherchais à comprendre la différence entre les deux ^^ Mais apparemment il n'y a pas.

#12 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 15 July 2013 - 14:07 PM

Je cherche à comprendre à faire ça:
http://www.flashandm...hcs4/fireworks/

Alors bien sûr, le code est commenté.... pour qu'on comprenne comment ça marche, mais arriver à comprendre tout le bloc d'un coup ... il s'agit plus d'une récapitulation d'un tuto...
Mon collègue programmeur me dit que cela a été fait "à l'arrache"... je comprends que ce n'est pas du boulot hyper pro donc mais ça me dépasse donc ma question est :est-ce vraiment bien codé ou devrais je plutôt chercher à prendre exemple ailleurs?

#13 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 15 July 2013 - 14:44 PM

Salut,

Chez Flash&Maths les tutos sont rarement faits "à l'arrache", ils demandent par contre d'avoir déjà un bon niveau pour la prise en main.
Tu as la fiche de récap sur les particules pour faire ce que tu veux, pourquoi ne pas essayer de le faire toi même au lieu de tenter de reproduire le tuto de Flash&Maths ?

Si tu regarde bien c'est un mélange de trois choses que tu as déjà dans la fiche :

- Etape 2 - Starfield :

toute les particules partent d'un même point et s'éclatent

ajout d'un effet sur le bitmap affiché pour obtenir du flou


- Etape 3 - Fontaine

les particules subissent un effet de gravité


- Etape 6 - Formes

des particules sont émise depuis un point précis dans toutes les directions


L'effet feu d'artifice ne devrait pas être plus dur que ça à faire, voici comment je vois ça :

Créer un premier groupe de 10 particules qui explosent à partir d'un point central et ajouter un effet de flou (voir etape 2 - starfield)
Appliquer un effet de gravité pour que ces particules retombent au bout d'un moment (voir etape 3 - fontaine)
Chaque particule (dite maître) est un mini générateur qui va générer 20 ou 30 particules à partir d'elle.
Ces particules générées ont un mouvement aléatoire, comme des étincelles (voir etape 6 - formes), et ne sont pas soumises à la gravité (mais peuvent l'être si tu veux).

Tu obtient donc, 10 particules maîtres qui explosent depuis un point central (la fusée de feu d'artifice qui explose), chacune génère 20 particules en boucle pour donner l'effet d'étincelles. Chaque particules maître subit la gravité, et à une durée de vie précise, chaque particule enfant à une direction aléatoire et une durée de vie précise.

En mixant tout ça tu obtiendra assez facilement l'effet souhaité.

#14 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 15 July 2013 - 18:55 PM

J'avais essayer à partir de particules avec lesquelles j'ai commencé à expérimenter. Elle étaient simples comme dans ton chapitre 1 et comme celles là, la direction et la vitesse étaient liée. Alors j'ai dû sortir mon carnet et me remettre à étudier les sinus et cosinus ^^...j'ai réussit à créer ma couronne mais comme un vrai feu d'artifice, je n'ai pas vraiment réussit les accélérations et décélérations. Logiquement c'est explosif dés le départ et atteint sa taille 100% en 10 fois moins de temps qu'il ne faut pour arriver à sa taille 110%, si tu comprends ce que je veux dire, pour ensuite perdre toute sa vitesse et doucement se laisser attirer par la gravité en disparaissant.
Je m'étais mis à penser à installer une sorte de timer pour régler ce déroulement calé sur les frames ou sur la distance parcourue mais j'ai étais rapidement dépassé :/ Je vais expérimenter avec les tiennes, elle m'ont l'air plus fiables et mieux pensé et je te dirais :)

#15 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 16 July 2013 - 13:26 PM

Y aurait pas comme un problème dû au mauvais random de flash? Image IPBImage IPB
j'ai mis une grosse accélération sur ton starfield. (copier l'rul de l'image si ça ne s'ouvre pas ici)

#16 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 16 July 2013 - 14:46 PM

Voir le messageMonsieur Spi, le 15 July 2013 - 14:44 PM, dit :

- Etape 2 - Starfield :

toute les particules partent d'un même point et s'éclatent

ajout d'un effet sur le bitmap affiché pour obtenir du flou


- Etape 3 - Fontaine

les particules subissent un effet de gravité


- Etape 6 - Formes

des particules sont émise depuis un point précis dans toutes les directions




Je crois que je dois être un peu con ^^ Parce que j'ai beau reprendre l'un ou l'autre, ils ne sont pas compatibles. Le starfield comprend vitesse, accélération, direction et profondeur là où la fontaine ne comprend uniquement que la vitesse dépendant de la direction, sa gravité est facile a gérer mais pas du tout intégrable au starfield.

#17 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 16 July 2013 - 14:59 PM

abriko dit :

J'apprend encore 1 truc en étudiant le starfield, addChild ne voudrait pas dire "placer sur la scène" comme je le croyais mais "rendre visible sur le scène" ? Est-ce bien cela ?
Ni l'un ni l'autre.

A.addChild( B ) ajoute l'objet B à la liste d'affichage de A.
Comme ça, A sait qu'il doit s'occuper de la gestion de l'affichage de B au moment du rendu.

Si A n'est pas affiché, il ne s'occupera pas de sa liste et donc B ne sera pas affiché.
Si A est affiché, la main est donnée à A par son parent d'affichage au moment du rendu graphique. A s'occupe de son graphics puis de sa liste d'affichage, donc de B, puis il rend la main à son parent.

#18 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 16 July 2013 - 16:56 PM

Salut,

Citation

j'ai beau reprendre l'un ou l'autre, ils ne sont pas compatibles.

Tout dépend de ce que tu cherches en fait. Si c'est un code tout prêt qui fait un feu d'artifice tu ne le trouvera pas sur la fiche, si ce sont des méthodes pour apprendre à te servir des particules, puis en faire un programme qui génère des feux d'artifices, tu les as sur la fiche. La différence entre les deux c'est que ça va être à toi de mettre les mains dans le cambouis pour reprogrammer les particules pour qu'elles fassent ce que tu veux...

Il n'y a pas de notions de "compatibilité" entre les différents exercices, on ne prend pas les bouts de l'un pour les associer avec les bouts d'un autre et ça marche..... Là pour ce que tu veux faire il faut tout reprogrammer pour obtenir l'effet désiré, et pour faire ça tu peux t'appuyer sur ce qui a été montré dans les exercices.

Citation

Le starfield comprend vitesse, accélération, direction et profondeur là où la fontaine ne comprend uniquement que la vitesse dépendant de la direction, sa gravité est facile a gérer mais pas du tout intégrable au starfield

Tu as du rater un truc à la lecture de la fiche, son but et de montrer comment manipuler des particules, c'est à dire créer un générateur qui en diffuse un certain nombre, puis créer des particules qui ont leur propre comportement. C'est donc à toi de coder le comportement des particules pour obtenir ce que tu veux, il n'est pas question de prendre les particules de la fontaine pour les coller dans le starfield, mais bien de repenser complétement le comportement des particules "feu d'artifice".

Ta recette de cuisine devrait être à mon sens :

Pour générer une explosion de feu d'artifice il faut :

- 1 générateur qui envoie une seule fois 10 particules principales (ou maîtres)
- chacune de ces particules maîtres doit avoir le comportement suivant :

partir dans une direction aléatoire (ex starfield)

a partir d'un certain temps (assez court)

subir les effets de la gravité (ex fontaine)

ralentir

disparaitre en fondu (alpha)

- chacune de ces particules maîtres agit comme un générateur qui doit a chaque frame générer 10 particules (enfants)
- chacune des particules enfants doit avoir le comportement suivant :

partir dans une direction aléatoire à partir de la particule maître (ex formes)

a partir d'un certain temps (assez court)

subir les effets de la gravité

ralentir

disparaitre en fondu


Les particules maîtres sont plus grosses que les particules enfant (gestion de l'échelle, scale) et on une vitesse plus importante afin qu'elles se déplacent sur de grandes distances et que les enfants soient limités à une plus petite distance.

Il te faut donc deux types de particules différentes, un de type "maître" qui est à la fois une particule et un générateur, et un de type "enfant" qui est une simple particule. Les deux types ont des comportements différents (vitesse, accélération, durée de vie, gravité, ....)

A partir de là tu as une représentation simple de ce que doit faire ton programme, à toi de l'écrire à partir de ce que tu as appris dans la fiche, mais n'essayes pas de combiner les exercices, ça ne marchera pas.

Autre option, tout en bas de la fiche tu as un exemple de prise en main de Flint, et Flint fourni sur son site différents exemples avec le code, tu peux t'en servir, par exemple : http://flintparticle...amples/firework

#19 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 16 July 2013 - 18:08 PM

En fait, la méthode, l'organisation et même l'actionscript nécessaires pour parvenir à une version acceptable visuellement ne sont pas ce qui me bloquent je crois.
il s'agit plus des formules mathématiques pour gérer l'accélération, la direction avec la gravité. En linéaire façon starfield aucun souci mais dés que je dois donner l'effet "feu d'artifice", qui est proche de l'effet fontaine mais vraiment différent dés qu'on cherche la ressemblance, je me perds dans mes formules.
A chaque fois que j'essaie d'ailleurs, je me rappelle pourquoi j'avais de mauvaise notes en math et que cela ne doit décidément pas être faire pour moi...

#20 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 19 July 2013 - 13:09 PM

Salut,

Je ne pense pas que les formules soient très compliquées à ce niveau, pour la direction c'est de la trigo de base (Math.cos et Math.sin) avec un angle, quand à la gravité elle n'est qu'une composante ajoutée sur l'axe Y, par exemple :


var angle:Number = 0.123; // angle en radians
var gravite:Number = 0.12;
var vitesse:Number = 10;

particule.x += Math.cos(angle)*vitesse;
particule.y += Math.sin(angle)*vitesse+gravite;
 

La gravité envoie toujours un objet vers le bas, donc c'est toujours "+gravite" qui s'ajoute au mouvement en cours sur l'axe Y.
Ensuite il suffit de faire varier la vitesse propre à chaque particule en fonction du temps (la réduire légèrement à chaque frame par exemple), quand à la gravité normalement elle ne bouge pas, elle est identique pour chaque objet, sauf si tu veux un comportement parfait et dans ce cas il faut prendre en compte le poids et la masse (voir : http://pesage.biz/le...hute-des-corps/ ), a toi d'ajouter ces valeurs fictives à chaque particules. Ce n'est pas excessivement complexe, mais as-tu besoin d'un comportement parfait, bien souvent le comportement parfait est inutile ?

Si vraiment tu veux utiliser les forces pour déplacer tes objets de manière très réaliste tu peux jeter un oeil à ce tuto : http://forums.mediab...voir_des_objets

#21 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 19 July 2013 - 13:51 PM

(((((( un avis perso : vu mon niveau en math, je n'abuse pas non plus des cos et sin. Ils ne me servent qu'au moment de la génération pour obtenir un aléatoire réellement circulaire. Sinon, ensuite, c'est du linéaire, en x, en y, en z si l'on veut simuler la 3D ))))

#22 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 19 July 2013 - 14:16 PM

Je ne sais plus exactement pourquoi j'ai galéré et j'avais un rendu moyennement satisfaisant. Le cos et sin d'un angle calculé aléatoirement auquel on ajoute la gravité, j'avais bien ça mais j'avais aussi un rendu en tunnel, très fascinant d'ailleurs et que j'aurais pas trouvé tout seul, mais pas l'effet escompté... bon je replonge dedans dés que j'ai le temps. Merci beaucoup :)

#23 lilive

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2993 messages

Posté 19 July 2013 - 14:54 PM

Salut,
Pour montrer comment les exos de m.spi peuvent être exploités version feu d'artifice, je mets un zip avec 2 choses:
- La fontaine a peine modifiée pour expulser les particules selon une vitesse et un angle.
- La même chose sauf que les particules sont maintenant expulsées depuis le pointeur de la souris, avec un angle plus large, et qu'elles ralentissent progressivement. Ça commence à se rapprocher du feu d'artifice. Mais c'est sûr que pour faire quelque chose de plus réaliste ça demande encore du boulot.


- Afficher le SWF -
Fichier joint  etape3.swf   1.45 Ko   90 téléchargement(s)


- Afficher le SWF -
Fichier joint  etape3.5.swf   1.41 Ko   93 téléchargement(s)
Fichier joint  particules CS5.zip   19.41 Ko   79 téléchargement(s)


[EDIT]
M.Spi il y a une petite erreur ici :

Voir le messageMonsieur Spi, le 19 July 2013 - 13:09 PM, dit :


particule.y += Math.sin(angle)*vitesse+gravite;
 
La gravité doit se rajouter à la vitesse (_Y dans tes codes) et pas à la position. C'est bien ce que tu as fait dans ton tuto.

#24 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 19 July 2013 - 15:44 PM

Hello Lilive,

Exact, erreur de ma part j'y ai pas réfléchit en l'écrivant.

#25 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 19 July 2013 - 16:58 PM

Re,

Voilà un exemple de ce à quoi je pensais au départ, ça ne correspond pas à ce que tu as vu sur Flash&Matsh mais c'est une idée, il y a des ajustements à faire mais je pense qu'on est sur la bonne voie et que c'est très simple au niveau des formules.

J'ai deux classes, une "Fusees" et une "Particule".
Les deux sont basées sur l'exemple de l'arrosoir dans la fiche.

Les fusées sont les premiers éclats du feu d'artifice, les gros morceaux, ils ont une nouvelle variable "vie" qui détermine leur durée de vie (le temps pendant lequel ils brulent avant d'éclater en petits morceaux). Lorsque sa durée de vie est terminée la fusée éclate en petites particules, qui ont elles aussi une durée de vie limitée. (Note, on pourrait très bien utiliser une seule classe et changer simplement l'échelle de la particule en fonction de si c'est une fusée ou un e particule).

Le tout est géré directement depuis le FLA avec deux boucles imbriquées et deux tableaux de stockage, elles permettent de savoir quand une fusée arrive en fin de vie et la fait éclater le cas échéant, et quand une particule arrive en fin de vie.

Pour bien faire il faudrait rajouter le filtre blur tiré de l'exercice sur le starfield pour conserver une trainée lumineuse des particules et fusées. Et bien sur il faut régler un peu le tout (vitesse, durée de vie, gravité, opacité, couleurs, ...) pour avoir un rendu plus réaliste.

Cliquer avec la souris n'importe où pour faire éclater un feu d'artifice.


- Afficher le SWF -
Fichier joint  feu_artifice.swf   1.59 Ko   86 téléchargement(s)

Fichier(s) joint(s)



#26 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 19 July 2013 - 17:31 PM

Re,

Autre exemple qui se rapproche de ce que tu as vu sur Flash&Maths et qui est encore plus simple.
Là aussi il faut tout un tas de réglages pour que ça ait un bon rendu mais la base est super simple.

Sans le blur et une seule couleur :

- Afficher le SWF -
Fichier joint  feu_artifice.swf   1.72 Ko   69 téléchargement(s)

Avec le blur et plusieurs couleurs :

- Afficher le SWF -
Fichier joint  feu_artifice.swf   1.83 Ko   70 téléchargement(s)

Je pense qu'avec ça tu as un départ suffisant pour faire à peu près ce que tu veux sans t'embarquer dans des formules compliquées, après c'est sur que plus tu voudra un rendu réaliste, plus il te faudra plonger dans la physique et les maths.

Fichier(s) joint(s)

  • Fichier joint  feu.rar   10.91 Ko   68 téléchargement(s)
  • Fichier joint  feu_blur.rar   10.87 Ko   59 téléchargement(s)


#27 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 24 July 2013 - 09:13 AM

Merci beaucoup M. Spi! Image IPB
Je vais regarder ça en détail. En fait que tu aies un rendu déjà sympa mais que toi même tu n'arrives pas facilement au rendu de flash&math, ça me fait un peu peur et me dissuade un peu plus de m'occuper de ça moi même au boulot car n'ayant déjà pas la moitié de ton niveau, je ne vois comment je peux y arriver ^^
J'ai choisit de le faire moi même car il est plus rapide d'apprendre l'as3 et de le coder moi même que de convaincre les programmeurs et codeurs de le faire, ils vont surement me répondre "c'est bon va, c'est déjà bien ce que tu as dessiné" ^^

#28 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 24 July 2013 - 12:19 PM

Yop, pas de quoi, par contre ce n'est pas que je n'arrive pas au rendu de Flash & Maths, c'est que je n'essayes pas ;-), moi je donne surtout des pistes de départ, après oui pour un rendu comme le leur il faudrait bosser plus en profondeur, mais est-ce bien nécessaire d'avoir un rendu aussi bon ?

Bon courage

#29 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 24 July 2013 - 12:32 PM

J'ai pas dit que tu n'y arriverais pas, j'ai dit "tu n'arrives pas FAcilement". Tout est dans le "facilement" ^^ Si tu n'y arrives pas en faisant juste un exemple vite fait en gros, ça veut dire que moi je ne vais pas y arriver en y bossant dur dessus ^^

#30 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 24 July 2013 - 12:38 PM

Bah disons que les maths et moi ça fait trois, donc quand je peux éviter de plonger dans les formules en utilisant un truc approchant mais suffisant pour donner la base à quelqu'un qui galère, je m'en contente ;-)

Après je ne sais pas si c'est insurmontable ou pas leur tuto, à vrai dire je l'ai a peine ouvert pour jeter un oeil aux classes, ça n'a pas l'air si long que ça, mais après c'est à chacun de voir selon son niveau et ce qu'il doit faire.

#31 lilive

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 2993 messages

Posté 24 July 2013 - 13:22 PM

Et du coup abriko ma réponse ne t'intéresse pas ?

#32 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 24 July 2013 - 16:42 PM

Toute les réponses m'intéresse bien sûr, je dois juste trouver le temps, plutôt une journée libre, pour pouvoir revoir le truc... parce qu'en plus mon problème est que je ne peux pas pratiquer l'as tous les jours et quand je le reprends...j'en oublie alors je dois reprendre le truc en main et me rappeler où j'en étais :/

#33 abriko

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 238 messages

Posté 04 November 2013 - 13:44 PM

Salut Image IPB

Ca fait un bail, je sais ^^ Je regarde à ton feu d'artifice qui est pas mal du tout. Je suis en train de me demander pourquoi il y a 2 .as parce qu'ils sont identiques. J'imagine qu'ici on pourrait avoir des particules différentes fusées et traine.
Le soucis est que si on veut des particules différentes selon le projet ou l'anim à faire, il faut autant de .as que de movieclip différents, non ?

Il y a un paramètre que j'ai cherché un moment pour la "durée de vie" résiduel du flou, ils appellent ça la qualité alors que ça joue surtout sur le temps que le flou va mettre à disparaitre après l'effet et c'est ce que je cherchais!

Je vais chercher un moyen de n'avoir qu'un .as en jouant sur les images d'un même clip et cela devrait bien le faire :D

#34 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 02 January 2017 - 12:11 PM

Bonjour me revoilou,

Ca c'est rudement bien pour apprendre POO et classes !
J'évolue à grande vitesse.
Merci !

Une petite question : Pourquoi la première particule ne veut pas décoller dans l'exemple de la fontaine ???

#35 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 02 January 2017 - 13:18 PM

Citation

Une petite question : Pourquoi la première particule ne veut pas décoller dans l'exemple de la fontaine ???
Elle se déplace bien, mais toutes les particules apparaissent sur ce point précis, donc tu as l'impression qu'une particule reste fixe, mais en fait toutes bougent, elles apparaissent juste toutes au même endroit.

#36 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 02 January 2017 - 13:51 PM

Pourtant j'ai modifié la classe avec entre autre :

if (scaleX < 2) {
    visible = false;
   }
   if (scaleX > 2) {
    visible = true;
   }
 

On ne se moque pas !!!!

Et j'ai toujours mon petit point....
( PS. Je sais plus comment en ajoute une image en commentaires )

Merci !

#37 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 02 January 2017 - 19:39 PM

Montre tout le code de la classe stp.

#38 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 02 January 2017 - 20:05 PM


package {
import flash.events.Event;
import flash.display.MovieClip;
public class Particule extends MovieClip {
  private var _X: Number = 0;
  private var _Y: Number = 0;
  public function Particule(X: Number, Y: Number) {
   x = X;
   y = Y;
   _Y = Math.random() * 10 - 20;
   //_Y = -20;
   _X = Math.random() * 20 - 10;
   addEventListener(Event.ENTER_FRAME, update);
  }
  private function update(e: Event): void {
   var coulconf: int;
   x += _X;
   y += _Y;
   alpha -= 0.015;
   scaleX = scaleY *= 1.05;
   _Y += 0.8;
   rotation += 5;
   if (scaleX < 3) {
    visible = false;
   }
   if (scaleX > 3) {
    visible = true;
   }
   coulconf = Math.random() * 3 + 1;
   gotoAndStop(coulconf);
  }
  public function kill(): void {
   removeEventListener(Event.ENTER_FRAME, update);
  }
}
}
 


#39 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 02 January 2017 - 20:19 PM

Désolé M. SPI : j'ai pas réussi à joindre ma copie d'écran.

Mais oui : j'ai un "p" dont l’échelle est minime et qui s'affiche néanmoins à la source du générateur...

Dans l'absolu c'est pas bien grave : j'y oppose quelques pixels.
Mais...
J'aimerais comprendre.

#40 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7017 messages

Posté 02 January 2017 - 20:31 PM

Dans le constructeur de la particule, met la directement en invisible.
Puis dans l'update rend la visible lorsqu'elle atteint la valeur voulue.

#41 archiroc

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 259 messages

Posté 02 January 2017 - 21:05 PM

Merci M. SPI.

Mais pourquoi cette foutu singularité ne rentre t'elle pas dans l'ordre ...



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)