{lang: 'de'}
Flashhilfe.de - Flash Community

Problem bei replay [Flash 10]

 


AntwortenRegistrieren Seite1  

MartinL88#1
Benutzerbild von MartinL88
Beiträge: 23
Registriert: May 2010

11.03.2012, 09:47

Hallo

ich habe folgendes Problem. Wenn ich auf den Button Start klicke springt er ja ganz normal in Bild 1.
Aber dabei wird irgendwie die Geschwindigkeit von den Movieclips verändert.
Wenn man öfter auf die Schaltflächen klickt, merkt man es dass es immer schneller wird.


Meine Frage warum passiert das und was muss ich ändern, damit sich die Geschwindigkeit von den Movieclips sich nicht verändert.

Bin über jede Hilfe dankbar.

hier mein Code:

Schaltflächen Code Bild1:

on(release){
   
   for(i=0; i < anzBalls; i++){
      balls = bBallAry[i];
      balls.removeMovieClip();
   }
   
   gotoAndStop(2);
}

Schaltflächen Code Bild2:


on(release){
   gotoAndStop(1);
}

Haupt Code im Bild1:

var anzBalls = 2;
var time = 10;
var bBallAry = new Array();
var startBaelle = fInit(anzBalls, bBallAry, "ball", 200,200);
var baelleLoop = setInterval(this,"kLoop", time, anzBalls, bBallAry);
stop();

function fInit(anzbaelle:Number, einArray:Array, objName:String, positionX:Number, positionY:Number):Void {
   
   for (i=0; i<anzbaelle; i++) {
      vName = objName+i;
      vSym = objName;
      _root.attachMovie(vSym,vName,_root.getNextHighestDepth());
      obj = _root[vName];
      einArray.push(obj);
      
      obj.speedX = 1;
      obj.speedY = 1;
      
      obj._x = positionX + i*100;
      obj._y = positionY+ i*100;
   }
}

function kLoop(anzb:Number, einArr:Array):Void {
   
   var anzbaelle:Number = anzb;
   var einArray:Array = einArr;
   
   for (i=0; i<anzbaelle; i++) {
      
      obj = einArray[i];
      
      var distX:Number = obj._x-kreisGross._x;
      var distY:Number = obj._y-kreisGross._y;
      var dist:Number = Math.sqrt(distX*distX+distY*distY);
      var radius0 = obj._width/2;
      var radius1 = kreisGross._width/2;
      if (dist<radius1-radius0) {
         obj._x += obj.speedX;
         obj._y += obj.speedY;
      }
      else {
         obj.speedX = -obj.speedX;
         obj._x += obj.speedX;
         obj.speedY = -obj.speedY;
         obj._y += obj.speedY;
      }
   }
}

Angehängte Dateien:
Adobe Flash Quelldatei replayTest.fla48.00 KB
Adobe Flash Quelldatei replayTest.fla96.00 KB
Adobe Flash Quelldatei replayTest.fla96.00 KB
Schlagwörter: Schaltfläche, Speed
vindel#2
Benutzerbild von vindelFlashhilfe.de Moderator
Beiträge: 3000
Wohnort: Köln
Registriert: Oct 2007

11.03.2012, 20:58