Einige Fragen zur Umsetzung

  • GM 8

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

  • Einige Fragen zur Umsetzung

    Hallo, ich arbeite gerade an meinem projekt.

    Ich möchte, wenn ich inem objekt in einer gewissen range näher komme und enter drücke, dass mir das leben und die ID genau VON DIESEM objekt ausgegeben wird, nur von diesem.

    problem: ich habe ein objekt erstellt (zombie_1_obj) ----> dieses objekt gibt es auf der karte aber 10 mal, und alle sollen indiviuelle leben haben und solln individuell "auslesbar sein"

    2. Problem: ich habe karten, die ich sammeln kann, und möchte sie am rechten bildschirmrand zeigen, dabei das problem: es muss ein menü sein, da jede karte ja in unterschiedlicher reihenfolge gefunden werden kann..

    3. und letztes problem: die objkte sollen, wenn sie am zug sind via path immer zug für zug laufen, das heißt immer 32 pixel, kurz warten, weitere 32 pixel und das eben auch so, dass sie solid blöcke umgehen...


    ja das sind mein probleme, daran sitze ich schon 2 tage um mir was zu überlegen, aber in GML und so bin ich noch nicht so firm, und da man bestimmte kniffe noch nicht raus hat, weis man natürlich auch nicht, nach welchen befehlen man suchen soll... danke XD

    PS: ich nutze Game Maker Studio
  • Ich möchte, wenn ich inem objekt in einer gewissen range näher komme und enter drücke, dass mir das leben und die ID genau VON DIESEM objekt ausgegeben wird, nur von diesem.
    :event_step: Step-Event vom Spieler/Controler:

    GML-Quellcode

    1. if(keyboard_check_pressed(vk_enter)){ inst = instance_nearest(x,y,obj_monster) // Das näheste obj_monster an dir dist = point_distance(x,y,inst.x,inst.y) // Distanz zwischen dir und dem obj_monster if(dist < max_range) // Wenn die Distanz kleiner als die maximale reichweite ist ( musst du im Create Event definieren ) dann wird die MessageBox aufgerufen mit dem Leben und der ID { show_message("Leben: " + string(inst.live) + "#ID: " + string(inst.id)) }}



    problem: ich habe ein objekt erstellt (zombie_1_obj) ----> dieses objekt gibt es auf der karte aber 10 mal, und alle sollen indiviuelle leben haben und solln individuell "auslesbar sein"
    haben sie doch normalerweise?
    kommt aber auch ganz darauf an wie du die programmiert hast.
    Sollte es der Fall sein, dass sie mit einer Kugel kollidieren sollen dann machst du ein :event_collision: Event mit deiner Waffe und lässt denen Leben abziehen.


    2. Problem: ich habe karten, die ich sammeln kann, und möchte sie am rechten bildschirmrand zeigen, dabei das problem: es muss ein menü sein, da jede karte ja in unterschiedlicher reihenfolge gefunden werden kann..
    Wie meinst du das genau mit "Menü"?
    Eine Auswahl? oder doch nur eine Liste wo es sortiert wird nach Reihenfolge wie du sie gefunden hast?



    3. und letztes problem: die objkte sollen, wenn sie am zug sind via path immer zug für zug laufen, das heißt immer 32 pixel, kurz warten, weitere 32 pixel und das eben auch so, dass sie solid blöcke umgehen...
    Ist es also sozusagen Rundenbasierend? dann würde ich an deiner Stelle Arlame benutzen und immer einen dann auslösen wenn die Zombies an der Reihe sind. Zudem bewegen sie sich Gridartig ( Kästchen für Kästchen wo ein Kästchen eine Größe von 32x32 hat ) oder doch mehr "Flüssig"?

    MfG.
  • Danke für deine Hilfe schonmal ^^

    naja wenn ich in der range eines zombies bin (zb 64 pixel (2 felder) range) und enter drücke soll das leben des zombies abgezogen werden, dem ich am nächsten bin und in dieser richtung schaue.

    die bewegung soll wie auf einem grid sein, also like schach oder so ^^

    Gibt es für die Karten (oder auch items) so eine art Liste? zb add list ... und so ^^
  • naja wenn ich in der range eines zombies bin (zb 64 pixel (2 felder) range) und enter drücke soll das leben des zombies abgezogen werden, dem ich am nächsten bin und in dieser richtung schaue.
    Dies könnte man durch grids lösen.
    Beispiel:
    Du erstellst ein Grid wo die ganze Map drinne gespeichert ist, dazu erstellst du einen Update-Script welchen du nach jedem Zug ausführst damit jeder an seiner richtigen Position ist. Damit die Zombies zu dir laufen kannst du dir ja dieses Tutorial von Glowing Orb angucken:
    Wegfindung mit den "mp-grid" - Funktionen
    dann würde ich eine Variable in den Spieler einfügen welche du am besten "dir" nennst.
    Nun gibt's 4 verschiedene Richtungen:
    0 => Nord
    1 => Ost
    2 => Süd
    3 => West
    Wenn der Spieler am Zug ist kannst du in das :event_keypress: Press-Enter-Event oder in das Script einen Code packen
    welcher überprüft wo sich der nächste Zombie befindet, dafür müsstest du die Position des Spielers zum Grid-Verhältnis anpassen und gucken ob
    ein Zombie im Umfeld von 2 Feldern vorhanden ist.
    Ich glaub ein voller Code dafür wäre zu viel, außerdem musst du ja lernen damit umzugehen. Jedoch hoffe ich das ich dir etwas entgegen kommen konnte und du verstehst was ich meine ;)


    Gibt es für die Karten (oder auch items) so eine art Liste? zb add list ... und so ^^
    ja klar:

    GML-Quellcode

    1. ds_list_create()


    die funktion solltest du dir angucken und die dazugehörigen, du kannst aber auch Arrays verwenden ;)

    MfG,
    Xor