Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-11-2007, 00:08   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 75
Question Text wackelt bei zoom über slider

Hallo,

brauche ganz dringend eure Hilfe. ich habe einen map_mc, in welchem ein text_mc liegt. wenn ich nun die map über den slider zoome, wackeln die einzelnen statischen textfelder im text_mc. wenn ich die einzelnen texte (in verdana) in formen teile, dann sind sie bei der kleinen schriftgröße (5px) unscharf (text muss aber so klein sein, da mobile applikation). Was kann ich sonst noch tun, damit die textfelder nicht mehr wackeln????????????????????
voulontine ist offline   Mit Zitat antworten
Alt 20-11-2007, 00:45   #2 (permalink)
_gir
 
Benutzerbild von supasuka
 
Registriert seit: Jul 2006
Ort: Karlsruhe
Beiträge: 957
Das liegt wahrscheinlich daran das du bei dem Textfeld "Anti-Aliasing für Lesbarkeit" einestellt hast. Das führt dazu dass das Textfedl immer auf geraden Koordinatne steht. Ergo > es ist keine wirklich weiche Animation möglich.

Lösung:
Entweder du stellst das Feld auf "Anti-Aliasing für Animation", dann ruckelt nix mehr, allerdings blurt der Text dann je nach verwendeter Schriftart etwas.
Oder du slidest den kompletten MC auch immer auf geraden Koordinaten - Stichwort: Math.round(x/y). Dann ist die gesamt Animation zwar nicht mehr so weich, aber das Ruckeln wirkt insgesamt nicht so arg.
__________________
Gruß, Simon

swblog* | Invader Zim

Geändert von supasuka (20-11-2007 um 00:57 Uhr)
supasuka ist offline   Mit Zitat antworten
Alt 20-11-2007, 10:16   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 75
Hallo simon,

erst mal thanks für die schnelle antwort! ich hatte benutzerdefiniertes Antialiasing eingestellt, um die ziemlich kleine schrift sehr scharf zu bekommen. wenn ich antialiasing für animationen einstelle, hört das ruckeln des textes zwar auf, allerdings ist die schrift dann leider bei 4-5px größe beim zoom von beispielsweise 50Prozent nicht mehr gestochen scharf.

der text_mc liegt ja im Afrika_Zoom_mc.Dein zweiter vorschlag war mit Math.round zu arbeiten. hab ich getan. bei einem schieberegler von regUnten = -115 wäre dann _xscale/_yscale = 22,5 Prozent bei *-1.5. Sollte da der Multiplikator so sein, dass eine gerade zahl von 23Prozent rauskommt? Hab ich probiert, aber da wackelt es auch.

if (_parent._parent._parent.Map_mc.Afrika_Zoom_mc._xs cale =(Math.round(100 -(regOben_num - this._y)* -1.5))) { ...usw.
if (_parent._parent._parent.Map_mc.Afrika_Zoom_mc._ys cale =(Math.round(100 -(regOben_num - this._y)* -1.5))) { ...usw.

Geändert von voulontine (20-11-2007 um 10:43 Uhr)
voulontine ist offline   Mit Zitat antworten
Alt 20-11-2007, 16:10   #4 (permalink)
_gir
 
Benutzerbild von supasuka
 
Registriert seit: Jul 2006
Ort: Karlsruhe
Beiträge: 957
YUp, I'm sorry, du skalierst ja, was ich geschrieben habe funktioniert meist nur bei x/y Transformationen.

Habs eben bei mir probert und wenn man skaliert gehts nicht, Das einzige was du noch tun könntest is die Aliasing Art während des Zoomens auf "normal" und wenn der Zoom fertig ist auf advanced zu stellen.

Mal ein Script:

Brauchst du einen MovieClip namens "test" und darin ein Textfeld namens "textfield". Die Schrift muss Arial sein und ausserdem musst du die Schrift "Arial" oder eben ne andere auch über die Bibliothek einbetten und exportieren.

Bibliothek>Neue Schriftart

PHP-Code:
var tf_fmt:TextFormat = new TextFormat ();
tf_fmt.font "arial";
//
function render (mc:MovieClipdest:Number) {
// Anti-Aliasing auf normal (animation) stellen.
    
mc.textfield.antiAliasType "normal";
    
mc.textfield.embedFonts true;
    
mc.textfield.setTextFormat (tf_fmt);
    
mc.onEnterFrame = function () {
        
this._xscale -= (this._xscale dest) * .2;
        
this._yscale -= (this._yscale dest) * .2;
        
trace (this._xscale);
        if (
Math.round (this._xscale) == dest) {
            
delete this.onEnterFrame;
            
// zurück auf advanced
            
this.textfield.antiAliasType "advanced";
            
this.textfield.embedFonts true;
            
this.textfield.setTextFormat (tf_fmt);
        }
    };
}
render (test50); 
__________________
Gruß, Simon

swblog* | Invader Zim

Geändert von supasuka (20-11-2007 um 16:11 Uhr)
supasuka ist offline   Mit Zitat antworten
Alt 20-11-2007, 20:17   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 75
Hallo Simon,

leider bin ich nicht so der Profi, was AS betrifft. das ding ist einfach, dass mein Text_mc mit den Textfeldern im Afrika_Zoom_mc (hier liegt auch die Karte drin) liegt. Jegliche Scripte liegen auf dem Slider Regler_mc. Sprich wenn ich den Regler hoch und runterschiebe vergrößerte/verkleinert sich Afrika_Zoom_mc und der darin eingebettete Text_mc. Nun weiß ich nicht, wie ich dein script in den regler integriere.

onClipEvent (load) {
var regOben_num:Number = this._y;
var regUnten_num:Number = this._y - 115;
var regLinks_num:Number = this._x;
var regRechts_num:Number = this._x;
var dragging:Boolean = false;
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.Text _mc._alpha = 0;

}

on (press) {
startDrag(this, false, regLinks_num, regOben_num, regRechts_num, regUnten_num);
dragging = true;
}

on (release, releaseOutside) {
stopDrag();
dragging = false;
}

onClipEvent (enterFrame) {
if (dragging) {

_parent._parent._parent.Map_mc.Afrika_Zoom_mc._xsc ale =(Math.round(100 -(regOben_num - this._y)* -1.5));
_parent._parent._parent.Map_mc.Afrika_Zoom_mc._ysc ale =(Math.round(100 -(regOben_num - this._y)* -1.5));

_parent._parent._parent.Map_mc.Afrika_Zoom_mc.Text _mc._alpha = (Math.round(regOben_num - this._y)* 2.5);

}
}
voulontine ist offline   Mit Zitat antworten
Alt 20-11-2007, 21:42   #6 (permalink)
_gir
 
Benutzerbild von supasuka
 
Registriert seit: Jul 2006
Ort: Karlsruhe
Beiträge: 957
PHP-Code:
var tf_fmt:TextFormat = new TextFormat (); 
tf_fmt.font "arial"

onClipEvent (enterFrame) {
if (
dragging) {
// da wird er animiert
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.antiAliasType "normal"
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.embedFonts true
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.setTextFormat (tf_fmt);

_parent._parent._parent.Map_mc.Afrika_Zoom_mc._xsc ale =(Math.round(100 -(regOben_num this._y)* -1.5));
_parent._parent._parent.Map_mc.Afrika_Zoom_mc._ysc ale =(Math.round(100 -(regOben_num this._y)* -1.5));

_parent._parent._parent.Map_mc.Afrika_Zoom_mc.Text _mc._alpha = (Math.round(regOben_num this._y)* 2.5);


// und hier isser wieder still. =)
else {
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.antiAliasType "advanced"
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.embedFonts true
_parent._parent._parent.Map_mc.Afrika_Zoom_mc.textfield.setTextFormat (tf_fmt);

}

Bei textfield musst du dann den namen des mcs + textfeld namen eintragen.
So müste es gehen. Was die ganze Sache mit dem advanced und normal angeht guck mal in der Hilfe (F1) nach advanced anti-aliasing.

Komplett ruckelfrei wirds aber so auch nicht...
__________________
Gruß, Simon

swblog* | Invader Zim
supasuka ist offline   Mit Zitat antworten
Alt 20-11-2007, 22:47   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 75
Hallo Simon,

schon einmal vielen Dank für Deine Mühen. Ich probiers gleich mal aus! Hast eine echt schicke Website und bist vom selben Fach wie ich (mach grad Diplom als Designer) Da die Zeit drängt, schaffe ich es leider nicht, alle möglichen Tutorials durchzulesen, was ich sonst schon mache. Falls Du noch ne Idee zu dem Thema "Schiebepuzzle mit Drag and Drop" hast, wäre ich Dir für nen Tipp sehr dankbar...
voulontine ist offline   Mit Zitat antworten
Alt 20-11-2007, 23:17   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2007
Beiträge: 75
Question

Also, ich hab es ausprobiert und leider wackelt der Text genauso stark wie vorher

muss man wohl den kompromiss eingehen:

entweder scharfer text, aber wackeln oder
unscharfer text (antialiasing für animation bzw. text teilen) und kein wackeln...

vielleicht findet ja noch jemand die lösung...
voulontine ist offline   Mit Zitat antworten
Alt 21-11-2007, 00:32   #9 (permalink)
_gir
 
Benutzerbild von supasuka
 
Registriert seit: Jul 2006
Ort: Karlsruhe
Beiträge: 957
Hm, versteh ich nicht.
Anbei mal eine Fla mit nem Beispiel. (Flash 8)
Da ruckelt es nur kurz am Ende, wenn er wieder auf "Lesbarkeit" schaltet.

Aber selbst bei tollen Projekten wie flashon habens die Buben nicht geschafft Text in kleinen Größen ruckelfrei zu animieren, bist also nicht der einzige. Ausserdem hängt das auch stark von der Schriftart und Stärke ab.
Dünner Schnitt --> viel Geruckel, dicker (Bold) Schnitt --> schon weniger.

Bei meiner Site arbeite ich zum Besipiel komplett mit "Animierter Schrift", weil die Schrift(DIN Mittelschrift) trotzdem noch gut lesbar ist.

Hast eine echt schicke Website --> Danke für die Blumen.

// Edit: Schiebepuzzle, leider nein, hab ich noch nie gemacht. (sollt ich aber vielleicht mal)
Angehängte Dateien
Dateityp: zip flick.zip (4,7 KB, 17x aufgerufen)
__________________
Gruß, Simon

swblog* | Invader Zim

Geändert von supasuka (21-11-2007 um 00:39 Uhr)
supasuka 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 18:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele