-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
\$\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.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.