Hexagonale Maus zu Tile Koordinaten von ???
So ... vieleicht bringt es ja irgendwem...


[code:1:1a40483a62]
Global Scroll_X
Global Scroll_Y

Global Maus_X_Tile
Global Maus_Y_Tile

; Diese Konstanten bitte nach eigenem Bedarf ausfüllen

Const Tile_Breite
Const Tile_Hohe
Const Tile_Seiten_Hohe
Const Tile_Seiten_Lange

Const Tile_Steigung = Tile_Seiten_Hohe / (Tile_Breite / 2)


Function Get_Mouse_Tile()

Maus_X = MouseX()
Maus_Y = MouseY()


SectX = (Maus_X - Scroll_X) / Tile_Breite
SectY = (Maus_Y - Scroll_Y) / (Tile_Seiten_Lange + Tile_Seiten_Hohe)

SectPixelX = (Maus_X - Scroll_X) - SectX * Tile_Breite
SectPixelY = (Maus_Y - Scroll_Y) * (Tile_Seiten_Lange+Tile_Seiten_Hohe)


If (SectY And 1) Then SectTyp = 1 Else SectTyp = 0


If SectTyp = 0
Maus_X_Tile = SectX
Maus_Y_Tile = SectY


If SectPixelY < ((Tile_Seiten_Hohe - SectPixelX*Tile_Steigung)

Maus_X_Tile = SectX - 1
Maus_Y_Tile = SectY - 1

EndIf


If SectPixelY < (-Tile_Seiten_Hohe +SectPixelX*Tile_Steigung)

Maus_X_Tile = SectX
Maus_Y_Tile = SectY - 1

EndIf

EndIf


If SectTyp = 1

If SectPixelX >= Tile_Breite / 2
If SectPixelY < ( 2 * Tile_Seiten_Hohe - SectPixelX * Tile_Steigung) ; Richig einrücken bitte (;

Maus_X_Tile = SectX
Maus_Y_Tile = SectY - 1

Else

Maus_X_Tile = SectX
Maus_Y_Tile = SectY

EndIf

EndIf


If SectPixelX < Tile_Breite / 2
If SectPixelY < SectPixelX * Tile_Steigung

Maus_X_Tile = SectX
Maus_Y_Tile = SectY - 1

Else

Maus_X_Tile = SectX - 1
Maus_Y_Tile = SectY

EndIf

EndIf

EndIf





End Function


[/code:1:1a40483a62]
===
von ???
[quote:0deb6caae7]
If SectPixelY < ((Tile_Seiten_Hohe - SectPixelX*Tile_Steigung)
[/quote:0deb6caae7]

das war wohl eine Klammer auf zu viel
===
von ???
Kannst du eine kleine Beschreibung dazu abgeben oder den Quellcode ein wenig kommentieren?
===
von ???
Kann ich machen.
sorry wegen der klammer... passiert schon mal...



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: