Suchergebnisse

Suchergebnisse 101-120 von insgesamt 925.

  • ds_grid mit dem Spiel speichern

    Irrenhaus3 - - Gelöste Fragen

    Beitrag

    1.: Ich geh mal stark davon aus, dass global.datei und datei zwei verschiedene Variablen sind. Vorsicht, nicht durcheinanderwürfeln. 2.: Du musst den String natürlich auch aus der Datei lesen. Beispielsweise so: GML-Quellcode (6 Zeilen) Das Zwischenspeichern in der temporären Variable str kannst du zwar im Prinzip auch weglassen, kriegst damit aber nen unschöneren Klammersalat (und wenn beim Lesen ein Fehler auftritt und dir das Spiel crasht, ist das Rückverfolgen schwieriger als nötig). Zusamme…

  • ds_grid mit dem Spiel speichern

    Irrenhaus3 - - Gelöste Fragen

    Beitrag

    Die Funktionen deiner Wahl heißen ds_grid_write(id) und ds_grid_read(id,string) - erstere macht aus einem bestehenden Grid einen String, den du dann z.B. in einer Textdatei abspeichern kannst und letztere modifiziert ein bestehendes Grid, so dass am Ende genau das vom eingegebenen String beschriebene Grid entsteht. Soll heißen, zum Lesen erstellst du erst ein leeres 1x1-Grid und führst dann ds_grid_read(id dieses grids,aus der savefile gelesener string) aus - dann kriegst du zurück, was du gespe…

  • Woher sollen wir das bitte wissen? Im Zweifelsfall frag die Person, die den Sound gemixt hat - oder, falls du das selbst machst und dir unsicher bist, schreib dem Webmaster ne schnelle Mail und frag den. Das ist mit 99.95% Garantie eine bessere Informationsquelle als wir bunter Haufen hier.

  • Prüf einfach auf diese Variable, die ich "mother" genannt hab, statt auf obj_Gegner. Halt die, in der du die ID des Spawners gespeichert hast. Du hast dich als GML-Fortgeschritten eingeschätzt, drum dachte ich, der Hinweis darauf, dass instance_exists auch direkt instance-IDs akzeptiert, würde ausreichen. Sorry dafür. Tjo, und ansonsten: instance_destroy() akzeptiert keine Parameter. Wenn du eine andere Instanz als die zerstören willst, die die Funktion aufruft, musst du das mit einem with-Konst…

  • Nun... du hast die Lösung für dein Problem grade mehr oder weniger selbst formuliert. Übergib dem Objekt einfach beim Erstellen die id des Objektes, das es erstellt. Und dann fragst du im Step-Event des Schwerts bzw. Schildes ab, ob die Mutterinstanz noch existiert (instance_createexists - oops, typo - kannst du als Parameter auch eine instance-ID übergeben, nicht nur eine object-ID), und wenn nicht, weg damit. Edit: Evtl. mal als Codebeispiel, wie du das beim Erstellen machst. GML-Quellcode (4 …

  • SFXR. Das Ding benutzen seit Jahren ungefähr alle Indie-Games mit Pixellook. Und auch ansonsten kenn ich, zumindest für Platzhaltersounds, nichts besseres.

  • Angenommen, du hast Wandobjekte mit rechteckigen Kollisionsmasken, dann kannst du dieses Verhalten an der Bounding Box dieser Objekte orienteren. Ist das selbe Prinzip, nur dass man diesmal nicht die Raumgrenzen checkt, sondern während der Kollision guckt, welche Bounding-Box-Kante man grade schneidet. Ich hab das Example mal ein wenig abgeändert und wieder angehangen. Du wirst denk ich mal schnell sehen, was ich meine. Edit: Achja, dieser Code wird fehlerhaft arbeiten, wenn die Kollision mit zw…

  • Wenn du für beide Koordinatenachsen separat die korrekten Ausfallswinkel für die jeweiligen Einfallswinkel haben willst, reicht für die x-Komponenten einfach 180-direction - für die y-Komponenten ist es die etwas kompliziertere Formel tan(arctan(direction)*-1). Wenn du dir diese Funktion mal anguckst, siehst du vielleicht schon selbst, warum? Falls nicht: Arcustangens ist insofern schön praktisch, weil sie sich 0.5*pi und -0.5*pi - im Gradmaß 90° und 270° (Edit: eigentlich -90° - aber für direct…

  • Variablen anderer Objekte kannst du mit dem Operator . referenzieren. Das geht dann etwa so: GML-Quellcode (4 Zeilen) War das, was du meintest?

  • the pirate gold map idee

    Irrenhaus3 - - Spieldesign

    Beitrag

    Ich hab das mal ins Spieldesign verschoben - eine "technische" Frage ist das ja immerhin nicht, hier geht's mehr ums Design.

  • Highscore_show geht nicht

    Irrenhaus3 - - Game Maker Allgemein

    Beitrag

    Richtig, in Studio gibt es diese Funktion nicht mehr. Du solltest in der Hilfedatei mal nach "Obsolete Functions" oder sowas suchen, da kannst du dich drüber informieren, welche alten GM-Funktionen in Studio rausgeflogen sind. Das Highscoresystem an sich existiert aber noch, nur eben nicht mehr darstellbar als Message-Box-artiges Popup, das den Rest des Spiels anhält. Dementsprechend kannst du immer noch Scores hinzufügen, löschen, ersetzen etc. - und es gibt die Funktion draw_highscore(x1,y1,x2…

  • In abständen schießen

    Irrenhaus3 - - Technische Fragen

    Beitrag

    Hilft es, wenn ich dir diesen Post hier weiterverlinke?

  • Score je nach Position des Objektes

    Irrenhaus3 - - Gelöste Fragen

    Beitrag

    @nico32222: Ja... Nein. a+=b ist eine Zuweisung, kein Vergleich. Du erhöhst a um b. Was da genau für ein logischer Wert zurückgegeben wird, hängt von der jeweiligen Programmiersprache ab - bei C++ ist es in diesem Fall der Wert b (da kann man dann Sachen machen wie a=b=c=d=4 - und all diese Variablen haben dann den Wert 4); im Game Maker ist es, soweit ich mich recht erinnere, 1. Die Bedingung wär also in jedem Step erfüllt. @ Eddysoulo: Versuch's mal mit dem nützlichen Operator mod - damit kann…

  • Bild bewegen

    Irrenhaus3 - - GameMaker: Studio

    Beitrag

    Öhm, das kann ich jetzt so aber nicht wirklich unterschreiben, Luan. Das Prinzip von Flappy Bird ist jetzt nicht so überragend kompliziert, dass man das nicht auch als Anfänger in Angriff nehmen könnte. Dass es mehrere Tage dauern könnte, ist da eigentlich überhaupt kein Thema - grade wenn man Anfänger ist, dauert's eh immer etwas länger. Warum dann nicht also gleich was machen, womit man einigermaßen was über den GM und die eigenen Lernmethoden lernt, ohne sich gleich in den MMO-Minecraft-Bezah…

  • Die Funktion ist bei move_towards_* schon mit drin. Wenn die Koordinaten schon übereinstimmen, ist die zurückgelegte Länge halt einfach gleich 0. Was hier passiert ist, dass das Objekt sich mit der Geschwindigkeit, sagen wir mal, 2 bewegt. Nun ist die Distanz zu den Mauskoordinaten aber z.B. 1.644 - mit einer Bewegung der Länge 2 schießt man damit etwas übers Ziel hinaus und ist im nächsten Step drum (2-1.644)=0.356 vom Ziel entfernt. Aaaalso wieder Richtung Zielpunkt springen. Und dann wieder. …

  • Mehrere Runner ausführen

    Irrenhaus3 - - GameMaker: Studio

    Beitrag

    Zitat von Larsi: „Bei 8.0 und 8.1 geht das auch nicht, da der ganze GM beim spielen unsichtbar wird.“ Das kann man abschalten. Die entsprechende Checkbox heißt "Hide the designer and wait while the game is running", ist unter File->Preferences zu finden und hat bei mir öfters mal richtig brutale Bugs in 8.1 verursacht, wenn sie aktiv war. Das ging von Speicherzugriffsverletzungen über Grafikfehler bis zu Schaden an der Projektdatei. Ziemlich abstruses Zeug.

  • Die entsprechende Funktion heißt texture_set_interpolation(flag); - entweder false oder true als Parameter. Ist tatsächlich nicht so offensichtlich, wenn man nicht weiß, wonach man suchen muss.

  • Nicht mal ansatzweise. Darum schieß ich mal ins Blaue und behaupte, GML-Quellcode (1 Zeile) könnte sein, was du suchst. Aber mal im Ernst, es ist wirklich wichtig, dass man lernt, sein konkretes Problem gescheit in Worte zu fassen. Alles, was wir hier sehen, ist Text in einem mattblauen Feld. Wir können dir nicht über die Schulter gucken und sagen "Aah, ich versteh schon, was du vorhast. Hier, so und so geht das." Und abgesehen davon, guck vielleicht ein oder zweimal in die Hilfedatei, bevor du …

  • Check Free Area?

    Irrenhaus3 - - Gelöste Fragen

    Beitrag

    all ist übrigens auch ein gültiges Objekt für die collision_* Funktionen.

  • Die Mausposition direkt zu manipulieren, ist im GM nur über window_mouse_set(x,y) möglich - damit kann das Spiel den Mauszeiger quasi "einfangen". Das ist aber nicht unbedingt guter Stil; was du vorhast klingt nach Fadenkreuz, dafür gibt's auch eine schönere Lösung: Du benutzt für dieses Fadenkreuz einfach ein Objekt, das in jedem Step der Maus folgt. Dann kannst du mithilfe der Funktionen min(x1,x2,...), die dir immer den kleinsten gegebenen Wert ermittelt und max(x1,x2,...), die dir den größte…