View & Background problem

  • View & Background problem

    Hi

    Quellcode

    1. {
    2. background_x[0] = view_x[0];
    3. background_y[0] = view_y[0];
    4. }



    so ist der code im stepevent für mein char. (da der in jedem level ist).
    nur irgentwie bewegt sich der background keinbischen mit dem view-fenster mit. Ich habe auch schon probiert die nullen weg zu lassen nützt aber nichts, was mache ich falsch?
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • RE: View & Background problem

    Es muss so sein:

    Quellcode

    1. {
    2. background_x[0] = view_left[0];
    3. background_y[0] = view_top[0];
    4. }


    View_x und view_y bezeichnen die Position des Views auf dem Monitor, View_left und View_top die Position des Views im Raum.
    "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
  • Dann kannst du es so nicht angehen. Der Hintergrund wird immer zuerst gezeichnet, also bevor die Position verändert wird.
    Entferne den Hintergrund aus dem Raum und gebe ein extra Object hinzu, in dessen Drawevent du folgendes reinschreibst:

    Quellcode

    1. draw_background(*background_name*,view_left[0],view_top[0]);
    "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
  • hehe....

    1 problem gelöst 2 bekommen,
    der background folgt nun zwar korrekt dem view, doch er ist irgentwie kein background im eigentlichen sinne mehr da er manche gegenstände überdeckt.
    2. wie knn ich den einen background wieder löschen? bei mir (v.5.3) kann ich bei background (im room editor) nur meine 2 backgrounds aussuchen aber nicht "no-background" oder ähnliches
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Zu 1.: Geb dem Object, das den Background zeichnet, die Depth 1000000.

    Zu 2.: Den kann man leider nicht mehr "entfernen". Aber wenn du das Häkchen bei "visible when room starts" entfernst ist er unsichtbar.
    "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
  • tu deinen Code:

    {
    background_x[0] = view_left[0];
    background_y[0] = view_top[0];
    }

    ins end step event

    EDIT @Wa: Warum einfach wenns auch schwer geht... :D:hau:

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

  • Original von Agnahim
    tu deinen Code:

    {
    background_x[0] = view_left[0];
    background_y[0] = view_top[0];
    }

    ins end step event

    EDIT @Wa: Warum einfach wenns auch schwer geht... :D:hau:


    Egal in welchem Event es ist. Der Hintergrund wird erst gezeichnet, danach werden überhaupt erst Events ausgeführt. Dadurch entsteht das Nachwandern, das Bild wird nach dem Zeichnen bewegt. Dem kann man im Moment nur entgegenwirken, indem man im Draw Event direkt mit dem passenden Koordinaten zeichnet.
    "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
  • Original von MewXsie werden sozusagen als erstes draw event gezeichnet.


    Hm... dann dürfte aber, wenn man die Koordinaten im Begin step event reinhaut dieses Nachwandern aber nicht sein, oder? Oder wie?
    "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
  • Wie wärs mit was in der Art:
    {
    background_x[0] = view_left[0]+main_character.hspeed;
    background_y[0] = view_top[0]+main_character.vspeed;
    }

    oder so ähnlich, nur ein Gedanke....
    Einige meiner Spiele: