|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Pizzabroetchen Junior JLI'ler
Anmeldedatum: 29.02.2004 Beiträge: 55
Medaillen: Keine
|
Verfasst am: 05.04.2004, 19:51 Titel: Mausabfrage |
|
|
Hi
Ich bin gerade dabei ein Leveleditor für ein Spiel zu schreiben habe aber folgendes Problem.Das Spielfeld soll aus Kacheln (32x32 Pixel) bestehen und man soll halt mit der Maus die KAcheln setzten können.Um zu bestimmen wo eine Kachel gesetzt werden soll benutze ich folgenden code:
void Spielfeld(int x,int y,int textur)
{
x= (x-19)/32;
y= (y-19)/32;
x = x*32;
y = y*32;
Direct3D.Boden(x,y,textur);
mit der x koordinate funktioniert es perfekt aber mit der y nicht...der sezt die kachel immer 1 weiter nach oben wie es soll (also auf dem Spielfeld)
kann sich einer erklären wieso?
frage die Koord mit dem Windowsnarichtensystem ab.... |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 05.04.2004, 20:02 Titel: |
|
|
Ich denke es liegt am Windowsnachrichtesystem.
Man muss irgendwie die Position relativ zum Fenster bestimmen, da sonst die koordinaten nicht umbedingt übereinstimmen.
Eine einfache lösung ist es den Mauszeiger einfach auszublenden (ShowCursor(false)) und an der von der Windowsnachrit übergebenen Cursorposition einen eigenen zu zeichenen. Dann hat dieser auf jedenfall immer die richtige Position.
Natürlich kann man auch, wenn es bei der Y Position immer 1 zu hoch ist
Direct3D.Boden(x, y-1, textur); schreiben, obwohl das natürlich unschön ist. Man sollte den fehler immer da beheben wo er entsteht. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 05.04.2004, 20:26 Titel: |
|
|
Da gibt es eine eigene Funktion dafür:
ClientToScreen oder ScreenToClient.
Die Parameter sollten in der MSDN stehen _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Pizzabroetchen Junior JLI'ler
Anmeldedatum: 29.02.2004 Beiträge: 55
Medaillen: Keine
|
Verfasst am: 05.04.2004, 20:31 Titel: |
|
|
danke erstmal
werde mir die funktion mal anscheuen....
das mit dem -1 bzw +1 geht nicht, da ansonsten keine Kacheln mehr ganz oben erzeugen kann (hatte die "unschöne" Idee zuerst auch)
Edit: vielen dank mit ClientToScreen gehts perfekt |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|