AS3 : débutant dérouté

AS3 : débutant dérouté - Flash/ActionScript - Programmation

Marsh Posté le 16-11-2009 à 15:32:27    

Bonjour,
je débute en AS3 et tout me semble plus compliqué et long à faire qu'en AS2 mais bon je persévère... Si vous pouvez m'aider à démarrer je vous en remercie !
 
Il y a un pb dans ce petit script
 

Code :
  1. var sp:Sprite=new mc();
  2. sp.name="sp1";
  3. sp.life=100; // Erreur : Accès à la propriété life peut-être non définie via la référence de type static...
  4. this.addChild(sp);


Message édité par watoo watoo le 16-11-2009 à 16:14:40
Reply

Marsh Posté le 16-11-2009 à 15:32:27   

Reply

Marsh Posté le 17-11-2009 à 16:37:53    

deja tu types ton object en un autre, meme si il est étendu c'est plus propre ca le typer dans sa classe
 
var sp:Sprite = new Sprite();
 
var sp:mc = new mc();
 
ensuite a tu bien la propriété  life dans ton object mc ?

Reply

Marsh Posté le 17-11-2009 à 20:38:42    

Ces 2 lignes ensemble ne fonctionnent pas, seul la 2e passe.
Comment ça si la propriété life et dans mon objet mc? mc est un clip (en fait une classe avec exporter pour actionscript coché).  
En AS2 on pouvait dans le script rajouter autant de variable qu'on voulait dans l'objet lorsqu'on attachait un clip sur la scène, par exemple après un mc=attachMovie(....)
mc.life6;
mc.energy=100;
etc... il n'y avait rien d'autre à faire.

Reply

Marsh Posté le 17-11-2009 à 22:22:19    

et oui mais pu maintenant,  
 
faut creer un object ou une class
 
var obj:object = new Object()
obj.clip = new mc();
obj.energy = 100
 
addChild(obj.clip)

Reply

Marsh Posté le 18-11-2009 à 07:35:35    

eh ben, AS3 chamboule tout ! Sympa tous ces conseils, je vais essayer ça et me documenter plus parce que finalement y'a beaucoup de plus de changements que je pensais.
 
Edit: En fait ça peut marcher comme en AS2, c'est au moment du typage que tout se joue.
 

Code :
  1. var sp:mc=new mc(); //Alors qu'avec var sp:Sprite=new mc()...
  2. addChild(sp);
  3. sp.life=10; //... cette ligne ne marcherait pas


 
Merci !!!


Message édité par watoo watoo le 18-11-2009 à 07:46:54
Reply

Marsh Posté le 18-11-2009 à 09:47:25    

la transition a été super dur pour moi aussi, mais ton code apres est beaucoup plus propre, et les possibilités en AS3 son énorme

Reply

Marsh Posté le 18-11-2009 à 11:19:45    

+1 pour AS3...
Passage difficile, j'y ai laissé beaucoup de mauvaise fois, mais au moins, je pond des choses plus propres et je comprend mieux le principe de class (étendu ou pas) et bien d'autres fondamentaux de la programmation.
Du coup, la documentation AS3 est d'une facilité à comprendre/exploiter


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 18-11-2009 à 15:54:20    

Bonjour,  
j'ai un souci d'affichage de background sur mes tableaux,  
qd je test sur explorer ca marche, je vois mes background mais j ai tester sur un autre ordi et la plus de fond!! que mon texte !!  
Qqn peut m aider je travaille sur dreamweaver.  
Merci d avance

Reply

Marsh Posté le 18-11-2009 à 15:56:32    

c'est quoi le rapport avec le sujet ?

Reply

Marsh Posté le 18-11-2009 à 16:03:06    

Je suis désolé mais tout le monde me dis ça !
Je ne sais pas ou poser ma question?

Reply

Marsh Posté le 18-11-2009 à 16:03:06   

Reply

Marsh Posté le 18-11-2009 à 16:06:25    

dans la rubrique HTML/CSS/Javascript  
creer un nouveau topic et je me ferai une joie de te repondre ;)

Reply

Marsh Posté le 18-11-2009 à 16:07:11    

ok merci beaucoup

Reply

Marsh Posté le 18-11-2009 à 19:05:26    

A entendre des témoignages, apprendre l'AS3 est aussi pour beaucoup  une satisfaction personnelle car c'est vrai que c'est plus difficile, cela demande plus de rigueur, un peu comme en C++ et pourtant la plupart des applications/jeux flash ont toutes été écrites en AS2 et fonctionnent toujours très bien.  
D'après mes premières impressions c'est plus rapide d'écrire de l'AS2 (deux fois moins de ligne de code et donc gain de temps) pour des applications classiques. Par contre pour un grand projet, pour le côté évolutif et prochainement pour pouvoir compiler ses fla pour iphone, l'AS3 est le meilleur choix.


Message édité par watoo watoo le 18-11-2009 à 19:06:43
Reply

Marsh Posté le 19-11-2009 à 11:26:24    

Si AS3 ne tolère plus les erreurs, c'est pour de bonne raison... On peut très bien imaginer un compilateur qui se charge de déclarer des variable et de les typer par rapport à leur contenu, mais ça ne peut pas être parfaitement fiable, c'est pour ça qu'en utilisant AS2 on pouvais avoir des bugs à première vu absurde...
Si tout le monde avais prit le temps de codé proprement en AS2, le passage à AS3 n'aurait posé aucun souci... d'ailleurs, le code n'est pas spécialement plus long...
Je sais parfaitement de quoi je parle, graphiste de base, on m'a apprit AS2 sans typer, éparpiller le code partout, et plein d'immondice... ça marchait à la débrouille, mais c'était pas souple et pas du tout optimisé... J'avais d'ailleurs des bug inexplicable ! L'introduction sur l'AS3 de thibaud IMBERT (livre : Pratique de l'AS3) en parle mieux...

 


Message édité par abais le 19-11-2009 à 11:27:03

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 19-11-2009 à 18:22:39    

Oui je suis d'accord avec toi, mais je pense que quelque soit le langage utilisé on peut toujours programmé n'importe comment, tout dépend de l'expérience du programmeur sur la manière de structurer son projet. Il est vrai qu'en AS2 c'est plus facile d'éparpiller du code qu'en AS3 à cause des vestiges de l'AS1 mais rien ne l'obligeait.


Message édité par watoo watoo le 19-11-2009 à 19:25:16
Reply

Marsh Posté le 20-11-2009 à 07:55:09    

On est d'accord, le programmeur n'a jamais eu de problème vu qu'il pond un truc propre à la base, c'est aux graphistes que cette transition problème...
Je vais pas trop m'étaler dessus, juste pour t'encourager à passer ce cap... C'est seulement en reprenant les bases qu'on comprend/profite de l'AS3


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed