Preloader & hitTest(_root._xmouse, _root._ymouse)

Daniel92

Grünschnabel
Hallo,
also ich habe eine Flashwebsite entworfen, die soweit ganz gut funktioniert...
ich habe ein paar elemente eingebaut, die erst beim MouseOver reagieren (menü anzeigen/bil zoomen). MouseOver Prüfe ich durch folgenden Code:
onClipEvent(enterFrame){
if(this.hitTest(_root._xmouse, _root._ymouse)){
gotoAndStop(2);
}else{
gotoAndStop(1);
}
}
nun das problem mit dem Preloader, den ich noch vor den Film eingebaut habe: wenn der Preoader fertig ist, springt er einwandfrei zur ersten Seite, allerdings sind dann die Menüs sofort schon ausgeklappt,m sie verhalten sich also so, als würde sich die maus die ganze zeit auf ihnen befinden...
woran liegt das?
preloader:
stop();

//Auf der Hauptzeitleiste wird eine onEnterFrame Funktion aufgerufen
//Das bewirkt das der Code in { } mit eingestellten Bildrate wiederholt wird
//Hier also 25x pro Sekunde
this.onEnterFrame = function(){
//die Variable geladen gibt an wieviele Bytes bereits geladen wurden
geladen = this.getBytesLoaded();
//die Variable gesamt gibt an wieviele Bytes der Film beinhaltet
gesamt = this.getBytesTotal();
//die Variable prozent gibt an wieviel Prozent bereits geladen wurden
prozent = geladen * 100 / gesamt;
//In das dynamische Textfeld mc_prozent wird der Text geschrieben der nach = folgt
//Da die Variable prozent eine hässliche lange Nachkommazahl ergeben würde runden wir
//Die Ausgabe ist also die Variable prozent und es wird der Text % geladen angefügt
mc_prozent.text = Math.round(prozent)+" % geladen";
//Nun wird der Ladebalken dynamisch vergrößert
//Der Ladebalken ist 2*prozent breit. Das heißt wenn z.B. 45 Prozent geladen sind
//ist der Ladebalken 90 Pixel breit. Die max. Breite ist also 200 Pixel
mc_ladebalken._width = prozent*2;
//Wenn nun die geladenen Bytes größer oder gleich den gesamt zu ladenden Bytes sind
//dann wird in Bild 2 gesprungen, wo der Film anfängt und die onEnterFrame Funktion
//gelöscht
if(prozent == 100) { //geladen >= gesamt) {
gotoAndPlay("home");
delete this.onEnterFrame;
}
}

vielen dank, für eine antwort ;)
Daniel
 
Hallo,

Was genau soll der erste Code bewirkn? Der zweite Code ist der des Preloders und hat mit dem Menüproblem nichts zu tun. Poste doch einmal die fla.

Liebe Grüße,
jens
 
oh wunder oh wunder?!
ich habe mal meinen MouseOver-Code gegen deien ausgetauscht.. (den du anscheiend wieder gelöscht hast..) ->Fehlermeldung...
dann hab ich wieder den alten eingebaut und aufeinmal, ohne das ich sosnst iwas gemacht hätte, funktioniert es!
aber danke ;)
 
Ich hatte den Code wieder gelöscht weil der nicht ganz den selben Zweck erfüllt hätte wie deiner. Dass eine Fehlermeldung kommt kann ich mir aber nicht vorstellen :)

Aber wenn es jetzt funktioniert ist ja alles gut.
 
du sprichst mit deiner onEnterFrame die HzL an...(this.hitTest...)
this is ja deine hauptzeitleiste.....dein x mouse/y mouse liegt da drauf, folglich passiert der sprung zu frame 2....


du müsstest deine ereignissprozedur für einen _mc ablegen (_root. mein_mc. hitTest...)
wenn du einen echten kolisionstest abfangen willst......
 

Neue Beiträge

Zurück