Votre question

Modification de la largueur en action script

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
24 Mai 2009 19:50:48

Salut a tous j'ai un soucis avec flash et l'action script que je n'arrive pas a résoudre.

Les faits :

j'ai une ligne au bout de laquelle un rond.

L'effet que je souhaite donner est que quand je passe avec la souris au dessus du rond celui ci vient se coller à la souris et la suit.
Jusque la aucun problème.

En suite il faut que la ligne s'étire pour toujours être en contact avec le rond

donc pour la ligne j'ai ca :

_width = (0 + _root.rondP._x);

qui marche très bien et je me suis dit que ça serai pareil pour la hauteur donc comme ça :

_height = (160 - _root.rondP._y);

Mais la ça marche pas!!

trace(160 - _root.rondP._y); et trace (_height)

me renvoi 2 nombres différents le premier juste et le 2ieme ne change jamais comme si l'affectation ne marchait pas.


merci :'( 

Autres pages sur : modification largueur action script

25 Mai 2009 23:17:39

Tu t'y prends mal je pense ...
Si le but est simplement qu'une ligne s'étire d'un point A à un point B, ce dernier mouvant, le mieux serait d'utiliser les objet de dessin de flash, avec un lineTo.

Exemple:
  1. onMouseMove = function() {
  2. if(typeof(line_mc) == 'movieclip')
  3. line_mc.removeMovieClip();
  4. this.createEmptyMovieClip("line_mc", 10);
  5. line_mc.lineStyle(1, 0x000000, 100);
  6. line_mc.moveTo(0, 0);
  7. line_mc.lineTo(_xmouse, _ymouse);
  8. line_mc._x = 0;
  9. line_mc._y = 0;
  10. }


Ceci te donnera une ligne du coin haut gauche à la position de ta souris au mouvement de la souris (pas la peine de solliciter un enterframe si l'événement est sur la souris).

Tu n'as plus qu'a bidouiller avec ça, tu arriveras a faire pas mal de truc:

Un outil type crayon:
  1. this.createEmptyMovieClip("line_mc", 10);
  2. line_mc.lineStyle(1, 0x000000, 100);
  3. line_mc.moveTo(0, 0);
  4. line_mc.lineTo(0, 0);
  5. line_mc._x = 0;
  6. line_mc._y = 0;
  7.  
  8. onMouseDown = function() {
  9. line_mc.moveTo(_xmouse, _ymouse);
  10. onMouseMove = function() {
  11. line_mc.lineTo(_xmouse, _ymouse);
  12. }
  13. }
  14.  
  15. onMouseUp = function() {
  16. delete onMouseMove;
  17. }


Ou un truc bizarre :) 
  1. this.createEmptyMovieClip("line_mc", 10);
  2. line_mc.lineStyle(1, 0x000000, 100);
  3. line_mc._x = 0;
  4. line_mc._y = 0;
  5.  
  6. onMouseMove = function() {
  7. line_mc.moveTo(0, 0);
  8. line_mc.lineTo(_xmouse, _ymouse);
  9. }


Enfin bref, je te laisse jouer :) 

m
0
l
26 Mai 2009 20:26:20

woua je m'attendais pas à une telle réponse :) 

Merci !!

j'ai réussi a faire des truc sympa avec des courbes :
  1. onEnterFrame = function() {
  2. if(typeof(line_mc) == 'movieclip')
  3. line_mc.removeMovieClip();
  4. this.createEmptyMovieClip("line_mc", 10);
  5. line_mc.lineStyle(1, 0xAA1818, 100);
  6. line_mc.moveTo(-20, 320);
  7. line_mc.curveTo(100, 280,_root.rondP._x,_root.rondP._y);
  8. line_mc._x = 0;
  9. line_mc._y = 0;
  10. }


Je vois a peut près a quoi sert chaque valeur en revanche le début est assez flou.

J'ai essayé de mettre dans le même enterFrame une autre courbe mais rien n'y fait, même en changeant le nom line2_mc.

Peux tu m'aider à mieux m'y prendre ?

Je connais vraiment que les toutes bases de flash.
Je trouve souvent des tutos pour des choses purement mathématique "calcules", informatique "bdd et xml" mais rarement pour des effets plus artistiques ^^ je m'intéresse surtout à tout ce qui est déplacement, changement d'opacité, effet je flou lors d'événement généré par l'utilisateur.
En gros tout ce qui peut parait être des détails mais qui apporte beaucoup en terme d'ambiance et d'immersion.

:) 
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS