Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFrame

Marius Heil

Erfahrenes Mitglied
Hi,

zu dem, Projekt das ich gerade programmiere ist hier die herausfordern.fla.
Ich hab sie mal angehängt, ich hoffe ihr könnt mir weiterhelfen.
In Bild 2, auf die Rakete klicken und dann ein wenig in der Zeitleiste nach vorne scrollen, dann ist dort ne Funktion namens Typewriter, die mag irgendwie nicht mehr, hab schon einiges probiert, irgendwie ist die Textlänge undefiniert, obwohl sie der Funktion als Aufruf übergeben wird, ich gebs inzwischen auf^^
Ich hoffe, ihr kapiert meine Programmierung ein wenig ;)
Nicht der beste Stil, aber es erfüllt seinen Zweck ;)
Copyright liegt bei mir, also nix klauen :D


Marius
 
Zuletzt bearbeitet:
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Hi,

hat keiner eine Idee?
Ich wüsste nicht, was ich machen könnte, ihr könnt auch gerne reinschreiben, wenn ihr keine Idee habt, dann weiß ich, dass es sich mal jemand angeschaut hat ;)


Marius
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Hi,

aus dem Stehgreif: Versuche mal, die Frames mit den Textfeldern um einen Frame nach vorne zu setzen - Flash führt zuerst den Code auf der Zeitleiste aus, und dann erst die Aktualisierung der Objekte. Das Textfeld könnte also noch unbekannt sein, wenn sowohl es als auch der aufrufende Code in Frame 75 liegen.

Gruß
.
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Mhhh, nein, daran liegts nicht, allerdings sieht man nun, wie im Textfeld kurz was drinsteht, aber sofort wieder ausgeblendet wird. Das ist allerdings der Text, den ich in die .fla direkt reingeschrieben hab.


Marius
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Mhhh, wenn keiner ne Idee hat, bleibt mir nix anders übrig als entweder die Funktion rauszunehmen oder neu zu schreiben in irgendeiner art.


Marius
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Gerne genommene Ursachen:
- Timingproblem beim Laden
- Pfadproblem beim Laden und/oder Zuordnen zum Textfeld
- ...

Anschauen könnt ich es mir wenn es eine Flash-MX-Datei ist. Welche Version ist es bevor ich's unnötig runterlad?
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Hi, war Flash MX 04, ich könnts allerdings mal schnell konvertieren, ich vermeide normalerweise Funktionen dies erst in Flash Player 7 gibt, also müsste es laufen.
Habs angehängt, ich hoff, es geht korrekt.

Marius
 
Zuletzt bearbeitet:
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Konnt's nicht wirklich ausprobieren da mir die zu ladenden Daten drumrum fehlen und ich hier auch gerade keinen lokalen Server installiert hab - jedoch:
Versuch mal das Prüfen, ob die Variablen fertig geladen sind, per onLoad zu erledigen.
Hab keine Erfahrung mit der objekt.loaded-Geschichte - mit folgender Prüfroutine klappt das bei mir jedoch immer.

Das Prinzip
PHP:
varobj = new LoadVars();
varobj.onLoad = function(success) {
    if (success)  {
        //hier jetzt, was dann geschehen soll z.B.
        //_root.einevariable=this.einevariabledieimloadvarsobjektgeladenist
    }else{
        //hier das was passieren soll, wenn das laden fehlschlägt

}
varobj.load("deine.php");

Gruß
Rena

PS: find auch kein Textfeld namens "ab" in deiner Datei
 
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Hi,
danke erstmal, muss mal suchen, soweit ich weiß hatte ich ab angelegt, mal scahauen.
Das mit dem Onload bau ich auch gleich ein, das verwend ich erst seit neustem, da ich früher als dachte, das geht erst ab Flash 7, und ich programmier lieber für Flash 6, ist ein weig besser kompatibel.


Marius
---
Falls du Lust hast, das ganze zu testen, erstell einfach im gleichen Verzeichniss der fla Datei eine .txt Datei mit folgendem INhalt:
geld=65&geworbeneuser=0
Die benennst du dann n.txt oder so und schreibst einfach anstatt:
infodaten.load("functions/flash.php?mode=infodaten");
das:
infodaten.load("n.txt");
Dann sollte es laufen.
-----
Mhhh, jetzt hab ich ein Problem, ich kanns zwar so machen, dass das LoadVars Objekt per onLoad bestätigt wird, allerdings hab ich da ja stehen:
if (infodaten.loaded && (hintergrund._framesloaded == hintergrund._totalframes) && (hintergrundoverlay._framesloaded == hintergrundoverlay._totalframes)){
Das Problem ist nun halt, wie prüfe ich die anderen?
Ich glaub, das geht nur per onEnter Frame.
----
Ach so, die Anweisung für ab.text sollte ich mal löschen, die hatte ich früher mal drin, weils irgendwo Probleme gab, da ich die Flash nur mit Apache aufrufen konnte, wegen PHP hatte ich kein Trace zur Verfügung, da hab ichs so gelöst.


Marius
---
Für MC.onLoad gibts doch was, bin grad noch am recherchieren.
---
Und schon gibts wieder Probleme, das mit movieclip.onLoad geht wohl nicht ohne weiteres, wenn man loadMovie nimmt, da dieser MovieClip schon längst auf der Bühne ist, jetzt muss ich wieder zig Foren durchsuchen, bis ich ne Lösung find.
----
Ich glaubs nicht, aus irgendeinem Grund hatte ich nachricht.lenth() anstatt nachricht.length geschrieben, obwohl ich daran nichts mehr verändert hab,....
Ich hab keine Idee, wie das da hinkam, daran muss es aber irgendwie gelegen haben, jetzt spinnt allerdings die OnLoad FUnktion :D
Die zeigt immer geladen an, obwohl noch gar nichts geladen ist.


Marius
 
Zuletzt bearbeitet:
Re: Typewriterfunktion geht plötzlich nicht mehr. Ich glaube: Probleme mit onEnterFra

Hi,

Ein paar generelle Hinweise:

Für eingeladene Variablen sollte man immer das LoadVars (oder XML) Objekt mit der Methode onLoad verwenden, da man sich auf diese Weise umständliche Zwischenframes oder onEnterFrame-Methoden spart.

Für eingeladene MovieClips sollte man eine onEnterFrame-Methode in Zusammenhang mit getBytesLoaded() und getBytesTotal() verwenden (oder den MovieClipLoader, wenn Du für Flash 7 und aufwärts produzierst).

Du kannst Dir ein onLoad-Ereignis für MovieClips simulieren, wenn Du die loadMovie-Methode wrappst:
Code:
MovieClip.prototype.loadMC = function(dest, tgt) {
	var tester = dest._parent.createEmptyMovieClip("tester", dest._parent.getNextHighestDepth());
	dest.loadMovie(tgt);
	tester.onEnterFrame = function() {
		var cur = dest.getBytesLoaded();
		var max = dest.getBytesTotal();
		if (cur > 0 && max > 0) {
			var p = cur * 100 / max;
			if (p >= 100) {
				dest._parent.isLoaded(dest);
				tester.removeMovieClip();
			}
		}
	}
}

function isLoaded(obj) {
	// in obj steht ein Verweis auf die
	// komplett geladene Instanz
	trace(obj + " geladen!");
}

// Mal einen Testclip erstellen:
var container = this.createEmptyMovieClip("container", 1);

// und was reinladen:
this.loadMC(container, "meinfilm.swf");

_framesloaded in Kombination mit _totalframes sollte man möglichst vermeiden und nur zum Vorladen von statischen Animationen verwenden.

Gruß
.
 
Zurück