2009-08-30 5 views
0

AIDE! Comment est-ce que je corrigerais ce Actionscript 3.0 de sorte qu'il crée un titre de page dynamique pour chaque page? Je suis nouveau sur Actionscript 3.0 et j'essaye de générer un titre de page en utilisant le texte dynamique pour chaque page. J'ai quatre pages dans mon site, et voici le actionscript que j'ai jusqu'à présent:Quelqu'un peut-il m'aider avec les titres de pages dynamiques dans Actionscript 3 S'il vous plaît?

stop() 
function createTitle (whichpage:String) { 
pageTitle.text = whichpage; 
}; 
var page:String="theres no place like home"; 
createTitle (page); 

function btn1Press (MouseEvent) { 
gotoAndStop (1); 
} 

function btn2Press (MouseEvent) { 
gotoAndStop (10); 
} 

function btn3Press (MouseEvent) { 
gotoAndStop (20); 
} 

function btn4Press (MouseEvent) { 
gotoAndStop (30); 
} 

btn1Press.addEventListener (MouseEvent.CLICK, Home); 
btn2Press.addEventListener (MouseEvent.CLICK, Services); 
btn3Press.addEventListener (MouseEvent.CLICK, About); 
btn4Press.addEventListener (MouseEvent.CLICK, Contact); 

stop(); 


1,10,20,30 represent the frames that each page is on 

Les quatre boutons de navigation sont configurés comme suit:

btn1Press = Home Page (Instance name "Home") 
btn2Press = Services Page (Instance name "Services") 
btn3Press= About Page (Instance name "About") 
btn4Press=Contact Page (Instance name "Contact") 

J'ai déjà la zone de texte dynamique ensemble en haut Fondamentalement, j'ai besoin de chacun des boutons pour aller à leurs pages respectives, et j'ai besoin du texte dans la zone de texte dynamique pour changer en fonction de quelle page il est. Voici l'actionscript supplémentaire que j'ai aux images 10,20 et 30 (services, sur, et contact)

page = "services"; createTitle (page); stop();

page = "about"; createTitle (page); stop();

page = "contact"; createTitle (page); stop();

Je suis vraiment frustré par cela, et toute aide serait tellement géniale!

Je continue à obtenir l'erreur # 1061 sur les fonctions non définies

Je pense donc une meilleure façon de poser ma question serait:

J'ai un site de quatre pages dans Flash CS4, Page 1 démarre sur l'image 1 , Page 2 commence sur l'image 10, Page 3 commence sur l'image 20 et la page 4 commence sur l'image 30. Il y a quatre boutons de navigation que j'ai convertis en symboles de bouton. Que dois-je appeler chaque bouton, et que dois-je appeler l'instance de chaque bouton? Quel code ai-je besoin de placer dans le panneau des actions pour que les boutons de navigation fonctionnent correctement, et que la zone de texte dynamique affiche un titre spécifique à la page sur laquelle elle se trouve ("Bienvenue sur la page d'accueil", "Bienvenue à la page À propos de ", etc)

Merci pour votre aide + patience, je trouve cela très confus. :(

Répondre

0

Je pense que le plus gros problème est que vous associez des écouteurs d'événements à des fonctions, au lieu de fonctions-comme-gestionnaire d'événements à des boutons.Les lignes proches de la fin de votre premier bloc devraient probablement être:

homeBtn.addEventListener (MouseEvent.CLICK, btn1Press); 

Ou plutôt, il y a une page de propriétés dans flash sur les boutons où vous pouvez joindre un « clic » gestionnaire pour ce bouton.

vous devriez essayer Flex Builder. Qu'est-ce que vous construisez ici se sent vraiment comme quelque chose cela devrait être construit dans Flex plutôt que Flash.Flex a beaucoup de jolies transitions et autres, et il est facile de construire quelque chose dans Flash Professional et déposez-le dans un projet Flex. Cela réglera une grande partie de vos problèmes de style et d'organisation.

Il y a beaucoup d'autres défauts dans ce code, pas tous qui sont mortels, juste laid:

  • Dans AS, comme JS, points-virgules à la fin des déclarations sont facultatifs, mais il est encore un bon idée de les ajouter. (Ligne 1, "stop()".)

  • Vous avez réinventé le style BASIC des années 1980 ici, avec "GOTO LINE". Passer à Flex est une façon d'améliorer votre style de code, car Flex Builder applique de nombreuses règles de style. Si vous devez uniquement utiliser Flash Professional, il existe probablement des modèles de conception Flash pour éviter cela dans cet environnement. Obtenez un livre sur le développement Flash AS3-lourd. Je suis sûr que vous trouverez beaucoup de bons conseils de style là-bas. Idem avec les contrôles numérotés, seulement ce qui vous amène à Visual Basic de débutant. btn1Press(), par exemple, devrait s'appeler quelque chose comme homeButtonPressed(). Dans un an, vous devrez cliquer sur l'environnement de développement Flash pour découvrir ce qu'est "btn1". Si vous appelez le bouton et les fonctions qu'il appelle par leur ce qui signifie, vous n'aurez pas ce problème.

1

Il semble que vous souhaitiez modifier dynamiquement le titre HTML d'une page à partir de Flex lors du changement de vue dans Flex. La seule façon de le faire est via javascript appelé depuis Flex. Il serait quelque chose comme ceci:

FLEX

public function setTitle(title:String):void { 
if (ExternalInterface.available) { 
    ExternalInterface.call("setTitle", title); 
} 
} 

JAVASCRIPT

function setTitle(t){ 
document.title.innerText = t; 
}