Flash MX Text mit Scrollbar,.....

Jo, du hast recht, hab ich gemacht, sie schwingen jetzt auch ncith so weit aus, dadurch, dass nun der großteil im Fenster bleibt konnt ich sogar die Blattanzahl verringern, jetzt können sogar User mti 2,5 GHZ auf die HP :D
Kaum ist das erste fertig, schon das nächste Problem, tut mir leid, dass ich so viele Fragen stell, aber ich hab ne Weile gesucht und keien gescheite Lösung gefunden:
<?xml version='1.0' encoding='utf-8'?>
<sprache>
<satz name="Guten Tag" />
<satz name="dudeldumdiedei" />
</sprache>
Ich hab da ja ein dynamisches Textfeld auf der Bühne, da mag ich Text reinladen und möglicherweise auch Bilder, den HTML Text speicher ich in ner externen XML Datei.
Wenn ich jetzt da allerdings statt -Guten Tag- zb ein paar HTML Tags reinmach, dann läd das XML Objekt die Datei nicht mehr richtig, wie muss ich denn die XML Datei umstallen, damit er das korrekt läd?


Marius
 
Hi,

html-Tags werden in diesem Falle als Knoten interpretiert, was in Attributen natürlich keinen Sinn macht.

Lösungsmöglichkeit: Codiere die < und > html-typisch als &lt; und &gt;.

Dann kannst Du die Zeichenkette nachher mit folgender Funktion wieder umwandeln:
PHP:
var entities = new Array("&lt;", "&gt;", "&amp;", "&quot;", "&nbsp;", "lt;", "gt;", "amp;", "quot;", "nbsp;");
var codes = new Array("<", ">", "&", '"', " ", "<", ">", "&", '"', " ");

function parseEntities(obj) {
	var str = obj.toString();
	var ostr = "";
	var amp = false;
	for (var i=0; i<str.length; i++) {
		var tstr = str.substr(i, 1);
		var matching = false;
		for (var h=0; h<entities.length; h++) {
			if (str.substr(i, entities[h].length) == entities[h] && !matching) {
				matching = true;
				tstr = codes[h];
				i += entities[h].length - 1;
			}
		}
		ostr += tstr;
	}
	return ostr;
}
(Hierbei solltest Du Anführungszeichen, die im Text stehen sollen, mit \ escapen)

Gruß
 
Wow, vielen Dank, hab ne Weile gebraucht, bis jetzt alles perfekt geklappt hat, muss den Text während der Animation ausfaden, da er ja nicht geglättet wird, sieht dann unschön aus.
Hab den Beitrag jetzt nochmal überarbeitet, ich hab das gnaze jetzt mal komplett auf meinen Webspace hochgeladen, zumindest das, was zurzeit vorhanden ist.
Hier ist der Link:
h**p://mh-solutions.de-.vu/
Intro und alles geht einwandfrei will mri scheinen.
Die Version ohne intro ist hier: h**p://mh-solutions.de-.vu/main.html
Gut, das mit XML klappt auch bestens, vielen Dank für die Hilfe. DIe Bilder hab ich mittels "<img src="blabla.jpg">" eingefügt, das geht auch soweit gut, aber ich denke, ihr seht sofort, dass wenn man z.B. auf About klickt, da hab ich auch ein Bild drin, das leigt über dem Text, bei der Startseite ahb ich das so gelöst, dass ich einfach unter dem Fader das Textfeld hab wackeln lassen, dadurch muss er es aktualisieren und fertisch^^
Aber ich weiß nicht, hat da jemand ne Bessere Idee? Wenn nciht, lass ich alle Texfelder beim laden halt kurz wackeln, was solls^^
Na ja, das eine Problem besteht immer noch. zb gleich auf der Startseite, die Scrollbar wird einfach zu groß, wenn man HTML Formatierten Text einfügt, liegt meienr Meinung nach daran, dass das Dynamsiche Textfeld zu groß ist, vielelcith sit die autoresizefunktion schuld.
Tut mir wirklich leid, dass ich andauernd neue Probleme hab, aber bald hab ichs :)
Ich konnt die fla Dateien leider nciht mit hochladen, oder ich habs mal probiert, wer sie will, kann versuchen, ob ers schafft sie von funpic rutnerzuladen, die machen da als Probleme, hier der Link: h**p://mh-solutions.de-.vu/file.php?file=main.rar


Marius
---
hat Tutorials.de was gegen Seiten?^^
----
Gehts noch?
Wieso killt der Mir immer die Endug der Sseite?
Mannomann, wieso killt Tutorials de die Endung .de-.vu? (Ohne Strich, genauso wie oben)
Für die *chen dürft ich euch was ausdenken...
 
Zuletzt bearbeitet:
Hi,

ja, das habe ich kommen sehen (und vergessen, Dich zu warnen): Wenn Du Bitmaps per img-Tag in Textfelder einbettest, gibt Flash einen falschen (viel zu großen) Wert für die ._height-Eigenschaft zurück. Da Du ja ausschließlich ein Textfeld scrollst, könntest Du alternativ die .textHeight-Eigenschaft des Textfeldes auslesen (das erfordert allerdings eine kleine Änderung am Scroller).

Zum Überlappen: Die Bilder überlappen den Text nicht mehr, wenn Du height- und width-Attribute im img-Tag angibst.

@de vu: Derartige Subdomains werden hier vom "Badword-Filter" gelöscht. Zu dem Thema gab und gibt es etliche Diskussionen, wenn Du suchst, wirst Du feststellen, warum. ;)

Gruß
.
 
Hi,

Boahh, Sitten sind das hier :D
Ich hatte gar nciht das Gefühl, dass die Seite so schrecklich ist^^
Na ja, ich bin reichlich sparsam, deshalb wars mir auch grad zu blöd, da was zu bestellen, auch wenns bei Ebay Angebote mit 5 GB gibt, für jeden Monat 50 cent oder so.
Noch ne Frage, gibts irgendetwas, dass du nciht weißt?^^
Und nochmal vielen Dank, jetzt gehts auch mit den Bildern einbinden perfekt. Gäb garantiert auch ne Möglichkeit, die Bilder ohne den img Tag einzubinden, aber ich find das recht komfortabel die einfach extern nachladen zu können, deshalb mach ich mich jetzt mal an den Scrollbalken und schau, was ich da machen kann.
-----
Gut, Gelöst, die Scrollbar scrollt nun genau richtig, ohne Probleme und bei kleineren Texten wird sie ausgeblendet, jetzt veränder ich noch den Text, dann lad ichs mal hoch.


Marius
---
So, habs hochgeladen, Adresse stimmt noch. Das mit der Scrollbar mach ich gleich noch, man siehts, wenn man bei dem einen Text runterscrollt und dann die Seite wechselt.


Marius
----
? Sagt mal, jetzt bin ich irgendwie ratlos, ich hab die neue XML Datei hochgeladen, aber der hat irgendwoher den Text von der alten, kann mir einer verraten,w ei das geht?^^
Ich kapiers nciht, deshalb sind da auch cnoh die Bildüberlagerungen, die sind in der neuen natürlich nciht mehr.
----
Jetzt kapier ich gar nix merh, ich hab auf dem Server alle xml dateien gelöscht und immer noch ist der Text da....
Jetzt bin ich ratlos^^
Ich hab die de.xml in dea.xml umbenannt und in de swf datei umbenannt, dann gings,.... na was solls, wenns jetzt geht.... Also ich die xml datei auf dem Server gelöscht hb, hats nciht interessiert, erst als ich sie in der swf umbenannt hab und auf dem server so gelassen ahb, gabs nen Error...
----
Ok, perfekt, da du den SCroller so schön übersichtlich programmiert hast, wars kein Problem, jetzt ghet alles, ahbs hochgeladen.
----
Muss wohl nen Fehelr im Quelltext haben, wenn ich de.xml nehm, gehts nie, na ja, was solls, nenn ichs einfach anders^^ N aja, werds nachher ncoh suchen.
----
So, jetzt hat das gnaze noch ne Flashdetection drin, nur die flash.php hat irgendwo nen Error, na ja, wird später mal korregiert, aber soweit scheint nun alles zu funktionieren, jetzt noch irgendwie versuchen den Code zu optimieren, nen Text ausdenken und ein paar Zusatzfunktionen.


Marius
---
Die .fla Dateien liegen unter detection.fla main.fla und intro.fla.
Direkt auf dem Server (http://mh-solutions.de,vu)
Der Code ist nicht so ausgeklügelt und deshalb hat der PC glaub ich auch soviel zu tun, da schau ich jetzt nochmal, was ich da verbessern könnte.


Marius
----
UPDATE:
So, ihr könnt auf der homepage nun Maulwürfe und Schlangen (oder Würmer?^^) bewudnern, die dort rumkriechen und buddeln, zuerst sollte die Schlage ein Wurm werden, aber sieth doch eher schlangenähnlcih aus, vielelciht hab ich ja irgendwann ncoh so viel zeit und gib den SChlangen auch gleich ncoh ne dynamsiche Farbe^^ Aber das wird glabu cih zu umständlich, dazu sinds zu viele ineinander verschachtelte MCs.
Als letztes Getier mag ich noch nen Vogel machen, sonst fleucht hitnerher zu viel rum, dnahc kommt das Script für verschiedene Jahreszeiten und der Sound, das gnaze soll dann oben über das Logo in nem aufklappbaren Menü reguliert werden können.


Marius
(Ihr müsst ein wenig warten, bis die auftauchen, ich hab das extra so eingestellt, dass cnith so viele kommen, sonst wirds zu bunt auf der Seite^^)
----
So, jetzt häng ich weider. Es geht um folgendes, also 1. der Code ist wirklich ziemlcih umständlich zu berechnen, mein PC machts gut mit, aber ich war heute bei nem Freund, da hängt das ziemlich. Den müsst ich irgendwie optimieren, ich lad die fla dann irgendwann ncoh hoch. Das Problem sit aber, wie bau ich am effektivsten eine Steuerun, die zu unbestimmten Zzeiten nen Sound abspult oder was ähnliches, ich hab das immer so gebaut, ich generier ne Zufallszahl zwischen 1 und Beliebig und wenn die Zufallszahl dann == 1 ist, dann tue folgendes, na ja, das macht dem PC natürlich ziemlich zu schaffen, hat da jemand ne bessere Methode? So, dass man auch einstellen kann,w ei häufig?


Marius
---
Mpff, ich bin ja so ein Intelligenzbolzen,.....
denk mir heir die umständlichsten Methoden aus und denk nicht mal dran, irgendne Timerfunktion zu benutzen,....


Marius
 
Zuletzt bearbeitet:
So, wieder ein Problem, sollte nix großes sein, ich find den Fehler aber nicht, hier ist der Code:
Code:
//Variablen setzen
onepiep_v = 10;
threepiep_v =10;
eule_v = 20;
frosch_v = 15;
grille_v = 20;
specht_v = 25;
triller_v = 15;
//Alle Sounds initialisieren
onepiep_s = new Sound();
onepiep_s.attachSound("1x Piep");
threepiep_s = new Sound();
threepiep_s.attachSound("3x Piep");
eule_s = new Sound();
eule_s.attachSound("Eule");
frosch_s = new Sound();
frosch_s.attachSound("Frosch");
grille_s = new Sound();
grille_s.attachSound("Grille");
specht_s = new Sound();
specht_s.attachSound("Specht");
triller_s = new Sound();
triller_s.attachSound("Triller");
//Volumen
onepiep_s.setVolume(0);
threepiep_s.setVolume(0);
eule_s.setVolume(50);
frosch_s.setVolume(40);
grille_s.setVolume(15);
specht_s.setVolume(45);
triller_s.setVolume(45);
//Alle starten
onepiepID = setInterval (onepiep, Math.floor(Math.random()*onepiep_v)*1000);
threepiepID = setInterval (threepiep, Math.floor(Math.random()*threepiep_v)*1000);
euleID = setInterval (eule, Math.floor(Math.random()*eule_v)*1000);
froschID = setInterval (frosch, Math.floor(Math.random()*frosch_v)*1000);
grilleID = setInterval (grille, Math.floor(Math.random()*grille_v)*1000);
spechtID = setInterval (specht, Math.floor(Math.random()*specht_v)*1000);
trillerID = setInterval (triller, Math.floor(Math.random()*triller_v)*1000);
//Funktionen
function onepiep(){
	onepiep_s.start();
	clearInterval(onepiepID);
	onepiepID = setInterval (onepiep, Math.floor(Math.random()*onepiep_v)*1000);
}
function threepiep(){
	threepiep_s.start();
	clearInterval(threepiepID);
	threepiepID = setInterval (threepiep, Math.floor(Math.random()*threepiep_v)*1000);
}
function eule(){
	eule_s.start();
	clearInterval(euleID);
	euleID = setInterval (eule, Math.floor(Math.random()*eule_v)*1000);
}
function frosch(){
	frosch_s.start();
	clearInterval(froschID);
	froschID = setInterval (frosch, Math.floor(Math.random()*frosch_v)*1000);
}
function grille(){
	grille_s.start();
	clearInterval(grilleID);
	grilleID = setInterval (grille, Math.floor(Math.random()*grille_v)*1000);
}
function specht(){
	specht_s.start();
	clearInterval(spechtID);
	spechtID = setInterval (specht, Math.floor(Math.random()*specht_v)*1000);
}
function triller(){
	triller_s.start();
	clearInterval(trillerID);
	trillerID = setInterval (triller, Math.floor(Math.random()*triller_v)*1000);
}
Die Funktion ruft durch Zufall bestimmte Sounds zu einer bestimmten Zeit auf, die sie dann abspielt. Das funktioniert auch bestens, man bekommt so ein schönes Waldfeeling hin :) ein paar mehr Töne noch und es passt, das praktische ist, dass alle Sounds zusammen auf die 25 K kommen, das ist akzeptabel. Und man hat nen dauernden Soundloop, der sogar vareiert. Allerdings hab ich mit setVolume ein Problem, weil es macht absolut null, wie man sieht hab ich 2 Sounds auf 0 gestellt, die kommen aber totzdem.


Marius
 
Ganz einfach: Du musst jedem Soundobjekt eine MovieClipinstanz zuweisen, damit Du Einfluss auf die Lautstärke hast, z.B.:
PHP:
var sound1 = new Sound(this);

Gruß

P.S.: Habe beschämt zur Kentniss genommen, dass ich auf Deiner Seite Erwähnung finde - danke. :-(
.
 
Wow, vielen Dank mal wieder. Ging einwandfrei, die Lautstäerken passen noch net ganz zusammen, aber da arbeit ich noch dran. Außerdem wollt ich das gnaze ein wenig noch anpassen, muss nur noch ne Statistik über die Tierverteilung in den Wäldern lesen^^
Der Hintergrund wurde auch geändert, einem Freund zuliebe, dem die Rose cniht gefallen hat.


Marius
 
Noch ein Hinweis: Du kannst Lautstärke und Panorama der Sounds nur getrennt regeln, wenn jedes Soundobjekt einem anderen MovieClip zugeordnet ist.

Ich erstelle mir meistens eine Reihe leerer MCs (per createEmptyMovieClip) für alle benötigten Sounds.

Hier findest Du z.B. einen Prototyp, der das Soundhandling u.U. etwas vereinfacht.

Gruß
.
 
Hi,

danke nochmal, habs mir bisher nur flüchtig angeschaut, da ich mich mit dem Kontaktformular und dem Menü befasst hab. Ich schau mris dann ncohmal an. Danke.
Noch ne Frage rein aus Interesse, oder besser gesagt 2. Ich hab das ganze Kontaktformular in nen MC gemacht der hat 2 Bilder, 1 Leeres und eins in dem das Formular inclusive allen Codes drin ist. Wenn ich jetzt das Menü anwähl. (Oben im Eck der Menüknopf, ist aber noch in Arbeit) Dann ist hintendran immer ncoh der Kontakt und man kann weitertippen und der Textcursor erscheint. Ich hab das eifnach so gemacht, dass ich zu Bild 1 des MCs zurückspring und dann beim schließen des Menüs wieder zurückspring. Das geht jetzt auch bestens, aber mcih hätte interessiert, wie ichs anders häte mahen können.
Dann noch wegen den Schlangen, da bekommt einfach jede neue die nächsthöhere Tiefe zugewiesen, das führt teilweise zu unhübschen überlagerungen, genauso mit den Maulwürfen. Ich kann zwar jetzt indem ich _yscale und _x ausles die höhe über dem Boden bestimmen, aber um dann die Tiefe richtig umzurechnen müsste ich ne Funktion haben, die mir die nächstgrößte freie Tiefe zu einer bestimmten Teife sagt, sprich getNextHighestDepth(415); aber das geht ja so nicht. Ist nicht sonderlich wichtig, hätt mich nur mal interessiert.



Marius
 

Neue Beiträge

Zurück