Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
socomjoy
Newbie
Newbie

Anmeldedatum: 08.12.2009
Beiträge: 2

Mauszeiger positionieren (in einem Spiel)
Verfasst am: 20.07.2011, 12:53

Hallo liebe Leute vom visual-basic-forum.de,

wie im Titel kurz erwähnt geht es darum den Cursor neu zu positionieren - jedoch nicht an einer festen Stelle (x, y) bzw. (600, 670), sondern am liebsten auf die Position, an der ein bestimmtes Label befindlich ist.

Mein Vorhaben:Ich progge ein kleines Spielchen, welches im großen und ganzen auf MouseOver basiert.
Ziel ist es mit der Maus bzw. mit dem Cursor von einem Anfangslabel (lblStart) über weitere Labels (lbl1, lbl2, ...) zum Ziel (lblStop) zu gelangen, ohne dabei von einem der genannten Labels "abzurutschen" - rutscht man ab, so entlädt sich die Form (unload) und lädt sich neu.

Funktioniert auch soweit, bloß ist dies natürlich nicht elegant gelöst: Schöner fände ich es, wenn der Cursor abrutscht, also im Spiel verliert, dieser zurück zur Anfangsposition gesetzt wird (also zu lblStart).

Nun kann man zwar stumpf hingehen und im Script programmieren, dass im Falle des Verlierens der Cursor auf (x, y) (wobei x und y die Positionen sind, an denen sich lblStart befindet) gesetzt wird. Doch spielt man dieses Spiel auf einem anderen PC mit anderer Auflösung, wird Position (x, y) dann bei demjenigen natürlich ein ganz anderer Bereich sein und eben nicht der Bereich von lblStart - oder?!

Deshalb mein Lösungsansatz:Im Falle des Verlierens soll überprüft werden, wo lblStart sich befindet (ist ja von Level zu Level und vor allem PC zu PC unterschiedlich) und genau dahin soll dann auch der Cursor platziert werden.


Ansonsten:Ist all dies so realisierbar? Was wird alles benötigt? Kann man besser anders vorgehen/denke ich zu kompliziert? Anregungen? Ideen? Kritik? ...? - Raus damit! Wink

Vielen Dank schon jetzt und mit freundlichen Grüßen,

socomjoy
 
christopher.g
Überflieger
Überflieger

Anmeldedatum: 03.05.2008
Beiträge: 565


Verfasst am: 20.07.2011, 14:19

hi

ja kein problem...

Code:

Private Declare Function SetCursorPos Lib "user32.dll" _
 (ByVal x As Long, ByVal y As Long) As Long

Private Sub SetCur2Lbl()
Dim xTop As Long
Dim xLeft As Long

With lblStart
   
    xTop = Me.Top + .Top + (.Height / 2)
    xLeft = Me.Left + .Left + (.Width / 2)
    xTop = xTop / Screen.TwipsPerPixelX
    xLeft = xLeft / Screen.TwipsPerPixelY
   
    SetCursorPos xLeft, xTop
   
End With

End Sub


ich hab den code nicht getestet sondern nur aus gedanken geschrieben da ich jetzt grade kein vb da hab
aber er sollte so funktionieren

lg
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: positionieren, mauszeiger, cursor, maus

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Image-Box mit der Maus bewegen 574 03.11.2010, 11:00
Keine neuen Beiträge Suche viele Leute für einen Downloader 569 28.09.2009, 17:10
Keine neuen Beiträge Form ohne Rand mit Maus größer u. kleiner ziehen? 868 07.04.2008, 09:57
Keine neuen Beiträge Maus! 999 02.06.2007, 22:23
Keine neuen Beiträge objekte mit der maus bewegen 1619 19.05.2007, 12:16
 


[ Time: 0.0589s ][ Queries: 83 (0.0209s) ][ GZIP on - Debug on ]