Iso Mathematik Problem [gelöst]

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

gochx

Betreff: Iso Mathematik Problem [gelöst]

BeitragFr, Sep 12, 2008 16:38
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BladeRunner

Moderator

BeitragFr, Sep 12, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragFr, Sep 12, 2008 17:32
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Sep 13, 2008 8:54
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Sep 13, 2008 11:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
rx=MouseX()/einzelnetilehöhe
ry=MouseY()/einzelnetilelänge



So sollts gehn Wink[/quote]
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Goodjee

BeitragSa, Sep 13, 2008 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
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/

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group