Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

tile-picking-interaction

/tile-picking-interaction

Zamienia pozycję myszy lub dotyku na właściwy kafelek izometryczny do zaznaczania, podświetlania i stawiania obiektów.

Licencja
MIT
Ostatnia zmiana repozytorium
12.08.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 12.08.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zamienia pozycję myszy lub dotyku na właściwy kafelek izometryczny do zaznaczania, podświetlania i stawiania obiektów.

Oryginalny opis (EN)

Use when converting a mouse/touch position into the correct isometric tile for selection, highlighting, and placement.

Jak działa

  1. Overview
  2. When to Use
  3. Process
  4. Rationalizations (Stop Lying to Yourself)
  5. Red Flags - STOP if you catch yourself:
  6. Verification
Sekcje z nagłówków SKILL.md, w oryginale · 49 linii, 261 słów
Podgląd SKILL.md
---
name: tile-picking-interaction
description: Use when converting a mouse/touch position into the correct isometric tile for selection, highlighting, and placement.
license: MIT
---

# Tile Picking & Interaction

## Overview

Picking is screen->grid with the camera inverse applied first. This skill turns a pointer position into the exact tile under it, with a highlight and hit-test that respects camera pan/zoom.

## When to Use

- Clicking selects the wrong tile.
- You need hover highlight or click-to-place.
- Picking ignores camera pan/zoom.

## Process

1. Take the pointer position in screen space.
2. Apply the inverse camera transform (see `camera-pan-zoom-controls`).
3. Apply screen->grid from `isometric-grid-math` and round to a tile.
4. Clamp the result to map bounds and check walkable if needed.
5. Draw a highlight on the picked tile for feedback.
6. On click, dispatch the tile coord to the gameplay handler.
7. Test picking at multiple zoom levels and pan offsets.

```js
const world = screenToWorld(pointer, cam);
const tile = worldToGrid(world, W, H); // then round
```

## Rationalizations (Stop Lying to Yourself)

| Excuse | Reality |
|---|---|
| "I will skip the camera inverse" | Then picking breaks the moment you pan/zoom. Always invert. |
| "No need to highlight" | Players need feedback on what they will click. Highlight. |

## Red Flags - STOP if you catch yourself:

- Picking that ignores camera pan/zoom.
- No rounding so edge tiles mis-select.
- No visual highlight feedback.

## Verification

You are NOT done until every box is checked:

- [ ] Picked tile is correct at any pan and zoom.
- [ ] Hover highlight matches the actual selected tile.
- [ ] Clicks dispatch the right grid coordinate.

Wersje

W bazie nie ma innych skilli o nazwie tile-picking-interaction.

Migawka bazy z 28.10.2026 · wersja paczki 79fcf4101940 (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 95threejs-interaction
    Obsługuje interakcje w Three.js: raycasting, kontrolki kamery, wejście z myszy i dotyku, zaznaczanie obiektów i wykrywanie kliknięć.
  • 95threejs-interaction
    Obsługuje interakcje w Three.js: raycasting, kontrolki kamery, wejście z myszy i dotyku, zaznaczanie obiektów i wykrywanie kliknięć.
  • 100threejs-interaction
    Obsługuje interakcję w Three.js: raycasting, kontrolki, wejście myszy i dotyku oraz zaznaczanie obiektów, przy wykrywaniu kliknięć i kontroli kamery.
  • 95cesiumjs-interaction
    Obsługuje interakcje i picking w CesiumJS: ScreenSpaceEventHandler, skróty z klawiszami modyfikującymi, Scene.pick, drillPick, pickPosition, snapowanie do krawędzi modeli oraz zdarzenia myszy i dotyku.
  • 100input-system
    Obsługuje wejście gracza w Godot na klawiaturze, myszy, gamepadzie i dotyku: akcje wejścia, wirtualne joysticki, tryby myszy i system zmiany przypisań.
  • 100threejs-interaction
    Obsługuje kliknięcia i dotyk w scenie Three.js: raycasting, wybór obiektów i sterowanie kamerą.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.