2009-02-18 7 views
1

Je suis très novice dans Flash et j'ai besoin d'aide pour commencer à créer une application Flash de plusieurs pages.Application Flash multi-pages

j'ai réussi à ouvrir un autre fichier swf (appelé Page1) à partir du principal swf en appelant cette fonction

private function LoadExternalSwf(): void 
    { 
     var loader:Loader = new Loader(); 
     var urlReq:URLRequest = new URLRequest("page1.swf"); 
     loader.load(urlReq); 
     addChild(loader); 
    } 
  1. Comment ajouter une sorte de bouton « Retour » à la page 1 de façon à va se fermer (de sorte que nous sommes de retour à l'écran principal)?

  2. Si Page1 était un film, est-il possible de le fermer automatiquement après la fin de la lecture?

(J'utilise Flash CS3, Flex Builder 3, AS3)

Merci

Répondre

0

Solution:

De page1:

// Dispatch a "pageFinish" event to the loader/parent/container if any 
if (loaderInfo.loader) 
    loaderInfo.loader.dispatchEvent(new Event("pageFinish", true)); 

De la principale swf:

// Listen for the "pageFinish" event 
loader.addEventListener(EVENT_PAGEFINISH, OnPageFinish); 

... 

private function OnPageFinish(event: Event): void 
{ 
    ... 
} 
2

Comment ajouter une sorte de bouton "Retour" à la page 1 de sorte qu'il sera se fermer (de sorte que nous sommes de retour à l'écran principal )?

Il existe plusieurs façons de procéder. Vous pouvez simplement masquer la page en définissant sa visibilité sur false, vous pouvez simplement la déplacer hors de la scène pour qu'elle ne puisse pas être vue ou vous pouvez supprimer complètement le MovieClip (avec probablement d'autres options). Fondamentalement, c'est entièrement à vous et vous devez choisir la meilleure option pour répondre à vos besoins.

Dans votre exemple, vous voulez que page1.swf ait un bouton qui, lorsqu'on clique dessus, indique à son parent de faire quelque chose. Je recommande personnellement que cela se produise en envoyant un événement lorsque le bouton est cliqué. Le parent peut alors écouter page1 pour cet événement. Quand il attrape cet événement, vous pouvez alors choisir quoi faire avec page1.

Je vous suggère de lire quelques articles concernant les événements dans ActionScript 3 pour savoir comment cela est réalisé. Essayez this one pour commencer

Si Page1 était un film, est-il possible de fermer automatiquement après qu'il fin de la lecture?

Oui, cela est également possible et encore une fois je voudrais utiliser la même méthode comme indiqué ci-dessus. Envoyer un événement sur la dernière image (ou au moins si vous savez que l'image finale a été touchée) qui indique à son parent de faire quelque chose.

+0

Merci James. J'ai lu ce lien et je vais l'essayer. Maintenant, existe-t-il un type d'événement standard à envoyer pour indiquer au parent qu'il a terminé? (ou tout nom standard/commun ou moyen d'acheminement de l'événement?) Merci! – Aximili

Questions connexes