Maus_steuerung

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Maus_steuerung

    Hi Leute.

    Ich habe denn doch mach langer Zeit mal wieder ein Problem. Wo ich nicht weiter komme.
    Ich habe für mein Spiel eine Gamepad und tastatursteuerung die auch gut funkt.
    Nun würde ich gerne eine Maussteuerung einbauen.
    Komme aber nicht ganz klar.

    Mein Spieler soll sich bei der bewegung der Maus ( links , rechts) , auch nach links bzw. rechts bewegen. ( x = mouse_x) . Soweit so gut. Der Player bewegt sich nun aber viel zu schnell. !! Mit anderen Worten,..
    wie setze ich bei der Maus-steuerung die Geschwingigkeit?

    LG Neogeo
  • Mit der Funktion clamp(Wert, min,max) kannst du deine Geschwindigkeit abriegeln.
    Eventuell kannst du auch einen Pfad berechnen lassen. Allerdings wissen wir nicht grnau wie fein Spiel aussieht, nähere Infos wären gut
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • Also , ich bastle grad an einen breakout_clone.
    d.h. mein Spieler bewegt einen " Paddel " ,.. der sich nur horzizontal bewegen kann. Und zwar mit einem anfangsspeed von 3. ( dafür habe ich ne globale var. " global.sp = 3 )
    Wiegesagt die steuerung mit Pfeiltasten und gamepad habe ich. Und läuft gut.
    Nur das man halt den Paddel mit der maus bewegen kann . Läuft noch nicht rund.
    Da ist die Maussteuerung einfach zu schnell.
  • ich würde es auch so machen:

    GML-Quellcode

    1. var spd = .2; // ggf anpassen
    2. var maxspd = 20;
    3. x += clamp( round(( mouse_x - x)*spd),-maxspd,maxspd );

    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Rhazul ()

  • Ja. Danke. Nun geht der code!

    Aber trotzdem, bleibt die Steuerung mit der Maus unspielbar. Leider bleibt das Paddel nicht sofort stehn wenn man die Mouse nicht mehr bewegt. Sodern zieht wie'n Schwamm nach.
    Bei x = mouse_x macht das Paddel es ja. Aber es ist wiegesagt viel zu schnell. in der Bewegung
  • Ich verstehe das problem nicht ganz, mein script nimmt die differenz zwichen x und mouse_x und rechnet diese multipliziert mit einer konstante auf dein x. bei spd= 1 hast du keine Verzögerung alles darunter schon. es geht nunmal nur direkt oder mit Verzögerung. Ich denke du musst nur mit den werten spielen. setz mal spd = .8 und maxspd auf 10
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • Vielleicht gibt es auch ein Missverständnis, ist dein Mauszeiger im Spiel sichtbar?
    Du steuerst nämlich nach wie vor die Maus wie gehabt, während das Paddle mit deiner gewünschten Maximalgeschwindigkeit die Maus verfolgt.
    Falls man den Mauszeiger im Spiel nicht sieht, würde es erklären, wieso es sich seltsam für dich anfühlt.

    Könntest auch einen Sprite (zb. stark transparentes Paddle oder vertikale Linie), auf der y-Höhe des Paddles und auf der X-Position der Maus (mouse_x) drawen lassen und den Zeiger weiterhin unsichtbar lassen. Dann weiß der Spieler wo er das Paddle hinbewegt ohne eine öden Standardmauszeiger im Bild zu haben.
  • Ich verstehe die Sache auch nicht in so einem Spiel braucht man doch keine Maus. Und ich habe doch Einstellungsmöglichkeiten für Maximalgeschwindigkeit und Weiche der Steuerung eingebaut das ist doch alles was man braucht.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: