Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-08-2004, 18:59   #1 (permalink)
Flash Junge
 
Benutzerbild von Jocki
 
Registriert seit: Jun 2003
Ort: Hamburg - Altona
Beiträge: 87
Unhappy über setNewTextFormat verschiedene Schriften in dynamischen Textfeld verwenden

Hi,
ich möchte in dynamischen Textfeldern Textauszeichnungen für einzelne Textbereiche darstellen. Dazu wollte ich setNewTextFormat verwenden: ein neues Format zuweisen einen Textblock in dem neuen Format einfügen.

Code:
var myFormat1 = new TextFormat();
myFormat1.font = "fontName1";
var myFormat2 = new TextFormat();
myFormat2.font = "fontName2";

myTextField.setNewTextFormat(myFormat1);
Selection.setFocus(myTextField);
Selection.setSelection(0, 0);
myTextField.replaceSel("erster Textteil");

//klappt

myTextField.setNewTextFormat(myFormat2);
Selection.setFocus(myTextField);
Selection.setSelection(myTextField.text.length, myTextField.text.length);
myTextField.replaceSel("zweiter Textteil");

//sieht leider genau so aus
leider funktioniert die Methode setNewTextFormat aber nur wenn das Textfeld noch keinen Text enthält, danach ändert sie zwar noch das Format, was man über getNewTextFormat abfragen kann, aber eigefügte Texte werden so formatiert wie die erste Einfügung.

Hoffe das war nicht zu konfus dargestellt. Hat jemand dafür eine Erklärung oder Alternative? (möchte nicht mit html formatierten Textfeldern arbeiten)

Bin für jden Tip dankbar.
__________________
http://www.emjot.de
Jocki ist offline   Mit Zitat antworten
Alt 02-08-2004, 20:17   #2 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
hi

du hast die wahl zwischen setNewTextFormat und setTextFormat

verwende letzteres jeweils nach der textzuweisung,
wenn sich dann auch das textformat ändern soll.
kannst ja mal in der flash-hilfe stöbern, da steht
auch einiges dazu.
grz
warrantmaster ist offline   Mit Zitat antworten
Alt 03-08-2004, 11:40   #3 (permalink)
Flash Junge
 
Benutzerbild von Jocki
 
Registriert seit: Jun 2003
Ort: Hamburg - Altona
Beiträge: 87
Die Methode setTextFormat ist mir natürlich bekannt, sie weist dem gesamten Textfeldes eine neues Textformat zu.
Ich möchte aber einzelnen Textabschnitten innerhalb des Textfeldes verschiedene Formate zuweisen.
Meine Frage lautet, ob das ohne html tags möglich ist.
__________________
http://www.emjot.de

Geändert von Jocki (03-08-2004 um 11:42 Uhr)
Jocki ist offline   Mit Zitat antworten
Alt 03-08-2004, 11:48   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 70
Zitat:
Zitat von Jocki
Die Methode setTextFormat ist mir natürlich bekannt, sie weist dem gesamten Textfeldes eine neues Textformat zu.
Ich möchte aber einzelnen Textabschnitten innerhalb des Textfeldes verschiedene Formate zuweisen.
Meine Frage lautet, ob das ohne html tags möglich ist.
Falsch! Damit kannst du Bereiche angeben in dennen das Format geändert werden soll!

ActionScript:
  1. Textfield.setTextFormat(Begin,End, Format);

Deine Aussage trifft eher auf SetNewTextFormat zu, denn damit werden an die letzte Position des Textfields ein neues Format zugewiesen.
Benjy ist offline   Mit Zitat antworten
Alt 03-08-2004, 11:59   #5 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
nein...das kannst du leider nicht...entweder, wie du schon sagtest, mit html-tags, in mx2004 auch mit css, oder aber immer wieder ein neues textfeld...


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 03-08-2004, 12:17   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2004
Beiträge: 70
Zitat:
Zitat von kelor
nein...das kannst du leider nicht...entweder, wie du schon sagtest, mit html-tags, in mx2004 auch mit css, oder aber immer wieder ein neues textfeld...


greetz

kelor
?????

Siehe meine Antwort eins weiter oben....funktioniert auf ein ganz stinknormales mit createTextfield generiertes Textfeld....selbst bei html = false!
Benjy ist offline   Mit Zitat antworten
Alt 03-08-2004, 12:32   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
Zitat:

Falsch! Damit kannst du Bereiche angeben in dennen das Format geändert werden soll!
Benjy
stimmt...da hast du recht...*absolut recht*

mein fehler...natürlich geht sowas...

ActionScript:
  1. //standardfarbe des textfelde ist zunächst schwarz...also 0x000000
  2. tft = new TextFormat();
  3. tft.color = 0xA3A3A3;
  4.  
  5. myT.embedFonts = true;
  6. myT.text = 'hallo ich bin text';
  7.  
  8.              
  9. myButton.onPress = function(){
  10.    myT.text+= '\naber jetzt in einer anderen farbe...';
  11.    var is = myT.text.indexOf('aber');
  12.    var leer = myT.text.indexOf('...',is+1);
  13.    myT.setTextFormat(is, leer, tft);
  14. }

ändert die farbe des textes ab dem wort :'wann' bis zum ende '...'


greetz

kelor
kelor ist offline   Mit Zitat antworten
Alt 03-08-2004, 12:37   #8 (permalink)
Flash Junge
 
Benutzerbild von Jocki
 
Registriert seit: Jun 2003
Ort: Hamburg - Altona
Beiträge: 87
Smile



Hervorragend, hatte das nicht gewußt, daß man bei setTextFormat auch die Indizes übergeben kann. Ihr habt mir sehr geholfen, Danke.
__________________
http://www.emjot.de
Jocki ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 07:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele