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