.| Autor | Beitrag |
|---|---|
|
000 31.10.2002, 00:21 Retro |
Nabend, ich knobele schon länger an nem richtig gut funktionierendem Rasterfang für eine grafische Oberfläche. Das ganze ist in Delphi geschrieben, aber da es eher um die Technik geht, ist dies nebensächlich... Wie gesagt ist die Methode die ich benutze unzureichend... Sie beruht auf der Ganzzahldivison (sehr, sehr billig): Da muss es doch irgendeinen Algorithmus für geben bzw. eine gebräuchliche Technik die gut funktioniert?! (Google findet nichts in Sachen programmierung von Rasterfunktionen..) Danke, Gn8 und Bye! --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
001 31.10.2002, 14:56 Prefect |
Du mußt zwischen der "echten" und der "virtuellen" Mausposition unterscheiden. Die echte Mausposition ist diejenige, die durch die Mausbewegung vorgegeben wird. Die virtuelle Mausposition wird an das Gitter angepaßt. Übrigens solltest du die X/Y-Position vor der Division noch um Gitterabstand/2 erhöhen. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
002 03.11.2002, 22:43 Retro |
Tja, wies scheint isses kein sonderlich ergibieges Thema. Ich hab jetzt etwas in nem alten Buch gefunden, aber sonderlich weiterhelfen tut es mir auch nicht. Im Prinzip ist Prefects Ansatz ja gut, aber ob es sich so gut realisieren lässt?! MSDN sagt einen auch nicht wie man die "echte" Mausposition kriegt bzw. wie man den Cursor abnabelt... Mal schaun was sich machen lässt, vielleicht kommt ja noch ein Geistesblitz. Danke! --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
003 03.11.2002, 23:17 Nicemice Moderator |
mach einfach noch überall ne +5 rein --www.d3opencoop.com - A Doom3 Cooperative Mod |
|
Profil || Suche |
|
004 04.11.2002, 12:54 Prefect |
Die +5 braucht es natürlich, aber das reicht nicht. Das Problem bei dem einfachen Ansatz aus dem ersten Post sind langsame Mausbewegungen. Wenn die Maus bei jedem Aufruf der Funktion nur um ~3 Pixel bewegt wird, dann wird die Maus zurück an die Rasterposition verfrachtet, und beim nächsten Aufruf nach ~3 Pixeln ist sie wieder nicht weit genug entfernt usw. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
005 04.11.2002, 14:18 Nicemice Moderator |
Nö, muß man nicht.
www.d3opencoop.com - A Doom3 Cooperative Mod Dieser Beitrag wurde am 04.11.2002 um 14:23 von Nicemice bearbeitet. |
|
Profil || Suche |
|
006 04.11.2002, 21:15 Prefect |
Zeile 2 der Funktion hat einen Bug... CursorPos ist undefiniert (es sei denn es gibt da irgendeine Pascal-Magie, die ich inzwischen vergessen habe). cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
007 04.11.2002, 22:02 Nicemice Moderator |
Dann muß man CursorPos halt global definieren, oder wie auch immer. Ich programmier kein Pascal, aber ich denke man weiß was gemeint ist... --www.d3opencoop.com - A Doom3 Cooperative Mod |
|
Profil || Suche |
|
008 04.11.2002, 22:07 Retro |
Joa, moin... Auch wieder nen guter Ansatz, aber auf all das Zeug bin ich schon selber gekommen. Schaut in der Theorie auch vollkommen logisch aus (ob nun mit deklariertem CursorPos oder ohne..), in der Praxis hüpft der Cursor bei betreten des Bildes allerdings nur wild umher oder ist nicht auf dem Bild zu halten. Aufgeben möchte ich eigentlich noch nicht, aber wenns denn halt nicht anders geht muss ich meinen eigenen Cursor zeichnen. --shielding people from their own stupidity is an evolutionary step backwards anyway. /* God is dead!............Nietzsche */ |
|
Profil || Suche |
|
009 05.11.2002, 13:58 Prefect |
Hmm, also für mich sieht das leider gar nicht logisch aus... cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |

