Every girl’s crazy bout a cyborg cop
BougieBirdie
- 0 Posts
- 2 Comments
Joined 3 months ago
Cake day: July 19th, 2025
You are not logged in. If you use a Fediverse account that is able to follow users, you can follow this user.
Every girl’s crazy bout a cyborg cop
Unfortunately, it looks like drawing a big rectangle is the only method to calculate area that’s baked into Godot. You could get the Area2D’s CollisionShape2D children, and then for each child you can
child.shape.get_rect().get_area()
Now, if you’re getting each shape anyway, and you know what kind of shape it is, you can use the appropriate formula to calculate area. For instance, if it’s a CircleShape2D, you can check the radius and get something like
var area = shape.radius * shape.radius * PI
For a polygon it becomes more complicated. You can get the points of the polygon and then use Geometry2D.triangulate_polygon() to get an array of triangles inside that polygon. You can then calculate the area of each triangle and sum them to get your total area. There’s no built-in way to do this, so it’s left as an exercise for you.
The question I have to ask: from a design standpoint, is the exact size of each country truly important to the game? For the sake of argument, Canada is a really quite large country, but it’s sparsely populated. A lot of the land is frankly not very habitable. If I was going to abstract a surrender-factor, I’d think about “population” filling a role that you’re thinking of for “area.” If that were the case, you could just attach a property to each country manually. Maybe a little more work upfront depending on how many countries or regions you’re including, but it’s definitely cognitively simpler.