• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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