[AS2->AS3] Déclaration automatique des instances sur la scène

6 décembre 2007 – 17:11

Dans Flash CS 3, il y a par défaut un petit détail qui fait souvent perdre du temps aux développeurs AS2. Il s'agit de la déclaration automatique des instances sur la scène. En effet, si vous créez un symbole de type movieclip que vous attachez à une classe. Dans cette classe vous déclarez, par exemple, un champ texte qui se trouve dans votre movieclip.

package{
	import flash.display.MovieClip;
	import flash.text.TextField;
	public class Exemple extends MovieClip{
		public var field:TextField;
		public function Exemple(){
			trace(field);
		}
	}
}

Si vous compilez vous allez obtenir une erreur :

1151: A conflict exists with definition field in namespace internal.

Simplement parce que Flash CS 3 a automatiquement déclaré l'instance de classe TextField qui est sur la scène. On est donc en présence d'un conflit. Pour empêcher Flash de faire cette déclaration automatiquement il faut décocher l'option par défaut qui se trouve dans les préférences de publication de votre projet.

[AS2->AS3] Déclaration automatique des instances sur la scène image 1

Vous pouvez recompiler, ça fonctionne comme avant.

Post a Comment