EFFET LANTERNE DANS L'OBSCURITÉ

Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
- - Dernière réponse : nensero
Messages postés
1
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
18 novembre 2008
- 18 nov. 2008 à 18:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31727-effet-lanterne-dans-l-obscurite

nensero
Messages postés
1
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
18 novembre 2008
-
Alors,
Je pense que vous devez poster des scripts avec des applications accessibles à tous,comme flash MX. Pour ce code qui ne s'ouvre pas dépuis deux jours, je ne sais plus comment faire pour ouvrir le fameux effet lanterne de Lamor afin de lui apporter les améliorations de dernières minutes.
Bien vouloir indiquer le programme convenant!
l1solent
Messages postés
29
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
3 décembre 2005
-
Dommage que l'animation ne soit pas automatisé, et que se ne sont pas des vrais couleurs
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
j'ai créé la fonction "lanterne" avec
m = rayon de la lampe,
x= largeur de la scène,
y=hauteur de la scène.
cs_dawi
Messages postés
4
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
19 juin 2005
-
effectivement, cela fonctionne très bien, par contre quand akhenaton dit met le rayon à 120, c'est où? parce que j'arrive pas à changer la taille de la lanterne, est-ce que vous pourriez m'éclairer (sans jeu de mots)?
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
dawi, le code de akhénathon est logique et fonctionne.

sinon j'utilise setInterval() plutot que onEnterFrame() sans raison particuliere, cela revient au même d'utiliser l'un ou l'autre dans ce code.
setInterval permet tout de même un taux de rafraichissement plus rapide que le taux d'image par seconde imposé dans l'anim grace à "updateAfterEvent()"
cs_dawi
Messages postés
4
Date d'inscription
dimanche 15 mai 2005
Statut
Membre
Dernière intervention
19 juin 2005
-
chez moi le code ajouté par akhénaton, ne donne rien, y aurait pas une chtite erreur? faut bien recopier ce code dans la partie "//tracé de la lumière", le update after event il ne faut pas le remettre? et comment faire pour réduire la taille de la lanterne? (je suis un newbie)
merci :)
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
héé akhenaton, 2.6ghz!! normal que tu ne sentes pas la difference; de mon coté je test sur mon dinosaure cadencé à 366mhz :) mais je vais prendre ta loop quand même.
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
mais si je dessine une fois pour toute la forme et que je la drag, ca signifie que ce qui va etre en mouvement, ca sera la lumière+ l'ombre hors je ne veux pas que l'ombre bouge, c'est pas logique dans ma tête (programmation d'ottiste que je suis =^;^= )

à moin que je ne t'ai pas compris pegase...?
y a t'il une technique avec un simple drag pour que la lumière bouge sans l'ombre? (un alpha inversé par exemple?)
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
oui, surtout que s'il avait simplement dessiné sa forme dans un clip et fait un simple drag sur le clip, il aurait certainement gagné plus de 50% CPU ! Faites le test chez vous .. plutôt que de redessiner les traits toutes les frames ... des fois, ils ne faut pas chercher, c'est une façon de réfléchir de programmeur ! ;)
Pourquoi faire simple ....

Peg'
aKheNathOn
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013
-
essaye tu verras, sur mon pc (celeron 2,6 GHZ : 512 Mo RAM) il n'y à aucune différence entre ton algo initial, et ton algo modifié.

Je sais parcontre que sous Mac ça peut peut-être poser des soucis vu que le player n'est pas optimisé... mais le taf demandé reste raisonable ... (j'ai chargé mes anims 10 fois plus en actions et elles ne sacadent pas)

J'ai cependant une question concernant ton code. Pk tu utilises setInterval ? Tu aurais pas pû gérer le code dans l'événement Frame Enter ?
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
oui le coup de dégradé est bien mais ca prends beaucoup de ressource, une loop de 100 par interval... ouch :)
aKheNathOn
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013
-
Voilà un ptit effet un peu plus sympa, l'ombre est dégradé... Met le rayon à 120 par exemple et met ce bout de code à la place du tien :

// tracé de la lumière :
for (i=0; i<100; i++) {
lineStyle(2, 0x000000, 100 - i);
m = m - 1;
moveTo(_xmouse - m, _ymouse);
curveTo(_xmouse-m, _ymouse-m,_xmouse, _ymouse-m);
curveTo(_xmouse+m, _ymouse-m,_xmouse+m, _ymouse);
curveTo(_xmouse+m, _ymouse+m,_xmouse, _ymouse+m);
curveTo(_xmouse-m, _ymouse+m,_xmouse-m, _ymouse);
endFill();
}

J'ai testé avec flash MX ton fla, impossible de l'ouvrir, il aurais mieu fallu expliquer que t'avais fait un masque sur ton calque d'image, lors de mes essais je me gallérais avec une anim trop saccadé (dslé mais je suis newbie alors j'avais pas forcement vu qu'il y avais un calque) ...

Sinon, c une bonne idée, bonne continuations, akh.
cs_lamor
Messages postés
31
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
18 septembre 2005
-
c'est updaté :)
...simple paresse de ma part, le coup du spot carré
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
pas mal, assez fluide, mais tu sais, la fonction "curveTo" est assez efficace pour éviter les spot Carrés ...

Peg'