Internet Commerce

Partners & Affiliates

Developer Channel


Featured Flash FLA
Gallery Downloads 11401 Flash Movies | 5 New Flash Movies Added
What's New | Top 100

Featured FLA

»  Author: Nick Kouvaris
»  Title: Znax
»  Description: Znax is a board game. Click 4 tiles of the same color and form squares as big as you can. You will erase all the tiles inside the square and collect points. Get maximum score if you make a square with game edges.
»  More by: Nick Kouvaris


Random FLAs | Add Flash Movie
Featured Flash Site
Gallery Downloads 4941 Flash Sites | 1 New Flash Links
What's New | Top 100 Flash Site

Featured Site

»  Author Agence WOP Digital Agency
»  Title: Electricdrum
»  Description: French WOP Agency, 3D websites, Flash (Papervision, Away 3D), event or institutional projects. The agency operates on all digital projects: consulting, design, graphic design, development, online communication. The WOP agency follows you on the implementation of original, creative and optimized digital projects.


Random Links | Add your own Flash Related Links
Flash Tutorials 1481 Tutorials 7 New Tutorials Added!
What's New | Top100

» How To Make A Simple Animation Using Christmas Clips
» Simple Step by step flash game tutorial Spot the diffrence
» How To Make A Moving Text Slide
» Create Flash Banner With Text Float Effect
» How To Make Zoo Photos Slideshow
» How To Make A Dolphin Photos Slideshow
» How To Make A Fathers Day Slideshow
» How To Make A Transparent Background of Your Flash File
» Create Flash Banner With Text Disco Light Effect Today we will introduce you a Text Disco Light eff
» Unknown Tag: Title10
Random Tutorial | Add Site


Tutorials Home What's New Top Rated Submit myTutes Random!

Search Tutorials


Categories Circle Collisions
Author: Flash Junkie | Website: http://www.flashkit.com |

 
Page 5
«prev 1 2 3 4 5 6 next»

The Actionscript
The actions in the second frame provide the driving force behind the circle collisions .FLA. I've placed comments along the way to help you understand what's happening.

Comment: ----------------------------------------------
Comment:             start move
Comment: ----------------------------------------------
Set Variable: "my_radius" = (GetProperty ("", _width) / 2)
Comment: 'n' is always 'name' of circle.
Set Variable: "my_x" = GetProperty("",_x)
Set Variable: "my_y" = GetProperty("",_y)
Set Variable: "my_n" = GetProperty("",_name)
If (ymov="")
 Comment: *********************************
 Comment: ----------------------------------------------
 Comment:    first run through code,
 Comment:    this will initialize circle
 Comment: ----------------------------------------------
 Comment: *********************************
 Comment: pick a distance:
 Set Variable: "ymov" = Random(/:speed)+1
 Set Variable: "xmov" = Random(/:speed)+1
 Comment:
 Comment: pick a direction:
 Set Variable: "ysign" = random(2)-1
 If (ysign=0)
 Set Variable: "ysign" = 1
 End If
 Set Variable: "xsign" = random(2)-1
 If (xsign=0)
 Set Variable: "xsign" = 1
 End If
 Comment: adjust x and y movement
 Set Variable: "xmov" = xmov*xsign
 Set Variable: "ymov" = ymov*ysign
 Comment: ----------------------------------------------
End If
Comment: *********************************
Comment: ----------------------------------------------
Comment:          check edges
Comment: ----------------------------------------------
If (my_x<=my_radius+/:speed)
 Set Variable: "xmov" = xmov*-1
 Set Variable: "my_x" = my_radius+/:speed
End If
If (my_y<=my_radius+/:speed)
 Set Variable: "ymov" = ymov*-1
 Set Variable: "my_y" = my_radius+/:speed
End If
If (my_x>=/:movie_width-my_radius-/:speed)
 Set Variable: "xmov" = xmov*-1
 Set Variable: "my_x" = /:movie_width-my_radius-/:speed
End If
If (my_y>=/:movie_height-my_radius-/:speed)
 Set Variable: "ymov" = ymov*-1
 Set Variable: "my_y" = /:movie_height-my_radius-/:speed
End If
Comment: ----------------------------------------------
Comment:         check for collision
Comment: ----------------------------------------------
Set Variable: "n" = 1
Comment: start checking for collisions
Loop While (n<=/:total_circles)
 Comment: don't check myself
 If (n ne my_n)
 Set Variable: "n_x" = GetProperty("../"&n,_x)
 Set Variable: "n_y" = GetProperty("../"&n,_y)
 Set Variable: "n_radius" = (GetProperty ("../"&n, _width) / 2)
 Set Variable: "delta_x" = (my_x+xmov)-(n_x)
 Set Variable: "delta_y" = (my_y+ymov)-(n_y)
 If ((delta_x * delta_x + delta_y * delta_y) <((my_radius + n_radius) * (my_radius + n_radius)))
 Comment: ----------------------------------------------
 Comment:      handle collisions
 Comment: ----------------------------------------------
 Comment: I collided with circle 'n'.
 Set Variable: "nx" = Eval("../"&n&":xmov")
 Set Variable: "ny" = Eval("../"&n&":ymov")
 Comment: swap travel values with it.
 Set Variable: "tempx" = xmov
 Set Variable: "xmov" = nx
 Set Variable: "../"&n&":xmov" = tempx
 Set Variable: "tempy" = ymov
 Set Variable: "ymov" = ny
 Set Variable: "../"&n&":ymov" = tempy
 Set Variable: "../"&n&":collision" = my_n
 Else
 End If
 End If
 Set Variable: "n" = n+1
End Loop
Comment: ----------------------------------------------
Comment:              move me
Comment: ----------------------------------------------
Set Property ("", X Position) = my_x + xmov
Set Property ("", Y Position) = my_y + ymov
Comment: ----------------------------------------------

«prev 1 2 3 4 5 6 next»

» Level Advanced

Added: : 2000-05-02
Rating: 6.80 Votes: 177
Hits: 23053
» Author
Flashjunkie is a self-professed obsessive addict of life. Due to the highly artistic nature required of an Art Director for an Ad agency, he took up Flash to add some math to his diet.
» Download
Download the files used in this tutorial.
Download (19 kb)
Get conversion and unzipping tools for PC and Mac here!

» Forums
More help? Search our boards for quick answers!

Please rate this tutorial, 10 is the top rating, you can also click the comments link to read/write a review.
10 9 8 7 6 5 4 3 2 1
Read or Post Comments