hab ne Frage wegen Schießen in nem Ballerspiel?...

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

  • jetzt gehts, aber nach links möchte ich auch schießen können, wie geht das denn??? und wie kann man einstellen, das wenn man mehrmals Leertaste drückt, der nicht so viele Kugeln hintereinander schießt?
    Und die Kugeln kommen nicht bei der Knarre raus???...

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom

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

  • Original von DavidTV
    jetzt gehts, aber nach links möchte ich auch schießen können, wie geht das denn??? und wie kann man einstellen, das wenn man mehrmals Leertaste drückt, der nicht so viele Kugeln hintereinander schießt?
    Und die Kugeln kommen nicht bei der Knarre raus???...

    MFG
    DavidTV


    Sag mal liest du eigentlich die Beiträge durch? (bezügl. Kugel soll in Höhe der Pistole)

    Ich habe dir das schon geschrieben. Erst lesen, dann fragen...

    Und mit links und rechts schiessen ist etwas komplizierter.

    So in etwa müsste es gehen:

    if player.direction=0
    create.hspeed=-10
    if player.direction=90
    create.vspeed=-10

    usw...
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Der gibt dir die Schussrichtung an!

    Das wolltest du doch oder nicht?

    GML-Quellcode

    1. {
    2. create_kugel=(schuss)
    3. create=instance_create(x,y,create_kugel)
    4. if player.hspeed<=0
    5. {create.hspeed=-10;}
    6. if player.hspeed>=1
    7. create.hspeed=10;
    8. if player.hspeed=0
    9. {with(schuss)
    10. instance_destroy();}
    11. }
    Alles anzeigen


    Aber der Code taugt nicht viel. Damit schiesst du nur wenn du dich auch wirklich bewegst...
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Original von DavidTV
    da kommt immer der Fehler: Unknown Variable...

    MFG
    DavidTV


    ja dann wird deine spielfigur anders heißen. ich nenne sie immer "player".

    Aber nun zeige ich dir mal wie man das Schussproblem professionell löst. Wenn du genau nach der Anleitung gehst, dann klappt es!

    Im Spielerobject (player)

    Mache ein Create-Event!

    Dort fügst du folgenden Code ein:

    GML-Quellcode

    1. {
    2. HorDirection=0
    3. VerDirection=0
    4. }


    Dann im Step-Event:

    GML-Quellcode

    1. {
    2. BinCheck = 0;
    3. if(keyboard_check(vk_left))
    4. BinCheck += 1;
    5. if(keyboard_check(vk_right))
    6. BinCheck += 2;
    7. switch(BinCheck)
    8. {
    9. case 1: //links
    10. HorDirection = -1;
    11. VerDirection = 0;
    12. break;
    13. case 2: //rechts
    14. HorDirection = 1;
    15. VerDirection = 0;
    16. break;
    17. default:
    18. break;
    19. }
    20. }
    Alles anzeigen


    Dann im press-Space-Event (da mußt du den Space-Event nehmen mit dem roten Pfeil):

    Set Alarm[0] to 2

    Im Alarm-Event:

    GML-Quellcode

    1. {
    2. instance=instance_create(player.x,player.y,schuss);
    3. instance.vspeed = VerDirection * 8;
    4. instance.hspeed = HorDirection * 8;
    5. }


    Wobei player.x und player.y halt dein spielerobject ist und schuss deine Pistolenkugel.

    Wenn die Kugel nicht mittig ist, dann mußt du noch ein paar Zahlen ändern!

    z. B.
    {
    instance=instance_create(player.x+10,player.y+20,schuss);
    instance.vspeed = VerDirection * 8;
    instance.hspeed = HorDirection * 8;
    }
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • jetzt schießt der nach links und nach rechts gleichzeitig, damit du dir nen eindruck machen kannst, wie ich das gemacht hab, ist im Anhang nochmal die gmd Datei....

    MFG
    DavidTV
    Dateien
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom
  • Da ist ja auch ein wenig durcheinander bei dir!

    Erstmal lösche das grüne Space-Event (Space loslassen)

    Dann im roten Space-Event hast du noch den alten Kugelcode drinne.
    Der muß raus...


    Da du gm5 hast, kann ich dir die datei leider nicht überarbeiten, ich habe nämlich gm6 und damit läufts dann nicht mehr...

    Außerdem solltest du noch die Ausrichtung der Figur ändern...

    EDIT:

    Ersetze den alten Code durch diesen: (wenn keine Richtungstaste gedrückt wird, soll er dennoch schiessen):

    GML-Quellcode

    1. {
    2. BinCheck = 0;
    3. if(keyboard_check(vk_left))
    4. BinCheck += 1;
    5. if(keyboard_check(vk_right))
    6. BinCheck += 2;
    7. if(keyboard_check(vk_nokey))
    8. BinCheck += 3;
    9. switch(BinCheck)
    10. {
    11. case 1: //links
    12. HorDirection = -1;
    13. VerDirection = 0;
    14. break;
    15. case 2: //rechts
    16. HorDirection = 1;
    17. VerDirection = 0;
    18. break;
    19. case 3: //rechts-stehend
    20. HorDirection = 1;
    21. VerDirection = 0;
    22. break;
    23. default:
    24. break;
    25. }
    26. }
    Alles anzeigen
    Was man mit Händen baut, kann auch mit Händen zerstört werden...

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

  • wie die Ausrichtung??
    und die Kugeln kommen wieder am Kopf raus?.....
    EDIT:und wenn man am Anfang nicht nach irgendeiner Seite drückt und dann schießt bleibt eine Kugel in der Luft hängen...naja, das ist ja eigentlich egal, oder?

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom

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

  • Original von DavidTV
    wie die Ausrichtung??
    und die Kugeln kommen wieder am Kopf raus?.....

    MFG
    DavidTV


    Das die Kugel aus der Pistole kommt mußt du im Alarm-Event im Code ändern. Ersetze einfach den Code.

    GML-Quellcode

    1. {
    2. instance=instance_create(figur.x+24,figur.y+19,geschoss);
    3. instance.vspeed = VerDirection * 8;
    4. instance.hspeed = HorDirection * 8;
    5. }


    mit der Zahl hinter x und y kannst du die höhe und weite relativ zur figur vom geschoss ändern. Willst du das dein Geschoss langsamer ist, dann mußt du die 8 gegen eine kleinere Zahl ersetzen.
    EDIT: Und im Object geschoss mach noch folgendes rein:

    Outside Room-Event (das ist unter Add Event - Other)

    Destroy the instance (findest du unter main1)
    Was man mit Händen baut, kann auch mit Händen zerstört werden...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von magic_hero ()

  • SO IST ES SUPER!!!!!!^^
    DANKE DAS DU DIR SO VIEL ZEIT FÜR MICH GENOMMEN HAST!
    VIELEN DANK!^^

    du bekommst das Spiel wenn es fertig ist, oder es eine Demo gibt als erstes!^^

    wie ist deine ICQ Nummer?

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom
  • EDIT: Wenn du das mit der Ausrichtung deiner Figur wissen willst, sag Bescheid. Das ist nicht viel Arbeit!


    Original von DavidTV
    SO IST ES SUPER!!!!!!^^
    DANKE DAS DU DIR SO VIEL ZEIT FÜR MICH GENOMMEN HAST!
    VIELEN DANK!^^

    du bekommst das Spiel wenn es fertig ist, oder es eine Demo gibt als erstes!^^

    wie ist deine ICQ Nummer?

    MFG
    DavidTV


    Habe kein ICQ. Danke für dein Angebot. Ich warte bis das Game fertig ist und du es hier präsentierst.

    Dafür ist das Forum doch da, um Anfängern zu helfen.
    Was man mit Händen baut, kann auch mit Händen zerstört werden...

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

  • ja, mit der ausrichtung das würd ich gerne wissen, erklärste mir das?
    EDIT: und ich habe jetzt nen TESTGEGNER eingebaut, und wenn ich den abknalle soll da so ein Toter Gegner kommen, der kommt auch, nur der soll dann nach ein paar sekunden verschwinden, und nach dem abknallen des Gegner soll der Tote auf dem Boden liegen, aber er hängt in der Luft??..kannste mir da weiterhelfen?

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom

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

  • Also ich habe gesehen das bei deinem nokey-Event ein Sprite angezeigt wird.

    Also das nach rechts laufende sprite.

    Diese Anleitung ist aber nur für eine Spielerfigur die auch animiert ist (also die läuft). Dazu brauchst du vier Sprites der Figur.

    Links laufend
    Rechts laufend
    Links stehend
    Rechts stehend

    Alles kommt in dein Objekt Figur rein!

    Create-Event:

    Set variable global.richtung 0

    NoKey-Event:

    if global.richtung 1
    change sprite into figur_stehend_links

    if global.richtung 2
    change sprite into figur_stehend_rechts

    dann mußt du die roten press-events erstellen.

    press left-event:

    change sprite into figur_laufend_links

    press right-event:

    change sprite into figur_laufend_rechts

    in den normalen richtungsevents:

    left-event:

    set variable global.richtung 1

    right-event

    set variable global.richtung 2


    Das wars.

    Nun hast du eine Spielerfigur die bei Loslassen der Taste links oder rechts nicht mehr läuft und auch in die Richtung guckt die du zuletzt gedrückt hast..

    Probiere es einfach mal mit einem laufenden Sprite aus.
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Original von DavidTV
    also, beim Nokey event, wo kann man da if global einstellen?

    MFG
    DavidTV


    Upps habe ich vergessen.

    Du mußt natürlich auf die Variablprüfung klicken (neben Set Variable).

    If variable global.richtung has a value....

    Sorry war mein Fehler
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • ich habe jetzt nen TESTGEGNER eingebaut, und wenn ich den abknalle soll da so ein Toter Gegner kommen, der kommt auch, nur der soll dann nach ein paar sekunden verschwinden, und nach dem abknallen des Gegner soll der Tote auf dem Boden liegen, aber er hängt in der Luft??..kannste mir da weiterhelfen? und der Level soll so wenn man weiterläuft zur seite also nach links weiterscrolllen, aber bei mir ist nur ein Teil ( stockend ) vom Level, weil in Gamemaker 4 war das ja einfach, irgendwas visible when Room starts oder sowas, aber das ist bei Gamemaker 5 nicht, wie kann ich das machen???

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom

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

  • Original von DavidTV
    ich habe jetzt nen TESTGEGNER eingebaut, und wenn ich den abknalle soll da so ein Toter Gegner kommen, der kommt auch, nur der soll dann nach ein paar sekunden verschwinden, und nach dem abknallen des Gegner soll der Tote auf dem Boden liegen, aber er hängt in der Luft??..kannste mir da weiterhelfen? und der Level soll so wenn man weiterläuft zur seite also nach links weiterscrolllen, aber bei mir ist nur ein Teil ( stockend ) vom Level, weil in Gamemaker 4 war das ja einfach, irgendwas visible when Room starts oder sowas, aber das ist bei Gamemaker 5 nicht, wie kann ich das machen???

    MFG
    DavidTV


    Die Frage ist einfach zu lösen, aber schwer zu erklären. Also:

    Beim Gegner mußt du folgenden Code einbauen:
    Im
    STEP-Event:

    If a position is collision free x:0,y:1 relative
    Set the gravity to 270, 0.5
    else
    Set the gravity to 270, 0.0

    Das ist die Erdanziehungskraft und zieht den Gegner zu Boden. Voraussetzung das er dann bei einem Schuss auch liegen bleibt und, das er überhaupt stehen bleibt ist ein solides Objekt (z. B. ein Abgrenzungsblock).

    Den mußt du auch noch im Gegnerobjekt definieren:

    Im
    KOLLISIONS-EVENT (mit dem Block):

    Move contact to direction 270
    Set the vertical speed to 0

    Nun hat besitzt dein Gegner eine Schwerkraft und steht auf dem Kollisions-Block

    Jetzt mußt du ein weiteres Event erstellen.

    KOLLISIONS-EVENT (mit deinem Schuss):

    change the sprite into gegner_tod
    set alarm[1] to 30

    Das bewirkt das der stehende Gegner bei Berührung von einem Schuss in einen toten Gegner umgewandelt wird.

    Und Alarm bewirkt das er nun 30 steps (im Normalfall 1 Sekunde) liegenbleibt.

    Entfernen des toten Gegners:

    Im
    ALARM 1 - EVENT:

    Destroy the instance (other anklicken) - sonst werden alle gleichartigen Gegner zerstört.

    Viel Glück!
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • ich komm langsam mit...
    und was ist mit dem Raum, das der weiter nach links scrollt???

    im Anhang ist das Spiel mal, vergrößer mal den Raum, dann geh mal in das Spiel, da siehste nichts vom Spiel weil der Raum nicht scrollt...

    MFG
    DavidTV
    ARBEITE IM MOMENT AN FOLGENDEN TITELN:
    Super Mario: The Lost Mushroom

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

  • Original von DavidTV
    ich komm langsam mit...
    und was ist mit dem Raum, das der weiter nach links scrollt???

    im Anhang ist das Spiel mal, vergrößer mal den Raum, dann geh mal in das Spiel, da siehste nichts vom Spiel weil der Raum nicht scrollt...

    MFG
    DavidTV

    Lade das Spiel mal hoch, ich schaue es mir an.
    Was man mit Händen baut, kann auch mit Händen zerstört werden...