A Flash Developer Resource Site

1. ## Circles in Circle

Anyone know where I could find some code on how to produce a few small circles randomly moving around inside one major circle? The major circle's border reflects the smaller circles and keeps them contained inside it.

I am trying to finish a project and I need to imitate a basic molecular level model with protons and neutrons.

Really appreciate any feedback.

Thanks.

2. There are a few movies on my site that do things like this. See link below.

- Jim

3. Wow its you Krazydad. Cant beleive you just replied...I was on your site for a few hours last night looking at your bio & stuff. You're a genius.

I have been looking at your code, especially the "Wheel of Trinkets". Obviously my answer lies there but I am having trouble isolating what I need.

4. A lot of my sample code, including 'clumping' and 'wheel of trinkets' include sample functions for drawing circles using parameters x, y and radius.

If an inner circle has center ix,iy and radius iRad, then distance of the center of the inner circle from the center of the outer circle is given by

dist = Math.sqrt(Math.pow(ox-ix,2) + Math.pow(oy-iy,2));

Here is a script that draws two circles which randomly move within an outer circle.

code:
```

SW = Stage.width;
SH = Stage.height;

{
var angle = 0;
var cangle = -theta/2;

this.moveTo(x+r, y);
for (var i=0;i < 8;i++)
{
angle += theta;
cangle += theta;
var endX = r*Math.cos (angle);
var endY = r*Math.sin (angle);
var cX = cr*Math.cos (cangle);
var cY = cr*Math.sin (cangle);
this.curveTo(x+cX,y+cY, x+endX,y+endY);
}
}

moveCircle = function()
{
var dx = this.tx - this._x;
var dy = this.ty - this._y;
if (Math.abs(dx) < 1 && Math.abs(dy) < 1)
{
var a = Math.random()*2*Math.PI;
this.tx = SW/2 + Math.cos(a) * range;
this.ty = SH/2 + Math.sin(a) * range;
}
else {
this._x += dx/5;
this._y += dy/5;
}
}

_root.createEmptyMovieClip("outer_mc", 1);
_root.createEmptyMovieClip("inner_mc1", 2);
_root.createEmptyMovieClip("inner_mc2", 3);

outer_mc._x = SW/2;
outer_mc._y = SH/2;
outer_mc.clear();
outer_mc.lineStyle(2, 0xFF0000, 100);

inner_mc1._x = inner_mc1.tx = W/2;
inner_mc1._y = inner_mc1.ty = SH/2;
inner_mc1.clear();
inner_mc1.tx =
inner_mc1.lineStyle(2, 0x00FF00, 100);
inner_mc1.onEnterFrame = moveCircle;

inner_mc2._x = inner_mc2.tx = SW/2;
inner_mc2._y = inner_mc2.ty = SH/2;
inner_mc2.clear();
inner_mc2.lineStyle(2, 0x0000FF, 100);
inner_mc2.onEnterFrame = moveCircle;

```

5. Thanks for the help JBum!

I have been racking my brains over this one all day. I can definitely work with this...and hopefully you do add more comments...thanks again.

6. The problem I am runing into now is that I am trying to put this script into a MC that can be resized to slowly shrink away into the BG and fade away...I tried substituting the occurences of _root with _parent, the final result is that nothings works.

7. Post your .fla and I'll take a look.

8. Here is where i am at so far...I am now trying to get this stuff "encapsulated" into a MC but i cant seem to get that part. I have erased my efforts in that regard...but here is my .fla.

Thanks

9. I turned your blue circle into a movieclip called circle_mc and put the animation inside of it. There's a commmented out routine at the bottom which animates circle_mc...

10. Thanks so much this works great. This project is due tomorrow and you helped me out a ton (this one hurddle was killing me).

Really appreciate the time you've spent on this.

Thanks again...I'll be joining your site's forums. Cant help but to say again that the stuff on your site is incredible.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

 » Home » Movies » Tutorials » Submissions » Board » Links » Reviews » Feedback » Gallery » Fonts » The Lounge » Sound Loops » Sound FX » About FK » Sitemap