ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
2000
2000
EMPFEHLEN
-
ACHTUNG: Dieser Code ist in AS 2.0 geschrieben und funktioniert nur für Version MX 2004 bzw. Player 7 und höher!
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Object.prototype.obj_setTo = function (s:Number, d:Number, ms: Number):Void { // if (this.obj_setToId) { clearInterval(this.obj_setToId); } var e = 3; var pNr = Math.floor((arguments.length-2)/2); var pAll = []; // for (var i = 0; i < pNr; i++) { pAll[i] = {p: arguments[e], t: arguments[e+1]} e += 2; } // var i = d; this.executeObj_setTo = function () { if (i>0) { i--; } else { for (var u = 0; u < pAll.length; u++) { var p = pAll[u].p; var t = pAll[u].t; var dif = t-this[p]; dif *= s; this[p] += dif; if (this[p] == this[p +"CTRL"]) { pAll.splice(u, 1); } else { this[p +"CTRL"] = this[p]; } } if (pAll.length < 1) { clearInterval(this.obj_setToId); } } }; this.obj_setToId = setInterval(this, "executeObj_setTo", ms); }
HINWEIS:
Da alle Klassen in ActionScript von der Object-Klasse erben, kann dieser Prototype auch für alle Klassen verwendet werden. Ausserdem ist zu beachten, dass bei einem LoadVars.send oder sendAndLoad diese Funktion auch als Member des LoadVars-Objekts gilt und folglich mitgeschickt wird.
Beschreibung:
Ändert eine numerische Eigenschaft eines Objects (z.B. Koordinaten, Schriftgrösse etc.) vom aktuellen Wert schrittweise auf den gewünschten Wert. Dabei sind die Wertunterschiede
von Schritt zu Schritt abnehmend.
Geschwindigkeit: Number, wobei 0 < Geschwindigkeit < 1. Beschreibt Geschwindigkeit der Animation.Code :1
meinObject.obj_setTo (Geschwindigkeit, Verzögerung, Intervall [Eigenschaft_1, Zielwert_1], ...[Eigenschaft_n, Zielwert_n])
Verzögerung: Number, Anzahl Intervalle, die abgewartet werden, bevor die Animation beginnt.
Intervall: Number, Zeitabstand in Millisekunden zwischen den einzelnen Funktionsabläufen. Hat Einfluss auf die Geschwindigkeit.
Eigenschaft: String, Eigenschaft des Objects, die verändert werden soll. Nach jedem Eigenschaft-Parameter MUSS ein Zielwert angegeben werden, ansonsten schlägt die Funktion fehl.
Zielwert: Number, Wert auf den die vorhergehende Eigenschaft gesetzt werden soll.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Object.prototype.obj_elasticTo = function(s:Number, e: Number, d:Number, ms: Number):Void { // if (this.obj_elasticToId) { clearInterval(this.obj_elasticToId); } var k = 4; var pNr = Math.floor((arguments.length-3)/2); var pAll = []; // for (var i = 0; i < pNr; i++) { pAll[i] = {p: arguments[k], t: arguments[k+1], step: 0} k += 2; } // var i = d; this.executeObj_elasticTo = function() { if (i>0) { i--; } else { for (var u = 0; u < pAll.length; u++) { var p = pAll[u].p; var t = pAll[u].t; var dif = t-this[p]; pAll[u].step += dif*s; pAll[u].step *= e; this[p] += pAll[u].step; if (this[p] == this[p +"CTRL"]) { pAll.splice(u, 1); } else { this[p +"CTRL"] = this[p]; } } if (pAll.length < 1) { clearInterval(this.obj_elasticToId); } } }; this.obj_elasticToId = setInterval(this, "executeObj_elasticTo", ms); };
HINWEIS:
Da alle Klassen in ActionScript von der Object-Klasse erben, kann dieser Prototype auch für alle Klassen verwendet werden. Ausserdem ist zu beachten, dass bei einem LoadVars.send oder sendAndLoad diese Funktion auch als Member des LoadVars-Objekts gilt und folglich mitgeschickt wird.
Beschreibung:
Ändert eine numerische Eigenschaft eines Objects (z.B. Koordinaten) vom aktuellen Wert schrittweise auf den gewünschten Wert. Die Wertunterschiede sind zuerst zunehmend, bis der Zielwert
überschritten ist. Danach nähert sich der aktuelle Wert dem Zielwert immer an, um ihn zu überschreiten, bis sich die Differenz vernachlässigbar ist. Dies gibt einen elastischen Effekt.
Code :1
meinObject.obj_elasticTo (Geschwindigkeit, Elastizität, Verzögerung, Intervall, [Eigenschaft_1, Zielwert_1], ...[Eigenschaft_n, Zielwert_n])
Geschwindigkeit: Number, wobei 0 < Geschwindigkeit < 1. Beschreibt Geschwindigkeit der Animation.
Elastizität: Number, wobei 0 < Elastizität < 1. Beschreibt das Ausmass der elastischen Schwingung.
Verzögerung: Number, Anzahl Frames, die abspielen, bevor die Animation beginnt.
Intervall: Number, Zeitabstand in Millisekunden zwischen den einzelnen Funktionsabläufen. Hat Einfluss auf die Geschwindigkeit.
Eigenschaft: String, Eigenschaft des Objects, die verändert werden soll. Nach jedem Eigenschaft-Parameter MUSS ein Zielwert angegeben werden, ansonsten schlägt die Funktion fehl.
Zielwert: Number, Wert auf den die vorhergehende Eigenschaft gesetzt werden soll.Geändert von luke_the_duke (14.10.06 um 16:08 Uhr)
Ähnliche Themen
-
Prototypes, Rico,..
Von notebook20000 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 14.04.07, 10:23 -
Prototypes zum Erweitern der String-Klasse [ab Flash 7]
Von Tobias Menzel im Forum Flash FAQAntworten: 0Letzter Beitrag: 18.12.06, 11:22 -
[MOVIECLIP] Linien zeichnen mit Prototypes
Von luke_the_duke im Forum Flash FAQAntworten: 0Letzter Beitrag: 29.09.06, 16:11 -
Prototypes für normale und elastische Eigenschaftsänderungen
Von luke_the_duke im Forum Flash FAQAntworten: 0Letzter Beitrag: 23.02.06, 15:59 -
Elastische Oberfläche
Von 3Dnavigator im Forum PhotoshopAntworten: 14Letzter Beitrag: 01.05.05, 20:48





Zitieren
Login





