Iso Mathematik Problem [gelöst]
Übersicht

![]() |
gochxBetreff: Iso Mathematik Problem [gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich hab ein Problem mit Iso-Grafiken, das wohl aber eher ein Matheproblem ist. Es geht darum, wie ich feststellen kann, über welchem Iso-Tile die Maus gerade ist. Die iso Tiles sind 58x29 pixel groß, wobei immer die kanten überzeichnet werden. Dabei wird immer eine Reihe von links nach rechts gezeichnet und dann die zweite Reihe ein halbes Tile nach rechts versetzt gezeichnet, um so eine (näherungsweise) rechteckige Fläche zu bekommen. Das geht so: Code: [AUSKLAPPEN] DrawImage tile, (y*28)+(x*56)-(Int(y/2)*56), (y*14)
Das passt auch soweit alles. Dann frage ich die Maus so ab: Code: [AUSKLAPPEN] x=(MouseX()/56)-(MouseY()/1400) y=(MouseY()/14)-(MouseX()/1400) Nicht über die komischen Zahlen wundern. Denn genau hier liegt mein fehler! Ich schaffs einfach nicht die Tiles zu treffen. Die Maus ist immer nur so näherungsweise dran. Das geht doch bestimmt mit irgend so einer Rautenformel (sorry, mein Matheabi ist schon ne weile her....) Vielen Dank gochx |
||
Projekt des Monats (Jan 2008): HEXMAX
Aktuelles Projekt: TAWTAW (HEXMAX 2) Webseite: www.goxgames.de.tp |
- Zuletzt bearbeitet von gochx am Sa, Sep 13, 2008 8:54, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Frag in dem Moment wo du die Tiles einzeichnest ob denn deine Maus kleiner eine Teilbreite^2 entfernt ist.
Ist dem der Fall mach eine Prüfung ob die Maus mit dem aktuell gezeichneten Tile kollidiert et voila, recht ressourcenschonend und ohne viel Mathe das passende Tile erwischt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn dus mathematisch ohne blitzfunktionen machen willst:
https://www.blitzforum.de/foru...hp?t=29156 |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
gochx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah super, dankeschön für die schnelle Hilfe. Werd mal testen mit welcher Funktion es besser klappt. | ||
Projekt des Monats (Jan 2008): HEXMAX
Aktuelles Projekt: TAWTAW (HEXMAX 2) Webseite: www.goxgames.de.tp |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] rx=MouseX()/einzelnetilehöhe
ry=MouseY()/einzelnetilelänge So sollts gehn ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
funzt niemals auf ner isomap...erst denken, dann ausprobieren, dann reden... | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group