Flashhilfe.de - Flash Community

Prototype: changeParam [Flash 8]

 


AntwortenRegistrieren Seite1  

petalustik#1
Benutzerbild von petalustik
Beiträge: 510
Wohnort: Bonn
Registriert: Apr 2002

23.05.2005, 20:26

smoothe Parameterveränderung

Prototype:
ActionScript:
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
44
45
46
47
48
49
50
MovieClip.prototype.changeParam = function(fps, step, param, aim, tol, mround) {
   /* create unique object: */
   this["changer_"+param] = new Object();
   this["changer_"+param].mc = this;
   this["changer_"+param].step = step;
   this["changer_"+param].param = param;
   this["changer_"+param].aim = aim;
   this["changer_"+param].tol = tol;
   this["changer_"+param].vpos = this[param];
   this["changer_"+param].mround = mround;
   /* interval function */
   this["changer_"+param].interval = function() {
      this.vpos += (this.aim-this.vpos)*this.step;
      if (this.mround) {
         this.mc[this.param] = Math.round(this.vpos);
      } else {
         this.mc[this.param] = this.vpos;
      }
      if (Math.abs(this.mc[this.param]-this.aim)<=this.tol) {
         /* nach erreichen des Ziels mit gewisser tolleranz,
                  korrekte eingabe des parameters, clearInterval,
                  und löschen des objects */

         this.mc[this.param] = this.aim;
         clearInterval(this.int);
         delete this.mc["changer_"+this.param];
      }
   };
   this["changer_"+param].int = setInterval(this["changer_"+param], "interval", (1000/fps));
};
/* Parameter:
fps: [integer]
Empfohlen ist die Framerate des Movies,
kann aber jeden beliebigen Wert von [0-inf] annehmen.
step: [0-1]
Schrittlänge, beschreibt die Geschwindigkeit mit der
ein Parameter des Movies verändert werden soll.
param: [string]
Parameter als String ["_scale", "_alpha"], oder auch
ein Selbsterstellter Parameter im mc...
aim: [float]
Finaler Wert der angenommen werden soll.
tol: [float]
Tolleranz, bei der der Änderungsvorgang abgebrochen werden soll.
Tatsächlich nimmt die Funktion nie den Wert aim an. Dieser wird
nur zugeordnet, sobald der parameter im tolleranzberreich des
Ziels ist
mround: [bool (true/false)]
gibt an ob der Parameter gerundet angenommen werden soll.
Praktisch um nerviges AA beim verschieben von Objekten zu verhindern.
BSP: param ._x; */
<


Beispiel Aufruf:
ActionScript:
1
2
3
4
5
6
/* BSP: Der MC mymc soll fließend auf 0 scaliert ["_xscale"] werden.
Die tolleranz ist 0.1, runden ist unnötig */

this.mymc.changeParam(24, 0.03, "_xscale", 0, 0.1, false);
/* Gleichzeitig soll dieser Verschoben werden, um AA zu vermeiden
sollen die Werte gerundet angenommen werden */

this.mymc.changeParam(24, 0.001, "_y", 22, 1, true);

Gruß
PetaLustiK

Chemiker, 19
Schlagwörter: Movieclip, prototype
Werbung
Beiträge: 0
Registriert: Feb 2016



AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de