[ascoders] AW: Re: AW: Re: "perfekte" bewegung

  • From: "Jursa, Jan (init)" <Jan.Jursa@xxxxxxx>
  • To: "'ascoders@xxxxxxxxxxxxx'" <ascoders@xxxxxxxxxxxxx>
  • Date: Thu, 17 Jul 2003 17:36:27 +0200

Ist klar.
Das ist wirklich klasse an deinem script.
...
aber so ganz zum laufen habe ich's noch nicht gebracht.

Wenn ich ein test_mc auf der stage liegen habe und es mit der beiliegenden
MoveTo() Methode bewegen will...

test_mc.LoopObj(MoveTo,MoveToParameterArray);

hm....

muss ich noch genauer studieren :-)

grüsse.


 


-----Ursprüngliche Nachricht-----
Von: Volker Kreß [mailto:kress@xxxxxxxxxx] 
Gesendet: Donnerstag, 17. Juli 2003 17:25
An: ascoders@xxxxxxxxxxxxx
Betreff: [ascoders] Re: AW: Re: "perfekte" bewegung

Als loops kannste dann eigene schreiben oder z.b die von robert penner 
etc nehmen

Am Donnerstag, 17.07.03 um 16:34 Uhr schrieb Jursa, Jan (init):

> Wow.
> Vielen Dank.
> Schaue ich mir gleich an.
> Grüsse,
> jan
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: Volker Kreß [mailto:kress@xxxxxxxxxx]
> Gesendet: Donnerstag, 17. Juli 2003 15:49
> An: ascoders@xxxxxxxxxxxxx
> Betreff: [ascoders] Re: "perfekte" bewegung
>
>
>
>   LoopObjs = {};
>
>   AddLoopObj = function  (obj) {
>       _root.LoopObjs[obj] = obj;
>      };
>
> MovieClip.prototype.LoopObj = function  (Func, funcArgm) {
>          if (this.lo_Action != true) {
>                       this.____count = 0;
>              _root.addLoopObj(this);
>             this.FuncArray = new Array ();
>             this.ArgmArray = new Array ();
>             this.ArgmArray[this.____count] = funcArgm;
>             this.FuncArray[this.____count] = this.Func;
>             this.Func = _root[Func];
>
>             this.funcArgm = funcArgm;
>             this.lo_Action = true;
>             this.vorhanden = true
>          } else {
>                       this.____count++
>              this.funcArray[this.____count] = _root[Func];
>              this.ArgmArray[this.____count] = funcArgm;
>                }
>      };
>
> MovieClip.prototype.killLoop = function  () {
>
>
>          if (this.____count == 0) {                   
>              delete _root.LoopObjs[this];
>              delete this.funcArgm;
>              delete this.Func;
>              //this.FuncArray = null
>              delete this.FuncArray;
>              // this.ArgmArray = null
>              delete this.ArgmArray;
>              delete this.____count;
>              this.lo_Action = false;
>
>
>          } else {
>                       this.ArgmArray.shift();
>              this.FuncArray.shift();
>              this.Func = this.funcArray[0];
>              this.funcArgm = this.ArgmArray[0];
>
>                       this.____count--
>           }
>      }
> MovieClip.prototype.killAllLoops = function(){
>       this.killLoop(this)
>       this.____count = 0
> }
> MovieClip.prototype.ArgmSplit = function  (Argm) {
>         var Argm = Argm.split(",");
>
>          return (Argm);
>      }
>
>
> FrameLoopObj = function  () {
>
>          for  (My_obj in LoopObjs) {
>                       LoopObjs[My_obj].Func(LoopObjs[My_obj].funcArgm);
>                       if (! LoopObjs[My_obj].vorhanden) delete
> loopObjs[my_obj]
>
>          }
>      }
>
>
>
>
> MoveTo = function  (funcArgm) {
>               
>               // _x,_y,speed
>               
>          var x = funcArgm[0];
>          var y = funcArgm[1];
>          var delta = funcArgm[2];
>          var distX = x - this._x;
>          var distY = y - this._y;
>
>          var dist = Math.sqrt((distX * distX) + (distY * distY));
>          if (delta < dist) {
>              var dx = (distX / dist) * delta;
>              var dy = (distY / dist) * delta;
>          } else {
>              var dx = distX;
>              var dy = distY;
>              this.killLoop(this)
>
>           }
>          this._x  = (this._x + dx);
>          this._y  = (this._y + dy);
>
> }
>
>
> this.createEmptyMovieClip("looper",-1000);
> looper.onEnterFrame = this.FrameLoopObj();
>
>
> // is zwar schon ein paar Jahre alt aber damit mache ich immer noch
> alle Bewegungen
>
>
> Volker
>
>
> Am Donnerstag, 17.07.03 um 15:37 Uhr schrieb Jursa, Jan (init):
>
>> Hi leute,
>>
>> jedesmal wenn ich eine zB. horizontale Bewegung scripte, ärger ich
>> mich über
>> das unbefriedigende ergebnis:
>>
>> irgendwie ist die bewegung nicht wirklich "flüssig". Ab und an sind
>> ganz
>> seltsame Ruckler drinn (in Abhängigkeit des Rechners auf dem ich
>> teste)...es
>> ist einfach NIE PERFEKT ;-)
>>
>> egal ob ich es so versuche:
>>
>> function moveTest() {
>>      test_mc._x-=.5;
>> }
>> this.onEnterFrame=moveTest;
>>
>> oder diese richtung gehe
>>
>> function moveTest() {
>>      test_mc._x++;
>> }
>> var intervalTest = setInterval(moveTest, 10);
>>
>>
>> was habt ihr für lösungen die wirklich guuuut mooooven ?
>>
>> grüsse,
>> jan
>>
>>
>> ------------------------------------------------------
>> Archiv   : //www.freelists.org/archives/ascoders/
>> Optionen : //www.freelists.org/list/ascoders
>> ------------------------------------------------------
>
> ------------------------------------------------------
> Archiv   : //www.freelists.org/archives/ascoders/
> Optionen : //www.freelists.org/list/ascoders
> ------------------------------------------------------
> ------------------------------------------------------
> Archiv   : //www.freelists.org/archives/ascoders/
> Optionen : //www.freelists.org/list/ascoders
> ------------------------------------------------------

------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------
------------------------------------------------------
Archiv   : //www.freelists.org/archives/ascoders/
Optionen : //www.freelists.org/list/ascoders
------------------------------------------------------

Other related posts: