Spieler soll in alle Richtungen schießen???

  • Spieler soll in alle Richtungen schießen???

    Hallo
    Sorry weil es das Thema schon mal gab
    dort fand ich aber keine Antworten!!

    bin grad dabei ein Zwei-Spieler-Spiel zu programmieren
    bei dem die "Spielfigur"(eher ne Art Panzer)
    in alle Richtungen schießen soll
    aber nur nach rechts schießen kann und außerdem nur von den Koordinaten(0\0)

    X-Achse:0
    Y-Achse:0

    ;(

    ich hoffe jemand kann mir helfen
    wenns geht net mit so arg viel Code!!!!!
    wenn net dann halt mit Code
    bitte schreibt zurück
    PS:soll ein Weihnachtsgeschenk werden also sollte ich es bis ca.23.12.01 Fertig haben also schreibt,schreibt,schreibt!!!!!
    Danke schon mal im Vorraus;(
    alles ist möglich, unmögliches dauert nur etwas länger
  • Hm

    Irgendwie verstehe ich deine Frage net ganz recht aber wenn du ein Panzerspiel machen willst kannst dir ein Beispiel an meins nehmen.
    Bei Abgeschloßene Projekte heißt Panzer Kampf
    Face in the wind, we're riding the storm
    We'll stay our course whatever will come
    ~~ Stay (Running) Wild ~~
  • RE: Spieler soll in alle Richtungen schießen???

    Original von Razor
    in alle Richtungen schießen soll
    aber nur nach rechts schießen kann und außerdem nur von den Koordinaten(0\0)

    eeehm ja du solltest des echt nochmal neu und genauer formulieren, besonders das Zitat is etwas konfus ^^
  • Mach doch ne Varuiable(Schussrichtung), die du mit zwei verschiedenen Tasten ändern kannst.(bei einer zb: 5 und bei der anderen-5)
    (So dräht sich das rohr; Würde, dann auch machen, dass das rohr in die richtung"schussrichtung" guckt)

    Und dann erstell beim drücken ner bstimmten taste die rakete mit
    "create event of an instance with motion"
    Und gib bei direction Schussrichtung ein!

    PS: HAb das nicht ausprobiert!
  • Zu den Koordinaten: In der Aktion "Create Object" hast du sicher vergessen, den Punkt "relative" abzuhaken. Ist relative gesetzt, dann nimmt er die Koordinaten des Panzers und addiert die Werte in den Feldern x und y dazu.
    Alternativ kannst du natürlich das relative weglassen und bei x x und bei y y reinschreiben.
    Jetzt weiß ich nicht was du mit allen Richtungen meinst. Wenn du die 4 Himmelsrichtungen meinst, dann mach eine Variablenabfrage (var : sprite_index, value: name_deines_sprites_für_die_jeweilige_Richtung) vor das erstellen des Schusses und erstell dann eben immer einen Schuss für eine bestimmte Richtung.

    Wenn du aber 360° meinst dann bastel dieses Stück Code in dein Key_Press Event:

    Quellcode

    1. schuss_id=instance_create(Schuss,x,y);
    2. schuss_id.direction=direction;
    Einige meiner Spiele:
  • Danke für eure Antworten doch jetzt weiss ich nicht wie du das mit den (x;y)meinst
    soll ich da die Koordinaten von dem panzer einfügen oder wie meinst du das
    Bin noch Anfänger im GM6

    Edit by Windapple (bitte keine Doppelposts, nutze den ändern knopf!!):

    wegen dem Punkt dass der Schuss
    vom Mittelpunkt entsteht hab ich vergessen die X-und Ywerte einzutragen!!

    Edit2 by Windapple (ich mach das nicht ewig!!!):

    Könntest du den Code etwas genauer erklären
    wie gesagt ich bin Noob
    und hab so gut wie keine Ahnung

    Edit3 by Windapple (ich raste aus, das ist schon ein Quad-Post):

    Sorry wegen Doppelposts
    weiss halt net weiter und bin ganz verzweiflt

    ich hab des mit dem Piece of Code probiert hat bei mir aber nicht geklappt
    ich glaub iich mach irgendwas falsch

    vielleicht versuch ich s jetzt mal mit der Variablenabfrage

    Edit(AZ) Postzusammenfassung

    Sorry wegen Doppelposts
    weiss halt net weiter und bin ganz verzweiflt

    ich hab des mit dem Piece of Code probiert hat bei mir aber nicht geklappt
    ich glaub iich mach irgendwas falsch

    vielleicht versuch ich s jetzt mal mit der Variablenabfrage
    alles ist möglich, unmögliches dauert nur etwas länger
  • Ich dir n Beispiel zu meinem vorschlag gemacht...
    Hab da aber nun ne Frage:
    Wieso klappt das mit dem LP-Balken nich? Was hab ich falsch gemacht?
    Genau diese Prob hab ich auch in meinem momentannen spiel!
    Dateien
  • ICh kapier des immer nonnet
    dein besipiel find ich ist eecht gut gemacht aber wenn ich alles so zu meinem übernehme dann(Objet Namen usw. nicht) dann kommt Error :45!!!
    und der PC Ka..t ab!! ;(
    Was meinst du mit den LP-Balken?????
    alles ist möglich, unmögliches dauert nur etwas länger

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

  • Mit den LP-Balken meine ich, dass die beiden LP-Anzeigen nich richtig funktionieren (In meinem Beispiel)
    Wenn die OBjekte andere NAmen haben, dann musste die auch in allen codes usw. berügscihtigen... Falls du in nem code Panzer oda PAnzer2
    findest nenn das einfach in dein Objekt um...
    FAlls das nich hilft, dann poste doch die gm6, dann können wir sie uns ja anschauen, und den Fehler finden.
  • Hatte ich Anfangs auch
    bei mir waren die Panzer nicht auf visible!!!
    schau doch mal nach

    Hier ist mal mein Spiel
    bei Hilfe gibt s nen Eintrag in die Credits!!
    Ich hofffe jemand findet den Fehler und kann mir das mal genauer erklären was ich falsch gemacht habe
    Dateien
    • Testballer.zip

      (26,46 kB, 142 mal heruntergeladen, zuletzt: )
    alles ist möglich, unmögliches dauert nur etwas länger
  • Der größte Fehler liegt bei deinen Sprites.
    Beschneide deine Bilder so (Transform->Resize-Canvas), dass kaum ungenutzte Fläche außenrum ist und setze den Origin (das Kreuz, das die x und y Koordinaten des Sprites bestimmt) in die Mitte. Katastrophal ist das beim Schusssprite, das riesig ist, den Origin im linken oberen Eck hat und irgendwo ein kleines Kügelchen in der Nähe der Mitte hat. Wenn du das verkleinerst und das Kreuzchen genau in der Mitte platzierst, dann wird der Schuss auch nichtmehr irgendwo etliche Pixel schräg unter deinem Panzer erstellt.
    Übrigens würde ich bei den Panzer-Sprites precise collision checking ausstellen, sonst kann man sich beim wenden in der Wand verheddern...
    Ich hoffe ich konnte dir behilflich sein.
    Einige meiner Spiele:
  • Original von interceptor
    Der größte Fehler liegt bei deinen Sprites.
    Beschneide deine Bilder so (Transform->Resize-Canvas), dass kaum ungenutzte Fläche außenrum ist und setze den Origin (das Kreuz, das die x und y Koordinaten des Sprites bestimmt) in die Mitte. Katastrophal ist das beim Schusssprite, das riesig ist, den Origin im linken oberen Eck hat und irgendwo ein kleines Kügelchen in der Nähe der Mitte hat. Wenn du das verkleinerst und das Kreuzchen genau in der Mitte platzierst, dann wird der Schuss auch nichtmehr irgendwo etliche Pixel schräg unter deinem Panzer erstellt.
    Übrigens würde ich bei den Panzer-Sprites precise collision checking ausstellen, sonst kann man sich beim wenden in der Wand verheddern...
    Ich hoffe ich konnte dir behilflich sein.


    Versteh nur Banhof kannst du das vielleicht en bissel genauer erkläre???
    Oder des für mich mache????? :?:
    Wär echt nett!!!
    wie gesagt ich bin totaler nOob
    alles ist möglich, unmögliches dauert nur etwas länger

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

  • .








    Du musst die Größe deiner Sprites an die größe der Grafik anpassen, die du reingezeichnet hast (ich schreib ja auch nicht erst ab der 10. Zeile in einem Beitrag, das wäre doch Platzverschwendung...)
    Konkret: sprite8 hat die Größe 162x160 und enthält eine Grafik die vielleicht 6x6 Pixel groß ist. Das ist aber noch nicht mal das eigentliche Problem. Theoretisch kannst du auch dieses übergroße Sprite hernehmen(es braucht halt mehr Speicherplatz). Nur musst du den Origin (den Ausgangspunkt für die Koordinaten deiner Objekte) richtig setzen. Das kannst du am einfachsten machen, wenn du auf sprite8 doppelklickst und im sich öffnenden "Sprite Properties"-Fenster in der rechts eingeblendeten Ansicht deines Sprites an die Stelle klickst wo sich die Mitte der Grafik befindet.
    Einige meiner Spiele:
  • Original von interceptor
    .








    Du musst die Größe deiner Sprites an die größe der Grafik anpassen, die du reingezeichnet hast (ich schreib ja auch nicht erst ab der 10. Zeile in einem Beitrag, das wäre doch Platzverschwendung...)
    Konkret: sprite8 hat die Größe 162x160 und enthält eine Grafik die vielleicht 6x6 Pixel groß ist. Das ist aber noch nicht mal das eigentliche Problem. Theoretisch kannst du auch dieses übergroße Sprite hernehmen(es braucht halt mehr Speicherplatz). Nur musst du den Origin (den Ausgangspunkt für die Koordinaten deiner Objekte) richtig setzen. Das kannst du am einfachsten machen, wenn du auf sprite8 doppelklickst und im sich öffnenden "Sprite Properties"-Fenster in der rechts eingeblendeten Ansicht deines Sprites an die Stelle klickst wo sich die Mitte der Grafik befindet.


    Nachdem ich das gemacht hab erscheint OBJECT????/Sprite8 immer über dem "Panzer"
    und fliegt nur nach rechts???
    Diesy ist nicht ganz die Lösung meines Problems aber ich denke dies ist ein äußerst wichtiger Schritt in Richtung ZIEL
    alles ist möglich, unmögliches dauert nur etwas länger
  • Du musst die Sprites des Panzers natürlich auch noch beschneiden und den Origin zentrieren...
    und schreib bei deiner Create_instance_with_motion-Aktion (wär jetzt ein Icon praktisch :D) unter "direction" direction rein. Dann übernimmt das erstellte Objekt die Richtung des Panzers.
    Einige meiner Spiele:
  • Hab jetzt geschaff,dass der Panzer aus der Kanone schießt
    aber nur nach unten???????????
    Was mein st du mit beschneiden und Origin-Werte???
    Der Panzer kann S

    Er macjt jetz alle Gegner platt


    kurz:
    ich hab s geschaffT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Danke für eure Hilfe und das opfern eurer Nervern
    alles ist möglich, unmögliches dauert nur etwas länger

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

  • Kein Problem, hast ja jetzt einen Haufen auf einmal gelernt (auch wie man Posts editet um einem Doppelpost vorzubeugen). Bleib dran, probier rum, lies in der Hilfe nach oder frage hier im Forum, dann wirst du gegen den Gamemaker schon die Oberhand behalten. :D
    Einige meiner Spiele: