1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Actionscript Random Motion

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von mschoening, 19.05.08.

  1. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    wie bekomme ich es hin, dass ein Kreis sich innerhalb eines anderen Kreises "randomly" bewegt aber nicht an die Kanten des äußeren Kreises stößt? Die Bewegung sollte schon fließend sein (smooth).

    MfG,
    Max
     
  2. also ich hab mir mal en paar gedanken gemacht, hier is mal der Quellcode und im anhang die fla und swf. is zwar noch nich ganz perfekt aber ich denk des könnt auf dein problem passen.

    Code:
    import flash.events.EventDispatcher;
    var radiusa:int = 150;
    var radiusb:int = 30;
    var multi:int = 1;
    var movex:Number = Math.random() * multi;
    var movey:Number = Math.random() * multi;
    var entfernung:Number = Math.random() * 100;
    trace (movex);
    
    kreisa_mc.addEventListener(Event.ENTER_FRAME, function movekreis(){
                                                                      
                                                    
                                                kreisa_mc.kreisb_mc.x += movex;
                                                kreisa_mc.kreisb_mc.y += movey;
                                                
                                                var test:Number = Math.sqrt(Math.pow(kreisa_mc.kreisb_mc.x,2) + Math.pow(kreisa_mc.kreisb_mc.y,2));
                                                trace(test);
                                                if(test >= radiusa - radiusb - entfernung){
                                                    if(movex > 0){
                                                    movex = -Math.random() * multi;
                                                    movey = -Math.random() * multi;
                                                    }else{
                                                    movex = Math.random() * multi;
                                                    movey = Math.random() * multi;
                                                    }
                                                }
                                                
                                                                      }
                                                                      )
                                                                    
    
    lg zim
     

    Anhänge:

Diese Seite empfehlen