begin process at 2012 05 26 15:40:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

AS1 à AS2


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AS1 à AS2

jeudi 7 mai 2009 à 18:10:09 | AS1 à AS2

aryade

Bonjour,

J'ai réalisé une animation en as1 où une ligne se trace en suivant la souris. Elle fonctionne très bien, cependant aujourd'hui, j'ai besoin de la "traduire" en as2 et ne m'en sort pas ! Merci d'avance ;)

Sur la scène principale ce code :

startDrag("/tracker", true);
Counter = 0;
NumberObjects = getProperty("/Line", _totalframes);
/:OldX = getProperty("/Line", _x);
/:OldY = getProperty("/Line", _y);

setProperty("/Line", _visible, "0");
tellTarget ("/Line") {
    stop();
}

3 clips :
-
Line (un clip avec ma ligne, en ht à gche de ma scène)
- tracker(un clip vide, en bas à gche de ma scène)
- control (en bas à dte de ma scène)

>>Dans le clip control : 2 images clés avec les codes suivant :

1ère image clè :

if (Number(/:Counter)<Number(/:NumberObjects)) {
    /:Counter = Number(/:Counter)+1;
} else {
    /:Counter = 1;
}
Line = "NewLine" + /:Counter;
duplicateMovieClip("/Line", Line, /:Counter);
Line = "/" + Line;
NewX = getProperty("/tracker", _x);
NewY = getProperty("/tracker", _y);
setProperty(Line, _x, /:OldX);
setProperty(Line, _y, /:OldY);
setProperty(Line, _xscale, NewX-/:OldX);
setProperty(Line, _yscale, NewY-/:OldY);
/:OldX = NewX;
/:OldY = NewY;

2ème image clè :

gotoAndPlay(1);
jeudi 7 mai 2009 à 18:39:54 | Re : AS1 à AS2

pegase31

Membre Club Administrateur CodeS-SourceS
Bonsoir,

Alors 3 règles à savoir dans ton cas :

- target = setProperty(valeur, property);  donne => target.property = valeur
- variable = getProperty(target, property);  donne => variable = target.property
- tellTarget (target) { méthode }; donne => target.méthode

Ensuite :

"/:" = variable et "/" = objet

Avec tout ça, j'en conclue que ton code actuel est déjà un bâtardage de as1/2 et que ça ressemble à un Hybride Flash 4/5 pas encore assimilé.
Je ne sais pas où tu as eut ton code, mais le passage à l'as3 serait un bond en avant de 9 ans (environ).

Bon courage pour ton auto-traduction !

Peg'
jeudi 7 mai 2009 à 19:21:07 | Re : AS1 à AS2

aryade

Merci beaucoup Peg', je comprend un peu mieux déjà.

Alors, j'ai essayé d'auto-traduire mon hybride à l'aide de tes conseils; je ne sais pas si je suis sur la bonne voie (ça ne fonctionne tjs pas), voici ce que j'ai (est-ce que "Line" doit être entre guillemets ou avec un underscore avant ??) :

Sur la scène principale ce code :

startDrag(tracker, true);
var Counter = 0;
var NumberObjects = Line._totalframes;
var OldX = Line._x;
var OldY = Line._y;

Line._visible = "0";
Line.stop();

>>Dans le clip control : 2 images clés avec les codes suivant :
1ère image clè :

if (Number(Counter)<Number(NumberObjects)) {
    Counter = Number(Counter)+1;
} else {
    Counter = 1;
}
Line = "NewLine" + Counter;
duplicateMovieClip(Line, Line, Counter);
Line = "/" + Line;
NewX = tracker._x;
NewY = tracker._y;
Line._x = OldX;
Line._y = OldY;
Line._xscale = NewX-OldX;
Line._yscale = NewY-OldY;
OldX = NewX;
OldY = NewY;

2ème image clè :


gotoAndPlay(1);

jeudi 7 mai 2009 à 19:40:06 | Re : AS1 à AS2

pegase31

Membre Club Administrateur CodeS-SourceS
Déjà, si tu regardes la propriété "_visible" d'un objet, tu verras que c'est un booléen, soit true, soit false, et non un string ("0"). Ensuite c'est une propriété d'objet graphique, donc pas d'une variable ...

Ensuite, de mémoire, cette partie crée un nouveau clip et le duplique :

Line = "NewLine" + /:Counter;
duplicateMovieClip("/Line", Line, /:Counter);
Line = "/" + Line;

Or, la syntaxe est complètement changée.

Line = clip dont le nom est "NewLine"+valeur de Counter
Duplique le clip appelé "Line" en un nouveau clip appelle "Line" au niveau Counter
Line = Clip Line

Cette partie dépend du contenu graphique de ton animation ... et donc pas possible à traduire comme ça ...

Peg'
jeudi 7 mai 2009 à 21:33:33 | Re : AS1 à AS2

aryade

Merci, j'ai l'impression d'avancer grâce à toi.
Je l'ai retouché un peu (ça ne fonctionne tjs pas). Quand tu dis "et donc pas possible à traduire comme ça"; tu veux dire sans voir l'anim (en fait le clip Line; c'est un clip composé de 2 petits clips identiques qui sont des traits avec une interpolation qui les courbe) ou que ce n'est pas la bonne mèthode au niveau du code ?
Je commente le code.

Sur la scène principale ce code :

startDrag(tracker, true);
var Counter = 0;
var NumberObjects = Line._totalframes; // je ne comprend pas ça; est-ce qu'il tourne en boucle (avec le "gotoAndPlay(1)") et le totalframes équivaut au temps ?
var OldX = Line._x;
var OldY = Line._y;

Line._visible = false;
Line.stop();

// en fait ici on ne parle que de la ligne qui existe déjà ?


>>Dans le clip control : 2 images clés avec les codes suivant :
1ère image clè :


if (Number(Counter)<Number(NumberObjects)) {
    Counter = Number(Counter)+1;
} else {
    Counter = 1;
}
Line = "NewLine" + Counter;
duplicateMovieClip(Line, NewLine, Counter); // en fait est-ce que ces deux lignes ne devraient pas en faire une seule ??

NewX = tracker._x;
NewY = tracker._y;
Line._x = OldX;
Line._y = OldY;
Line._xscale = NewX-OldX;
Line._yscale = NewY-OldY;
OldX = NewX;
OldY = NewY; // est-ce que je ne devrait pas mettre "var NewY = OldY" et  "var NewX = OldX" ??

2ème image clè :

gotoAndPlay(1);


Cette discussion est classée dans : line, scène, setproperty, counter, getproperty


Répondre à ce message

Sujets en rapport avec ce message

Clic continue ? [ par dref ] Bonjour,Voilà g fai un panorama avec qd on clik sur une photo, elle apparait en grand jsute au dessous, simple jusk là. Malheureusement, g bp de photo problème de profondeur... [ par gnuisnotunix ] hello !j'ai crée une liaison vers de l'action script entre ma librairie et ma scène avec l'action attachMovie, mon probleme est que le clip est bien a changement de scene [ par baronnoir ] Salut je vais reposer ma question et essayer d?expliquer plus clairement mon problème.J?ai fabriqué un petit site en flash, et je ne suis pas capable Sous Flash 6 ou est la fonction... [ par web35 ] Salut J ai trouver un tuto simple qui explique comment créer un PRELOAD pour mon menu MAIS ce tuto est pour Flash 5 et je possède Flash 6.Bon il est d plein ecran mais scène à 100% [ par philbak ] Quelqu'un aurait-il un action script pour que le .swf soit lancé en plein écran tout en conservant la taille originale de la scène?merciiiii pb d'interaction derrière un loadmovie [ par YarbY ] SalutMa scène principale contient des boutons et des combo-box.Je charge dans un clip de cette scène un .swf qui contient une anim de dimension plus p encore une question...concernant les barres de chargement [ par mrsdine ] Bonjour, (re pour ceux qui auront deja lu ma précédente question),J'ai crée une animation...elle est composée de deux scènes dont la première est une Preloader [ par Pug ] jean-Marcsalutj'ai récupéré un prealoader qui m'intéréssai que je n'arrive pas a adapter pour que lorsque qu'il arrive a 100% de chargement il aille a if frame is loaded [ par inconnue ] Salut, je sais parfaitement comment réaliser l'action if frame is loaded, cependant, j'aimerai la réaliser cette fois-ci de manière différente : que l Problème avec les composants [ par righton ] voici mon problème : J'utilise un composant qui est sur la scène. Le changeHandler appelle une fonction qui est sur l'image 1.Maintenant je voudrais f


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales