| |||||||
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: 7
| Flash Karussel Bilder zittern
Hallo, ich habe ein Problem mit dem Flashkarussel von GoToAndLern. Die Bilder zittern, wenn sie sich bewegen und ich habe keine Ahnung woran es liegen kann. Ich habe es schon mit Math.round an diversen Stellen probiert. forceSmoothing = true geht auch nicht. Hier könnt Ihr meinen Versuch sehen: carousel2 Und hier habe ich einen Download mit allen Dateien: http://www.jonasmueller.com/karussel/karussel.zip Hier der Code: Code: import mx.utils.Delegate;
var numOfItems:Number;
var radiusX:Number = 230;
var radiusY:Number = 85;
var centerX:Number = 290;
var centerY:Number = 200;
var speed:Number = 0.01;
var perspective:Number = 50;
var home:MovieClip = this;
var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length-1;
trace(numOfItems);
for(var i=0;i<numOfItems;i++)
{
var t = home.attachMovie("item","item"+i,i+1);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.toolText = nodes[i].attributes.tooltip;
t.websiteLink = nodes[i].attributes.link;
t.linkTarget = nodes[i].attributes.target;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.r.inner.loadMovie(nodes[i].attributes.image);
t.r.inner.forceSmoothing = true;
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
_root.backgroundimage = nodes[numOfItems].attributes.backgroundimage;
mc_hintergrund.loadMovie(_root.backgroundimage);
}
function over()
{
home.tooltip.tipText.text = this._parent.toolText;
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
home.tooltip._alpha = 100;
this._parent.mc_rollover.gotoAndStop(2);
}
function out()
{
delete home.tooltip.onEnterFrame;
home.tooltip._alpha = 0;
this._parent.mc_rollover.gotoAndStop(1);
}
function released()
{
trace(this._parent.linkTarget);
}
function moveTip()
{
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
}
xml.load("icons.xml");
function mover()
{
this._x = Math.round(Math.cos(this.angle) * radiusX + centerX);
this._y = Math.round(Math.sin(this.angle) * radiusY + centerY);
var s = (this._y - perspective) /(centerY+radiusY-perspective);
this._xscale = Math.round(this._yscale = s*100);
this._yscale = Math.round(this._yscale);
this._alpha = this._xscale;
this.angle += this._parent.speed;
this.forceSmoothing = true;
this.swapDepths(Math.round(this._xscale) + 100);
}
this.onMouseMove = function()
{
speed = (Math.ceil(this._xmouse-centerX)/10500);
trace(speed);
} Grüße |
| | |
| | #2 (permalink) | |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
| Zitat:
Nein nein, mal im Ernst: In deinem Code sagst du beim Positionieren der Images: Math.Round(..) Damit setzt du die Bilder nur auf ganze Pixel. Wenn du eine wirklich flüssige Animation möchtest, musst du darauf verzichten, und auch auf Teilpixel setzen. Nimm mal das Math.Round() raus und versuch es noch einmal - kann sein das es damit schon besser aussieht. Liebe Grüße!
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! | |
| | |
| | #6 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
|
ah okay.. ich werfe mal vorsichtig in den Raum, dass man das zumindest in AS3 mit der smoothing Eigenschaft lösen könnte. Weiß nicht in wie weit das in AS2 möglich ist - möchte mich da nicht zu weit aus dem Fenster lehnen. Aber vielleicht ist das ein Ansatz der in die richtige Richtung für dich geht. Viel Glück und liebe Grüße!
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! |
| | |
| | #8 (permalink) | |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
| Zitat:
In diesem Fall wird aber auf EnterFrame gehört, damit sind die einzigen Zeitpunkte, zu denen Events generiert werden, eben die einzelnen Frames - ein updateAfterEvent dürfte dann keine Änderung bringen. Liebe Grüße
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! | |
| | |
| | #9 (permalink) |
| flash freelancer Registriert seit: Oct 2001 Ort: metropolis
Beiträge: 710
|
doch, probier es mal aus ![]() updateafterevent() funktioniert auch bei enterframe und verhindert genau dieses flackern ... Description Action; updates the display (independent of the frames per second set for the movie) when you call it within an onClipEvent handler or as part of a function or method that you pass to setInterval . Flash ignores calls to updateAfterEvent that are not within an onClipEvent handler or part of a function or method passed to setInterval . |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Aug 2006
Beiträge: 7
|
Wenn ich es richtig verstanden habe, lässt sich smoothing nur in Verbindung mit BitmapData verwenden. Das muss ich mir erst einmal anschauen. Aber anscheinend ist das der richtige Weg. Euch vielen Dank für die Hilfe. |
| | |
| | #13 (permalink) |
| Flasher Registriert seit: Aug 2010 Ort: Stuttgart
Beiträge: 360
| Ja. smoothing ist eine öffentliche eigenschaft von Bitmap - das sollte für deinen Fall also kein Problem darstellen ![]() Um das nochmal klarzustellen: updateAfterEvent funktioniert meines Erachtens nach nicht onEnterFrame. (Ich lasse mich aber auch gern belehren). Es wäre für dein Flackern aber eh nicht die Lösung gewesen, selbst wenn es onEnterFrame ginge - schließlich war ja nicht deine Animation ruckelig, sondern die Pixel deiner Grafiken. Das rührt daher, dass Flash intern versucht, jedes Bildpixel genau auf ein Monitorpixel abzubilden. Dabei kann durch skalieren und verschieben schonmal ein Flimmern entstehen. mit smoothing=true erlaubst du Flash, die Pixel des Bildes in die Monitorpixel hinein zu interpolieren. Im schlimmsten Fall wird das ganze ein wenig verschwommener - was hier aber sicher besser ist als das Flackern ![]() Liebe Grüße und einen schönen Abend!
__________________ Erwähne NIEWIEDER das Wort "Klickdummy"! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flash Effekt - zittern | chrissy810 | Flash Einsteiger | 12 | 17-05-2010 14:38 |
| [Flash CS4] Karussel und Bilder wackeln! | Ich1988 | Flash Einsteiger | 2 | 09-02-2010 08:59 |
| [Flash CS4] Flash Karussel | DanielHunk | Flash Einsteiger | 6 | 09-04-2009 15:22 |
| flashstar bilder karussel ändern... | Fish | Flash 4 und Flash 5 | 3 | 22-08-2002 19:12 |
| Importierte Bilder zittern | konphucius | Flash MX | 4 | 04-05-2002 09:49 |