| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 491
|
Ich möchte in einer externen, nicht mehr editierbaren, kompilierten SWF-Datei ein Objekt des Typs StaticText als DynamicText darstellen lassen. Grund dafür ist, dass ich den StaticText für den Benutzer selektierbar machen möchte - was allerdings nur bei DynamicText möglich ist (ist doch so?). Normalerweise würde man das Textfeld im Designmodus einfach anwählen und dann statt "Statisch" "Dynamisch" auswählen. - Das geht hier so einfach leider nicht - denn ich muss das ganze direkt über ActionScript durchführen (warum: s.o.). Der StaticText beinhaltet außerdem farbliche und schriftgewichtige (fett, kursiv, unterstrichen) Formatierungen - und zwar passagenweise. Diese Formatierungen würde ich gerne verlustfrei beibehalten. Vielleicht kann mir ja jemand hierzu einen Tip geben. Vielen Dank für eure Antworten im Voraus! Mit freundlichen Grüßen Firemice |
| | |
| | #3 (permalink) |
| Gast
Beiträge: n/a
|
Über AS kannst du nur auf Textfeldinstanznamen zugreifen. Statische Texte haben aber leider keine Instanznamen, höchstens programminterne Bezeichner... Du müsstest dir also einen Decompiler besorgen, die swf als fla neuaufbereiten und die Textfelder manuell auf dynamisch setzen. Aber bitte das Urheberrecht berücksichtigen...
|
|
| | #4 (permalink) | |
| Neuer User Registriert seit: Aug 2006
Beiträge: 491
| Zitat:
Der unteren Funktion übergebe ich das DisplayObjekt einer externen SWF. - Dann werden alle dort enhaltenen statischen Textfelder iteriert: Code: function iterateObject(obj:DisplayObject) {
var container:DisplayObjectContainer=obj as DisplayObjectContainer;
if(getQualifiedClassName(obj) == "flash.text::StaticText")
{
var actualTextField:StaticText = obj as StaticText;
if(actualTextField){
}
}
if (container) {
trace("iterating...");
for (var i:uint; i<container.numChildren; ++i) {
var child:DisplayObject=container.getChildAt(i);
trace("recursive...");
iterateObject(child);
}
}
} Als nächstes müsste ich diese irgendwie umwandeln. Als Alternative zum Umwandeln (wenn das nicht gehen sollte) stelle ich mir auch ein Neuerstellen eines dynamischen Textfeldes vor, wo dann die Parameter aus dem statischen Textfeld übernommen werden. - Nur wie mache ich das z.B. mit den Formatierungen? Vielen Dank für eure Antworten! Mit freundlichen Grüßen Firemice Geändert von Firemice (26-09-2009 um 13:48 Uhr) | |
| | |
| | #5 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.499
|
Schau dir mal die TextSnapshot klasse an. ein bisserl code zum schnellen antesten. einfach in eine neue fla kopieren und darin etwas statischen text anlegen. zum markieren werden aber immer metrische daten der schrift benötigt und die hast du nur, wenn die schriftart irgendwo in deiner datei eingebettet wurde. PHP-Code: sx |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 491
|
Vielen Dank für Deine Antwort. Ich habe dieses Quellcode-Stück übernommen. - Immer, wenn ich mit der Maus den Text zu markieren versuche, erhalte ich als Trace in der Ausgabe lediglich ein "-1". - Was bedeutet das jetzt konkret? Vielen Dank für die Antworten im Voraus! Mit freundlichen Grüßen Firemice |
| | |
| | #7 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.499
|
das was getraced wird ist der index des zeichens in der nähe des cursors. einmal beim drücken, einmal beim loslassen der maustaste. -1 wäre also irgendwo neben dem text, oder bedeutet, dass der text nicht direkt in diesem displayobjectcontainer (hier this, also der bühne) liegt. aber du hast ja schon ein script um tieferliegende texte zu finden. //EDIT: du bekommst auch immer -1, wenn die schriftart nicht eingebettet ist. Geändert von shin10 (26-09-2009 um 15:04 Uhr) |
| | |
| | #8 (permalink) | |
| Neuer User Registriert seit: Aug 2006
Beiträge: 491
| Zitat:
Vielen Dank für Deine Antwort! Mit freundlichen Grüßen Firemice | |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| actionscript, dynamictext, statictext, textfeld |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| dynamicText+Bild | lueti25 | Flash MX 2004 | 6 | 21-11-2005 16:09 |
| X bzw. Y Position vom Kreis in DynamicText ausgeben | ToNEK2K | ActionScript 1 | 9 | 28-03-2003 12:06 |