2009-11-03 9 views
0

Ok, donc cela peut sembler une question stupide, s'il vous plaît essayer de voir ma situation (au moins ce que je me dis):flash = préchargement film

J'ai un flash, qui charge le bouton avec Actionscript 2.0. Maintenant, mon swf ne dépasse pas 1 frame, et dans mon Actionscript, je me réfère beaucoup à _root.

Y at-il un moyen de précharger mon film sans interférer avec les références _root. Parce que j'ai essayé de faire une trace onEnterFrame du film comme celui-ci:

_root.onEnterFrame = function() { 
    trace(this.getBytesLoaded()); 
} 

Mais cela ne trace pas quoi que ce soit jusqu'à ce que le film est complètement chargé.

Toute aide serait grandement appréciée.

Répondre

1

La façon la plus simple de faire est de diviser votre flash en deux images.

  • Sur le premier frame, mettez le minimum de scrict à afficher pendant le chargement.
  • Créez un MovieClip vide sur la première image. Placez ce code sur le mc:

onClipEvent (enterFrame) { if (_root.getBytesLoaded()> = _root.getBytesTotal()) { gotoAndStop (2); }

  • Sur deux châssis, mettez tout le reste de votre code d'origine et d'actifs.
  • Dans votre bibliothèque, décochez la case "Exporter en première image" sur les articles avec liaison. Placez tous ces éléments sur la scène, sur la deuxième image, dans une zone invisible pour l'utilisateur. Cela forcera le joueur à les précharger.

Cette technique m'a sauvé du même problème plusieurs fois auparavant. Bonne chance.

1

Je suggère de vérifier la fonction _lockroot.

Il peut être trouvé documentée dans l'aide de Flash ici:

apprentissage Actionscript 2.0 dans Adobe Flash -> Meilleures pratiques et conventions de programmation pour ActionScript 2.0 -> ActionScript conventions de codage -> champ Handling -> Utilisation _lockroot J'espère cela aide