Bonjour à tous.
Je suis débutant en FLASH et AS3 et donc j'essaye d'en apprendre un maximum sur le sujet mais j'ai 2 3 problèmes qui me bloc en ce moment et même en cherchant bien sur le net c'est un peu l'impasse.
Je vous remercie d'avance pour le coup de main !
premier problème :
j'ai crée un petit site de test pour essayer les différentes fonctions de l'AS3 et j'ai fais une page avec un texte dynamique qui me charge un fichier TxT. Tout marche bien sauf que je voudrais faire un mini preloader pour charger le fichier. Dans cette optique j'ai crée un fichier TxT de 500ko le problème est que ma barre de chargement ne fonctionne pas alors que quand je test avec un trace je vois bien le chargement ce faire. Voici le code
[as]var LoadNews:URLLoader = new URLLoader();
var FileNews:URLRequest = new URLRequest("monTexte2.txt");
LoadNews.load(FileNews);
LoadNews.addEventListener(Event.COMPLETE, fileLoaded);
LoadNews.addEventListener(ProgressEvent.PROGRESS, fileProgress);
function fileLoaded(evt:Event):void
{
barreNews.visible = false;
var varNews:URLVariables = new URLVariables(LoadNews.data);
monTexte.htmlText = varNews.news;
}
function fileProgress(evt:ProgressEvent)
{
barreNews.scaleX = evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal;
}
[/as]
Deuxième problème
J'ai trouver un script de bubbling intéressant avec un fichier exemple le truc c'est que déja j'ai du mal à la compréhension du code donc j'espère que vous pourrez éclairer ma lanterne :) . En gros c'est composé d'un clip container qui contient l'animation de mes boutons sous forme de clip et une animation texte dynamique . mais je comprends pas trop plusieurs chose que voici :
[as]this.fieldLabel.text = (parent as MovieClip).txtLabel;[/as]
J'ai un peu de mal avec le systeme parent child et donc je bloque sur "(parent as MovieClip)" à quoi ça sert exactement et comment ça marche
ensuite passons au code du clip
[as]
function onMouseOver(evt:MouseEvent):void
{
var trg:MovieClip = evt.target as MovieClip;
trg.removeEventListener(Event.ENTER_FRAME, onPlayBack);
trg.play();
}
function onMouseOut(evt:MouseEvent):void
{
var trg:MovieClip = evt.target as MovieClip;
trg.stop();
trg.addEventListener(Event.ENTER_FRAME, onPlayBack);
}
function onPlayBack(evt:Event):void
{
var trg:MovieClip = evt.target as MovieClip;
if (trg.currentFrame == 1) trg.removeEventListener(Event.ENTER_FRAME, onPlayBack);
else trg.gotoAndStop(trg.currentFrame-1);
}
[/as]
donc dans ce code j'ai du mal avec le contenu de mouseover et de mouseout si vous pouviez m'expliquer ce que chaque ligne fait exactement ça serais vraiment gentil de votre part par exemple ce que veut dire "evt.target as MovieClip;" et aussi pourquoi on utilise play() et stop() et pourquoi on fait rajoute un autre addEvent et pourquoi on fait le removeEvent ^^ à peu près tout en faite ...
et Enfin troisième problème après je disparais promis toujours avec cette source ci j'ai rajouté un écouteur pour MOUSE_DOWN pour que quand on clique sur les boutons ça m'affiche des pages différentes qui sont différenciées par mes étiquettes.
[as]function onMouseClick(evt:Event):void
{
nomBouton = evt.currentTarget.name;
etiquette = nomBouton.slice(4,nomBouton.length)
gotoAndStop(etiquette);
}[/as]
le problème est que étant donné que tout est contenue dans le clip Container quand je clique rien ne ce passe, je pense que c'est du faite que mes différentes occurences de mes boutons se trouvent à l'intérieur de mon clip container mais j'aimerais l'utiliser sans à avoir à mettre le contenu de mes frame dedans c'est a dire l'utiliser directement. Donc je voulais savoir si on pouvais relier mes différents boutons contenue dans mon clip Container aux etiquettes se trouvant sur ma sequence principal .
je met un lien en plus avec un .rar contenant une image du problème pour que ce soit plus clair et aussi le fla pour mon problème de preload (sitealixtest.fla) et aussi pour mon problème de boutton avec container (containerproblemebouttonetiquette.fla)
Voila , désolé pour la longueur . merci d'avance de prendre de votre temps pour m'aider :)
[ Lien ]