this post was submitted on 13 Jan 2025
26 points (96.4% liked)

Learn Programming

1683 readers
22 users here now

Posting Etiquette

  1. Ask the main part of your question in the title. This should be concise but informative.

  2. Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.

  3. Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.

  4. Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
MODERATORS
 

How can I define lines so when I click on the screen, my program knows whether I clicked on A B or C?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 11 points 1 week ago (3 children)

My approach would involve using some kind of polygon library. When you draw lines, you're really defining polygons within your canvas. In the case of regions B and C, the edge of the screen make up the rest of the polygon.

Once you have your polygons defined, you can compare the coordinates of the click event to the polygons. With a good library, it should be fairly trivial to check if a point is within a polygon.

In the case of region A, you'd find that a click is inside both region A and region B, so I guess I'd also check to see if there are multiple polygons a click could be inside. If there are, then you need to also see if a polygon is inside another polygon to determine the specific polygon clicked. This is also made much simpler by using a good library

[โ€“] sip 5 points 1 week ago

I do want to mention this is a rabbit hole, as a U shaped polygon can be tricky to check. so I strongly suggest using a library for checking point in polygon.

load more comments (2 replies)