• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Actionscript Random Motion

mschoening

Gelbe Schleswiger Reinette
Registriert
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
 

invader zim

Gast
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

  • kreis.zip
    6,9 KB · Aufrufe: 82