Je me demande si le flash.utils.getDefinitionByName (name: String): Class fonctionne avec des classes personnalisées? Y at-il un problème si la classe a un constructeur qui prend des arguments? Je dis cela parce que j'ai une classe dans un paquet de la forme packageA.packageB et quand j'indique le nom de la classe dans la fonction ci-dessus comme packageA.packageB.ClassName ne fonctionne pas. J'ai aussi essayé (avec le même résultat) la sortie de getQualifiedClass qui donne packageA.packageB :: ClassName. Des idées??getDefinitionByName fonctionne avec des classes personnalisées?
Voici une partie du code qui appartient à un fichier qui importe comme import factory.scratchers. *; tous les éléments scratch qui ont les noms AlphaScratcher, DissolveScratcheer, ExplodeScratcher, etc. L'importation ci-dessus satisfait-elle à l'exigence?
import factory.scratchers.*;
...
for (var iArea:uint = 0; iArea < _totalScratchAreas; iArea++) {
var sourceArray:Array = new Array();
var currentNameArray:Array = _globalAssetNameArray[iArea];
var theScratcher:Scratcher;
for (var index:uint = 0; index < _globalMsgArray[iArea].length; index++) {
// here i would like to have something like:>
var ScratchClass:Class = getDefinitionByName("factory.scratchers::ExplodeScratcher") as Class;
theScratcher = new ScratchClass(_assetGenerator, _mainSprite);
// instead of: - but it does not work not sprite shown on screen
theScratcher = new ExplodeScratcher(_assetGenerator, _mainSprite);
theScratcher.setBack(currentNameArray[index]);
sourceArray.push(theScratcher);
if (_globalArray[iArea][4] == OPENEDAREA) {
theScratcher.auto();
}
}
si je viens d'importer le paquet entier des classes que je veux obtenir leur instance comme je montre dans le message original, est-ce exact? mais je ne reçois pas l'instance de la classe désirée ... – Ponty
donc juste l'importation n'est pas assez je dois mettre var MyClass: ClassName et travaillé! Merci – Ponty