-1
\$\begingroup\$

I want to click on the particular sprite from the sprite sheet. For instance i have fruits sprite sheet i want to click on the particular fruit.

Thanks, Jubin Mehta

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

A general solution would be:

  1. Get the cursor position.
  2. Transform the position into the tiles local coordinate space.

    pixelPositionX = cursorPositionX - (tilePositionInWorldX - screenPositionX)

    pixelPositionY = cursorPositionY - (tilePositionInWorldY - screenPositionY)

  3. Find out if the position is inside the tile.

    tilePositionOnSpritesheetX < pixelpositionX < tilePositionOnSpritesheetX + tileSizeX

    tilePositionOnSpritesheetY < pixelpositionY < tilePositionOnSpritesheetY + tileSizeY

  4. If it is, check if the alpha value of the pixel at that position is over a certain treshold.

Step 4 is optional, without it, you're checking against the tiles bounding rectangle, with it, clicking is pixel perfect.

Please note that all positions and sizes are assumed to be in pixels.

\$\endgroup\$
1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .