Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-09-2004, 21:23   #1 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
pixelfont zentriert

Hi Flashgemeinde

Ich handtiere im Moment mir 'nem Pixelfont herum, der einen Text, auf einer Thumbnailseite unter ein Bild schreiben soll.

Die Textfelder sind alle gleich breit (300) und stehen auf ganzzahligen Koordinaten.
Wenn ich die Schrift linkbündig ausrichte ist alles scharf. Zentriert werden Teile der Schrift unscharf.
Ich weiß schon woran das liegt... weil die Schrift an sich nicht mehr auf ganzzahligen Koordinaten liegt.

Hat jemand ne idee wie man das umgehen kann?

Gruß

Mirko
oakley ist offline   Mit Zitat antworten
Alt 20-09-2004, 21:35   #2 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
hi mirko.

man könnte das per actionscript lösen.

textfeld._x+=Math.round((300-textfeld._width)/2)

dafür sollte das textfeld dann am rechten rand des 300 pixelbreiten bereichs liegen und genau an den text angepasst sein (also keine überflüssigen leerzeichen am ende oder ein zu breites textfeld). und textfeld wäre der instanzname deines textfeldes.

probier mal ob das hinhaut.
grüße.
smirgel.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 20-09-2004, 22:00   #3 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
math round...

Hi Smirgel,

danke für die Antwort. Ich hab vergessen zu sagen, daß die Textfelder per AS generiert werden.
Das ganze funktioniert so, daß er die pixelbreiten der Bilder nimmt und danach die Textfeldgrösse bestimmt.

Das Problem tritt logischerweise nur auf, wenn ich die Schrift "center" setze bei Linksbündigkeit ist das kein Problem.

Deine Variante hab ich ausprobiert und leider funktioniert es nicht.

Gruß

Mirko
oakley ist offline   Mit Zitat antworten
Alt 20-09-2004, 22:04   #4 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
mit dem befehl textfeld.autosize="left" kannst du die textfeldbreite an dem enthaltenen text ausrichten. danach müsste das im groben mit meinem script gehen. evtl müsste man noch n bissl an der grundposition justieren, aber ansonsten...

Edit: kannst die fla auch hochladen. dann werfe ich mal nen blick drauf
__________________
bei fragen, fragen.

Geändert von Smirgel (20-09-2004 um 22:07 Uhr)
Smirgel ist offline   Mit Zitat antworten
Alt 20-09-2004, 22:12   #5 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
autosize?

HI Smirgel,

autosize geht bei mir nicht.
Das Textfeld wird mit einer gewissen Anfangsgrösse erstellt, dann kommt der Text und dann Autosize, aber die Textfeldgroesse bleibt wie bei Erstellung.

Gruß

Mirko
oakley ist offline   Mit Zitat antworten
Alt 20-09-2004, 22:22   #6 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
probier mal dieses script in einer neuen fla. einml mit autosize, und einmal ohne.

ActionScript:
  1. format = new TextFormat();
  2. format.color = 0x000000;
  3. format.size = 14;
  4. this.createEmptyMovieClip("textmc", 1);
  5. textmc.createTextField("textfeld",1,1,1,200,14)
  6. textmc.textfeld.text = "hier steht was";
  7. textmc.textfeld.setTextFormat(format);
  8. textmc.textfeld.autoSize = "left";
  9. textmc.textfeld.border=true

also eigentlich sollte es auch bei dir funzen.
__________________
bei fragen, fragen.

Geändert von Smirgel (20-09-2004 um 22:23 Uhr)
Smirgel ist offline   Mit Zitat antworten
Alt 20-09-2004, 22:27   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
geht!!

hast recht das geht

Ich probiere mal was..
oakley ist offline   Mit Zitat antworten
Alt 21-09-2004, 00:53   #8 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
hmm..

das funktioniert hinten und Vorne nicht so wie ich will...

ich lasse das mit den embedded fonts erstmal... thx for help anyway

Gruß

Mirko
oakley ist offline   Mit Zitat antworten
Alt 21-09-2004, 01:17   #9 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
wär doch schade jetzt aufzugeben

kannste ne test-fla hochladen?
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 21-09-2004, 01:27   #10 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
ja kann ich machen...

hi.. hier die test.fla..

ich hab da jetzt kein embed drin.

ist sicher etwas chaotisch.. es geht im Grunde darum, daß eine thumbnailpage mit informationen aus der datenbank erstellt wird.

Ich generiere da einen movieclip, dazu einen dummyclip fur die onRelease Funktion. In den Movieclip wird ein bild gelden und das besagte Textfeld via for - Schleife.

Ich hau mich jetzt hin. Danke für Deine Mühe!!!

Gruß

Mirko
Angehängte Dateien
Dateityp: zip artikeluebersicht.zip (5,8 KB, 6x aufgerufen)
oakley ist offline   Mit Zitat antworten
Alt 21-09-2004, 01:38   #11 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
tja, willkommen im flashMX-bereich
scheint ne flash2004er datei zu sein.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 21-09-2004, 01:58   #12 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
komisch...

Ich hab flash 7.0.1. und publishe das teil auf flash 6.

Gruß

Mirko
oakley ist offline   Mit Zitat antworten
Alt 21-09-2004, 11:58   #13 (permalink)
Neuer User
 
Registriert seit: Jan 2004
Beiträge: 59
und nomma...

Hiho,

da bin ich wieder...

Ich hab jetzt mal die Variante mit Autosize probiert.
Dabei Spielt es doch keine Rolle, ob ein Textfeld mit einer bestimmten Breite erstellt wird oder? Es wird doch danach angepasst.

Hier ein Stück Code:

for (var l=0;l<=infoarray.length-1;l++){
if (infoarray[l].length > 0) {
_root.mc_movieloader.mc_textloader.createTextField ("textfeld"+l,201+l,0,l*35,200,30); //<---- l*35 hab ich willkürlich gewählt um überhaupt mal was zu sehen...
_root.mc_movieloader.mc_textloader["textfeld"+l].border = true;
_root.mc_movieloader.mc_textloader["textfeld"+l].multiline = true;
_root.mc_movieloader.mc_textloader["textfeld"+l].wordWrap = true;
_root.mc_movieloader.mc_textloader["textfeld"+l].text = infoarray[l];
_root.mc_movieloader.mc_textloader["textfeld"+l].setTextFormat(infotxformat);
_root.mc_movieloader.mc_textloader["textfeld"+l].autoSize = "left";
}
}

vorher hab ich infotxformat definiert.

Hier funktioniert autoSize komischerweise nicht.

Gruß

Mirko
oakley 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 00:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele