Bild der Maus folgen lassen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    Bild der Maus folgen lassen

    Liebe Community,

    ich bin mit der Spieleprogrammiereung noch nicht sehr erfahren und wende mich deshalb an euch. Ich möchte gerne nachdem ein Objekt aus einem Menü ausgewählt worden ist dieses auf dem Spielfeld platzieren. Leider hat meine Idee die ich anfangs hatte nicht ganz geklappt:

    VB.NET-Quellcode

    1. Private Sub Bild_Click(sender As Object, e As EventArgs) Handles PicBox1.Click
    2. PicBox1.Top = MousePosition.X
    3. PicBox1.Left = MousePosition.Y
    4. End Sub


    Denn MousePosition ruft den X und Y Wert der Maus in Bildschrimkoordinaten ab und diese werden einfach als Location genutzt. Das Objekt springt dabei weiter je tiefer der Punkt ist an dem es angeklickt wurde. Auch passiert das Ganze nur bei einem Klick. Das Objekt soll der Maus aber folgen bis es abgelegt wurde. Hilft da vielleicht eine For Next Schleife und wenn ja wie sähe die aus?

    Ich würde mich sehr über eure Hilfe freuen.

    Liebe Grüße,
    Hafreak
    Nimm anstatt des Click-Ereignisses das MouseClick-Ereignis. Dieses liefert Positionsangaben zum Mausklick zurück.
    Wenn du auf der Form klickst, einfach: die Position übergeben.
    Wenn du auf der Picbox selbst klickst, dann die Position zur Position der Picbox hinzufügen.

    VB.NET-Quellcode

    1. Private Sub Form1_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
    2. picbox1.Location = e.Location
    3. End Sub
    4. Private Sub picbox1_MouseClick(sender As Object, e As MouseEventArgs) Handles picbox1.MouseClick
    5. picbox1.Location = New Point(
    6. picbox1.Left + e.X,
    7. picbox1.Top + e.Y)
    8. End Sub


    An den Rest: auf einfache Fragen auch mal einfache Antworten geben. Eure Einwände sind richtig, aber völlig deplaziert. Oder lesen wir den GDI/DirectX-Scheiß jetzt in jedem Thread?
    Vielen lieben Dank schon mal für eure sehr schnellen Antworten. Ich werd das alles mal ausprobieren und melde mich dann nochmal. XNA und GDI schau ich mir auch mal an sieht interessant aus ;)

    Schönen Abend noch,

    Hafreak

    P.S.: Eigentlich sollte das ja was einfaches 2 Dimensionales werden. Wie z.B. PlantsvsZombies oder so (fällt mir sonst nix besseres ein grad) Weiß nicht ob Direct X da ne gute Wahl ist :|
    Liebe Community,

    entschuldigt die verspätete Antwort, ich habe alles ausprobiert und habe mich dafür entschieden C++ zu lernen und DirectX zu benutzen.

    Deshalb eine Frage: Kann man mit Visual Studio auch das normale C++ programmieren oder nur Visual C++. Die Unterschiede sowie die Vor- und Nachteile sind mir hinlänglich bekannt. Trotzdem würde ich lieber erst einmal normales C++ probieren (Grundlagen lernt man mit Konsole am besten). Falls nicht gibt es ein Programm das normales C++ kann aber etwas ähnliches wie IntelliSense hat?

    Vielen Dank im Vorraus für eure Hilfe.

    Liebe Grüße,

    Hafreak
    Ja, du kannst in VS natives C++ programmieren. Die frage ist nur, ob das wirklich für dich nötig ist. Es gibt mit SharpDX einen ausgezeichneten DirectX-Wrapper, der quasi alle Funktionalität in VB.Net und C# in vollem Umfang zur Verfügung stellt. Also warum auf ne andere Sprache umsteigen?
    Was ist denn normales C++ ? Visual C++ ist normales. Da haste die Wahl zwischen nativ & CLR, ATL, MFC & Win32. VC++ heißts weil du Visual Studio als IDE benutzt und den MSCompiler benutzt. Ich persönlich find den am Besten, hat bei mir auch noch nie Probleme gemacht