Comment créer de Préchargement en AS3
Mes applications flash est un peu grand, donc je veux intégrer un preloader dans ma demande,
Si quelqu'un peut me dire comment créer un preloader dans la nouvelle "Scène" et
charger une autre scène après le préchargement terminé?
Merci d'Avance!
Vous devez vous connecter pour publier un commentaire.
Mise à jour:
L'Option 1. Flash IDE, un fichier swf
Avoir intégré preloader lors de la compilation avec Flash IDE, vous devriez déplacer votre
Document Class
code de la 2e image de votre fichier FLA (sans paquet et le constructeur de la classe, bien sûr), et de supprimerDocument Class
.en tant que fichier de propriétés du projet. Dans la première image, vous devez placer ce code:Une fois le fichier swf est chargé, il avancées à l'image suivante et l'original de la demande de code d'initialisation doit être exécutée.
Cela fonctionne bien si vous avez organisé votre projet d'une manière que la plupart des éléments (images, etc) sont dans le Flash IDE de la Bibliothèque et ne sont pas chargés sur la première image (vous pouvez vérifier que dans chaque élément de la bibliothèque de propriétés).
L'Option 2. Flash IDE, deux fichiers swf
Une autre option, comme déjà recommandé par un autre intervenant, est de garder votre fichier swf de l'application tel qu'il est, et de créer un autre léger swf qui charge le premier.
Le code de préchargement.swf dans la première image:
Parfois, il y a d'autres problèmes avec cette approche, lorsque vous essayez d'accéder à
stage
de votreDocument Class constructor
etc, mais pour la plupart des cas, cela devrait faire le travail.L'Option 3. Différents IDE, ma recommandation: FlashDevelop
Si vous avez essayé de compiler mon posté code avec FlashDevelop, Flash Builder ou tout autre IDE, cela devrait fonctionner.
Original post:
Voici une configuration de base pour un intégré à de préchargement. Votre
Document Class
devrait ressembler à ceci:Preloader Classe:
Document Class
?Preloader
constructeur, afin de vérifier si le preloader est initialisé correctement:trace("begin preloading");
Si vous ne recevez pas ce message, puis il ya quelque chose de mal avecDocument
classe.Document
classe ont[Frame]
balise meta? Quelle IDE utilisez-vous pour compiler votre projet?[Fame]
metatag et vous ne pouvez pas simplement intégrer un preloader si vous êtes le codage .que des fichiers et non pas directement sur leTimeline
.Preloader
classe, une fois le fichier swf est chargé, vous pouvez charger d'autres ressources, puis les passer à l'Main
classe, soit en tant que constructeur de paramètres (par exemple lafunction Main(resources:Array)
), ou d'utiliser une autre fonction, commeMain.setResources(resources:Array)
Je vous recommande de faire la "légère swf charge une lourde swf" la route, puisqu'il est le plus efficace que j'ai vu. Il y a plently de ballonnement tutoriels là-bas, mais pour moi, je l'aime http://doogog.com/actionscript-3-external-preloader.html C'est droit au but.
Voici l'article comment créer fixées à l'as3 preloader
http://www.kirupa.com/forum/showthread.php?351689-actionscript-preloader-in-flash-develop
Vous pouvez également utiliser la 3ème partie de la bibliothèque comme Greensock pour le préchargement à la fois avant le démarrage de l'application et de tout les fichiers de l'application sont en cours de chargement.
Personnellement, j'utilise Greensock et de le recommander. Il résout certains bugs avec la classe loaderInfo.
http://www.greensock.com/loadermax/
[Frame(factoryClass='Preloader')] ne fonctionne plus dans la nouvelle ASC 2.0 compilateur. Au lieu de cela, le preloader devient votre classe de document, et vous avez besoin d'ajouter un Argument de Compilateur pour indiquer à flash d'inclure votre classe principale sur la deuxième image (ne pas y faire référence dans le preloader):
-frame=NameDoesntMatter,Principal
Ne ASC 2.0 reconnaître [Image] les balises de métadonnées (ex: pour le Preloader factoryClass)?
ASC2.0 et le Cadre de la métabalise