Kameraproblem

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

  • Kameraproblem

    Hallo,

    Wie kann man machen, dass während des Spiel die Kamera nicht mehr dem Hauptcharakter folgt, sondern einem unsichtbaren Objekt? (Benötige dies für Zwischensequenzen)

    Und wie kann man die Steuerung unterbrechen, d.h. die Figur bleibt stehen und lässt sich nicht mehr bewegen.

    Zuletzt:

    Wie kann man machen, dass die Kamera immer in der Mitte des Hauptcharakters bleibt? Ich meine in einem RPG, also eine Draufsicht. Bei mir folgt die Kamera nur, wenn die Figur ganz an den Rand kommt und das ist unübersichtlich.

    Thx im Vorraus.
  • Nimm einen anderen View dafür, und stell es von vorneherein so ein, dass dieser andere View dem unsichtbaren Objekt folgt.

    (Ja, mit irgendeinem code kann man auch das Objekt so ändern, aber den möcht ich jetzt nicht raussuchen. :P)
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • view_object[Nummer des Views] enthält das Objekt dem der View folgt. Dieser Variable muss nur das neue Objekt zugeordnet werden und schon folgt er diesem.
    Für die Eingabesperre solltest du die Bearbeitung der Eingaben von einer Variable abhängig machen, die du dann einfach umstellst.
    Für das dritte musst du den Rand um dein Objekt vergrößern, dazu gehst du im Raumeditor auf View und trägst unter following object bei hborder und vborder die Ränder ein, die um das Objekt bleiben sollen wenn es sich bewegt. In deinem Fall wäre das (Raumbreite-Objektbreite)/2 bzw. (Raumhöhe-Objekthöhe)/2.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • ich mach es bei mir immer so
    beim hauptcharacter ins draw event

    GML-Quellcode

    1. view_xview[0]=x-320
    2. view_yview[0]=y-240

    oder

    GML-Quellcode

    1. view_xview[0]=x-320
    2. view_yview[0]=y-240
    3. if view_xview[0]<0
    4. {
    5. view_xview[0]=0
    6. }
    7. if view_xview[0]>room_width-640
    8. {
    9. view_xview[0]=room_width-640
    10. }
    11. if view_yview[0]<0
    12. {
    13. view_yview[0]=0
    14. }
    15. if view_yview[0]>room_height-480
    16. {
    17. view_yview[0]=room_height-480
    18. }
    Alles anzeigen


    und wenn du machen willst das er einen unsichbaren object folg machst du den script ins draw event von dem unsichbaren object
    (es geht auch ins end step event)
    Die Schönheit liegt im Auge des Betrachters :D

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

  • Original von Windapple
    Für die Eingabesperre solltest du die Bearbeitung der Eingaben von einer Variable abhängig machen, die du dann einfach umstellst.


    Hm, das ist zu umständlich. Es muss doch eine ganz simple Lösung im Gamemaker geben, oder?

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

  • hab ich eigentlich ganz leicht hingekriegt ;)

    stelle erstmal beim room-editor 2 views ein, eine für den spieler, eine fürs objekt.
    Dann machst du eine Variable (z.B.: view). Wenn die Variable false ist (also wenn der Spieler im Bild ist) machst du:

    GML-Quellcode

    1. view_visible[0] = true;
    2. view_visible[1] = false;


    andernfalls:

    GML-Quellcode

    1. view_visible[0] = false;
    2. view_visible[1] = true;


    Das sollte hinhauen ;)
  • Ich glaub was simpleres als Windapples vorschlag gibt es nicht und so kompliziert/schwer isses doch auch nicht...
    wenn du die steuerung in nem code im stepevent gemacht hast reicht es ja wenn du diese Pasage umklammerst und davor ne Bedingung setzt und wenn sich der spieler nciht mehr bewegen darf dann stelltste dei bedingung halt auf ungültig ;)
    Falls du für die Steuerung die einzelnen Tastenevente benutzt hast, dann musste halt dort überall die Abfrage einbauen...
  • Original von Mad
    hab ich eigentlich ganz leicht hingekriegt ;)

    stelle erstmal beim room-editor 2 views ein, eine für den spieler, eine fürs objekt.
    Dann machst du eine Variable (z.B.: view). Wenn die Variable false ist (also wenn der Spieler im Bild ist) machst du:

    GML-Quellcode

    1. view_visible[0] = true;
    2. view_visible[1] = false;


    andernfalls:

    GML-Quellcode

    1. view_visible[0] = false;
    2. view_visible[1] = true;


    Das sollte hinhauen ;)



    Das macht noch Probleme. Bei mir kommt ein schwarzer Bildschirm.... :(

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