Objekte an den "Bildschirm" heften

  • GM 8

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

  • Objekte an den "Bildschirm" heften

    Huhu alle zusammen,
    ich habe eine Frage. Ich habe eine Map, diese Map ist jedoch größer als das was der Spieler nachher zusehen bekommt. Daher bewegt sich der "Bildschirm" später also mal über die Map. Es gibt nun jedoch einige Objekte, die an ihrem festen Platz am Bildschirm bleiben sollen, beispielsweise das Interface.
    Gab es nicht Koordinationsvariablen, die das erfüllen?

    Ich hab lange nicht mehr damit gearbeitet. Und Enstschuldigung schonmal für diese Laien-sprache :D
    Vielen Dank für die Hilfe!

    Gruß
    Naibaf
    True story!
  • Ja genau, danke danke :) Ich erinnere mich :P
    GIbt es eine Möglichkeit den "Bildschirm" selbstständig zu bewegen?
    Also zu sagen if "das und das" move "Bildschirm 3 nach rechts"

    Ich habe die pro-Version.

    Danke nochmals

    und achja: gibt es irgendwie eine schöne Übersicht über alle festen Variablen? Ich steige da nicht so ganz durch, ich habe vorher mit dem rpg-maker gearbeitet. da definiere ich variablen ja über ein einfaches menü. wie sehen hier die variablen genau aus und wie definiere ich sie?
    stimmt es, dass wenn ich eine variable haben möchte, die nur innerhalb des objektes gilt, nenne ich sie einfach:
    ichbineinevariable
    und wenn sie im ganzen spiel gelten soll:
    global.ichbineinevariable
    Oder wie schaut das aus? Und wie setze ich sie genau fest? ich finde, sie sind das wichtigste Werkzeug, ich liebe sie ^^ aber ich steig noch nicht ganz durch :D

    grüße
    naibaf
    True story!
  • naibaf77 schrieb:

    und achja: gibt es irgendwie eine schöne Übersicht über alle festen Variablen? Ich steige da nicht so ganz durch, ich habe vorher mit dem rpg-maker gearbeitet. da definiere ich variablen ja über ein einfaches menü.

    Ja, F1 drücken, die Hilfe.

    naibaf77 schrieb:

    wie sehen hier die variablen genau aus und wie definiere ich sie?
    stimmt es, dass wenn ich eine variable haben möchte, die nur innerhalb des objektes gilt, nenne ich sie einfach:
    ichbineinevariable

    Stimmt, dies wäre eine Variable die nur in einen Objekt gilt. Sie kann aber auchg mit von anderen Objekten abgerufen werden (mehr dazu siehe nächsten Quote-Kommentar)

    naibaf77 schrieb:

    und wenn sie im ganzen spiel gelten soll:
    global.ichbineinevariable

    Ja dies geht. Diese Varaiblen überleben auch einen Raumwechsel wenn sie einmal definiert sind. Du kannst aber auch Variablen in bestimmten Objekten ansprechen. Das geht entweder mit einer Objekt-ID oder der Objekt-Index.
    Object-ID: spricht das Objekt mit der ID an, diese ist Variable und wird vom Spiel im Create-Moment festgelegt und kann Objektintern abgefragt werden mit der Variable id
    Object-Index: spricht alle Objekte mit dem Index an, diese ist fest z.B. obj_object1 und kann Objektintern abgefragt werden mit der Variable object_index

    naibaf77 schrieb:

    Oder wie schaut das aus? Und wie setze ich sie genau fest? ich finde, sie sind das wichtigste Werkzeug, ich liebe sie ^^ aber ich steig noch nicht ganz durch :D

    Ja, sind sie auch mit! Dienen halt halt den Informationsfluss.
  • Okay, danke für die Info's. Ich werde das mal versuchen umzusetzen und schaun, ob das alles so klappt wie ich es mir vorstelle :)

    Gruß
    naibaf

    edit:
    Okay, ich bekomme es nicht hin. Hmm also ich möchte folgendes:
    Wie in einem Strategiespiel möchte ich, dass wenn ich mit der Maus an den rechten Rand gehe, sich die Map weiterbewegt. Nach links genauso. Dazu habe ich 2 unsichtbare Rechtecke erstellt, die ich an den linken und rechten Rand gesetzt habe. Nun sollen diese beiden Rechtecke mit view_xview und view_yview immer rechts und links am Bildschirm bleiben, aber irgendwie weiß ich nicht genau wie ich das jetzt anstellen soll :D
    Als zweites soll sich mein Bildschirm, wenn meine Maus auf dem Rechteck ist, weiter nach rechts, bzw nach links bewegen über die Map. Versteht ihr was ich meine? :D Auch dazu finde ich nirgends Befehle.
    Wär super wenn ihr mir das Einsteigerfreundlich erklären könntet :/

    Danke! :)
    True story!

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

  • Dazu brauchst du keine Rechtecke. Füge diesen Code in das Step-Event eines Objektes ein (am besten das, welches das Spiel verwaltet)

    GML-Quellcode

    1. if (mouse_x > view_xview + view_wview - 32) // Wenn die x-Position des Mauscursors größer ist als die x-Position des Views und dessen Breite - 32 (damit man nicht aus dem Spielfenster rausmuss, um zu scrollen)...
    2. view_xview += 4; // ...bewege den View auf der x-Achse um 4px nach rechts.
    3. //Dasselbe auch für die andere Richtung
    4. if (mouse_x < view_xview + 32)
    5. view_xview -= 4;
    6. //Und das ganze noch für die y-Koordinate. das solltest du hinkriegen ;)

    © 2008 by Teamgrill Productions
  • Dankeschön, das werde ich gleich einfügen.

    Hey das skripten macht ja richtig Spass :D

    Ich habe das mal erweitert:

    Quellcode

    1. if (view_xview > 1024)
    2. view_xview = 1024;
    3. if (view_xview < 1024)
    4. if (mouse_x > view_xview + view_wview - 50)
    5. view_xview += 8;
    6. if (view_xview < 1024)
    7. if (mouse_x > view_xview + view_wview - 100)
    8. view_xview += 4;
    9. // Ende Bewegung nach Rechts
    10. if (view_xview < 0)
    11. view_xview = 0;
    12. if (view_xview > 0)
    13. if (mouse_x < view_xview + 50)
    14. view_xview -= 8;
    15. if (view_xview > 0)
    16. if (mouse_x < view_xview + 100)
    17. view_xview -= 4;
    18. // Ende Bewegung nach Links
    Alles anzeigen


    Das klappt schon so ganz gut, wenn ich die Abstufungen jetzt noch verfeinere dann funktioniert das schon sehr professionell und flüssig :D
    aber eine kleine frage noch. wie mache ich diese if - else befehle, sodass ich einem if viele neue dinge zuordnen kann und auch einen else zuordnen kann und wie mache ich das, dass ich hinterher genau weiß, dieses "else" gehört zu diesem "if" und so weiter :D
    True story!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von naibaf77 ()