Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash > AS1/AS2
AS1/AS2 Questions relatives à la programmation ActionScript 1 et 2 (Cours AS2)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/09/2006, 11h19   #1
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut [FLASH 8] Migration AS1 -> AS2

Salut,

je suis le conseil de Jean Philippe et je passe à AS2.

J'ai vu la nouvelle structuration objet, elle est bien plus proche de ce que l'on a l'habitude de trouver lorsque l'on développe en dot Net par exemple. C'est beaucoup plus propre qu'avant et le fait de pouvoir définir un fichier de classe est bien pratique puisque ça évite d'avoir à créer des images et des calques dédiés au code.

Ma première question concerne le
Code :
1
2
 
Object.registerClass("nomClip",nomClasse);
Quelle est le nouvel usage, dans la doc, je trouve bien cette référence pour AS1 mais il n'y a pas de lien type "Nouvelle syntaxe"...

Pourriez-vous m'aider à ce sujet ?

D'avance merci

Laurent
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 11h35   #2
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
Je suis pas sur mais registerClass fonctionne tres bien en AS2,. Je ne crois qu'il ait été remplacé
Par contre je te conseille de lire cet article fort intéressant traitant de ce sujet : http://www.tweenpix.net/blog/index.p...ka-dixit-peter
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 13h25   #3
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut Très puissant

Salut,

C'est du nectar La puissance de ce langage me laisse présager des possibilités très sympathiques en termes de création de composants.

@+

Laurent
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 15h42   #4
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut [AS2] Menu hiérarchique XML (Etape1)

Re,

J'ai fini de porter le travail que j'avais déja effectué de AS1 vers AS2 en tenant compte des explications données dans la page que tu m'as indiquée.

J'ai donc
  • Menus.xml
  • clMenu.as
  • TestMenu.fla

Menus.xml
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<Root_Element>
   <Menus>
      <Menu caption="Accueil" open="clpPannel001Accueil"/>
      <Menu caption="Tchat" open="clpPannel002Tchat"/>
      <Menu caption="Messagerie" open="clpPannel003Messagerie">
         <SousMenus>
            <Menu caption="Envoyés" open="clpPannel003Messagerie01"/>
            <Menu caption="Reçus" open="clpPannel003Messagerie02"/>
         </SousMenus>
      </Menu>
   </Menus>
</Root_Element>
clMenu.as
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
/*
Class : clMenu
Auteur : Laurent Jordi
Modifée le : 24/09/2006
Copyright : Laurent Jordi - EZ Logic Monaco - <a href="http://www.ezlogic.mc" target="_blank">http://www.ezlogic.mc</a>
*/
class clMenu extends MovieClip 
{
	//Variables de liaison
	public static var id:String 
		= "__Packages.clMenu";
	private static var _isSymbolLinked:Boolean 
		= Object.registerClass(id, clMenu);	
 
	//Variables d'occurence privée
	private var __index:Number;
	private var __caption:String;
	private var __link:String;
	private var __childrenMenus:Array;
	//Constructeur
	//********************************************
	public function clMenu() {
		var intTop:Number;
		var tf = this.createTextField("txtCaption",this.getNextHighestDepth(),0,intTop,this._parent._width,10);
		tf.autoSize = "left";
	}
	//********************************************
	public function get index():Number {
		return this.__index;
	}
	public function set index(value:Number):Void {
		this.__index = value;
	}
	//********************************************
	public function get caption():String {
		return this.__caption;
	}
	public function set caption(value:String):Void{
		this.__caption = value;
		//Mise à jour du champ texte
		this["txtCaption"].text = value;
	}
	//********************************************
	public function get link():String {
		return this.__link;
	}	
	public function set link(value:String):Void{
		this.__link = value;
	}	
	//********************************************
}
TestMenu.fla

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
import clMenu;
 
//Variables globales
var maxIndex:Number = -1;
 
// Chargement du XML
var menuXML:XML = new XML();
var szSourceXLM:String = "Menus.xml"
menuXML.onLoad = menuXML_onLoad;
menuXML.load(szSourceXLM);
 
function menuXML_onLoad(success) {
var currentNode;
	_root.createEmptyMovieClip("clpMainMenu01",1);
	var parentMenu:MovieClip = _root["clpMainMenu01"];
	var currentMenu:MovieClip;
	var currentMenuName:String;
	var previousMenu:Number;
	if (success) {
		currentNode = menuXML.firstChild.childNodes[1].childNodes		[1]; // Liste des menus
		while (currentNode!=null) {
			switch (currentNode.nodeName) {
			case "Menu":
				_root.maxIndex++;
				currentMenuName = "MenuItem" + 					_root.maxIndex;
				currentMenu = parentMenu.attachMovie	(clMenu.id,currentMenuName,parentMenu.getNextHighestDepth());
				currentMenu.index = _root.maxIndex;
				currentMenu.caption = 						currentNode.attributes.caption;
				currentMenu.link = 						currentNode.attributes.open;
				if(currentMenu.index>0){
					previousMenu = 							currentMenu.index - 1;
					trace(currentMenu._parent						["MenuItem" + 							previousMenu]._y);
					currentMenu._y = parentMenu					["MenuItem" + 							previousMenu]._y + 						parentMenu["MenuItem" + 						previousMenu]._height;
				} else {
					currentMenu._y = 0;
				}
				break;
			case "SousMenus":
				//ToDo
				break;
			}
			currentNode = 							currentNode.nextSibling.nextSibling;
		}
	}
}
Etape suivante : Instauration de la récursivité pour charger les sous menus en cascade.

Laurent Jordi
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 16h01   #5
Membre Expert
 
Avatar de jean philippe
 
Inscription : septembre 2006
Messages : 2 062
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2 062
Points : 2 075
Points : 2 075
Envoyer un message via MSN à jean philippe Envoyer un message via Skype™ à jean philippe
bien joué
__________________
mon Blog
jean philippe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 16h42   #6
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut Merci

Merci (Je faisais une petite sièste...)
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 17h03   #7
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut Création de la structure récursive

Re,

Donc, avant de poursuivre et d'ajouter les listeners qui permettront de rendre ce système de menus dynamiques, nous devons faire en sorte qu'il soit possible d'ajouter simplement des menus ou des sous-menus à notre structure.

Je pense qu'il faut d'abord créer une collection de menu. Ce sera le clip racine qui contiendra les menus de premier niveau. Ce clip racine pourra être personnalisé couleurs, définition des polices en fonction des niveaux, dimensions etc.

La classe comportera donc un tableau de menus qui pourront eux mêmes contenir une collection de sous menus.

Prochain post à venir.

Laurent Jordi
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2006, 17h05   #8
Membre chevronné
 
Avatar de Laurent Jordi
 
Homme Laurent Jordi
Architecte de système d'information
Inscription : septembre 2005
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Homme Laurent Jordi
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information

Informations forums :
Inscription : septembre 2005
Messages : 1 451
Points : 631
Points : 631
Envoyer un message via MSN à Laurent Jordi Envoyer un message via Skype™ à Laurent Jordi
Par défaut [Question] Utilisation des classes en cascade

Re,

La question est de savoir comment on utilise les classes en cascade. Doit-on importer la classe dans la collection ET dans le clip de test ?

@+

Laurent
__________________
Je dirige actuellement une équipe qui travaille sur la refonte d'un système d'information d'une compagnie d'assurance. Application à base de technologie Microsoft conçue en architecture de service (SOA avec du BPM, BRM, MDM) avec les derniers outils clients léger ASP.net MVC (3.x+)...
Je recrute des nouveaux collaborateurs (un à deux ans d'expérience) pour intégrer ce projet qui constituera une très bonne expérience (Projet d'une durée minimale de 2 ans à Levallois Perret).
Laurent Jordi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h08.


 
 
 
 
Partenaires

Hébergement Web