Sign in to follow this  
VisualChaser

Creating an invisible circle for collision

Recommended Posts

VisualChaser    400

As my first project I'm working on a tower defence game. The project is somewhere near 60% finished, including particles and all.
But I got stuck at coding the enemies and towers. I need an invisible circle that can be used to detect collision. If the enemy is in this circle (the circle is the range of the tower), the tower should start shooting. I also should be able to adjust the circle to the range of every tower, which can be upgraded. I already searched on some sites but I can't find a way to do this.
Can someone give me an example on how to do this?

Share this post


Link to post
Share on other sites
Ashaman73    13715
Your game is 2d ?
Then just take the distance, or square distance, between enemy and tower to determine if it is inside the effect radius:
[CODE]
for each enemy do
delta.x = enemy.x - tower.x
delta.y = enemy.y - tower.y
// square distance = dotProduct(delta,delta)
square_distance = delta.x*delta.x+delta.y*delta.y
// check if inside radius
if( square_distance <= (radius*radius) then
.. shoot at enemy
end
end
[/CODE] Edited by Ashaman73

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this