scrolling ?

  • Ich habe mir ein paar Example Dateien mit scrollenen Spielen angesehen aber bin bisher nicht dahinter gekommen wie man selbst überhaout ein scrollendes Spielfeld erstellen kann.

    Bei dem Plattform Example welches auf der offiziellen Game Maker Seite zum runterladen angeboten wird werden die Sprites und Objekte nur verkleinert gezeichnet und später aufgepustet so das der ganze Level trotzdem auf ein Bild gepasst hat.
    Das ist zwar eine nette Lösung hat aber den Nachteil das die Sprites dafür etwas klobig wirken und das Feld stark begrenzt ist.
    Wenn man die Level beispielweise grösser (und ich meine um einiges grösser) machen wollte müsste man halt dementsprechen die Sprites verkleinern um diese später zu vergrössern was dann nur noch schlecht aussieht.

    im 1943 Example war das kein wirkliches Scrolling sondern nur die Illusion da die Hintergrund Landschaft nur an einem vorbeigezogen ist und die Inseln per Zufall kamen.Ist aber nicht so praktisch wenn man keine Zufalls sondern eine selbst editierte Level haben will.

    Im Example von Gradius habe ich gar nichts verstanden da ich weder die Höhlenlevel noch die Objekte dazu finden konnte.Es ist mir immer noch ein Rätsel wo die ganzen Sachen überhaupt herkommen.

    Ich habe auch diverse andere Example Dateien durchgesehen habe aber nichts gefunden wo wirklich ein komplettes Leveldesign war es sei denn es war so kurz das es eben wie im ersten Beispiel zusammen gesetzt war.

    Daher meine Frage:
    Wie bekomme ich mit dem Game Maker ein scrollendes Spielfeld hin in dem ich die Objekte auch selber setzen kann ohne das ich das von Vorneherein so stark begrenzen muss ?
  • benutz doch bei den roomeinstellungen ein view in der grösse deiner bildschirmauflösung und geb unter object following dein player_obj an dann kannst du den room so gross machen wie du willst.

    ach ja bei den views "visible when room starts" und "enable the use of views" nicht vergessen... ( sry ^^)

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

  • Hat funktioniert,
    Danke

    Nachtrag:
    Jetzt hab ich das Problem das das Scrolling meiner Figur folgen soll aber dies immer erst macht sobald mein Objekt das Ende des Bildes erreicht hat was etwas unübersichtlich ist da man das geschehen vor einem nicht mehr sehen kann.

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

  • Bei View steht unten Hbor und Vbor bei Hbor musst du einfach ne größere Zahl eingeben.
    Hbor wird in pixel angegeben wie viele pixel zwischen deiner figur und den Rand sein soll.
    Hoffe die erklärung ist gut genug
    Face in the wind, we're riding the storm
    We'll stay our course whatever will come
    ~~ Stay (Running) Wild ~~
  • Das mit der Begrenzung hat soweit funktioniert, allerdings hat sich jetzt das Problem aufgetaucht das mein Player blitzschnell zwischen der oberen und der unten gesetzten Position hin und her springt.

    Ich hab das folgendermassen gemacht:


    Enable on Views : an
    View: 0
    Left:0 Top:0
    HBor:0 Vbor:350
    HSp: -1 VSp:-1

    object to Follow:player

    Das Spiel soll übrigens von oben nach unten scrollen.

    Nachdem ich bei Vbor den Abstand zwischen dem Player und dem oberen Bildschirmrand vergrössert habe und das Spiel startete, fuhr mein Wagen an den oberen Bildschirmrand und sprang dann zu der Position die ich bei VBor angegeben habe und dann wieder zurück was sich dann die ganze Zeit wiederholt.

    Ich habe erst gedacht das das viellcieht daran liegen könnte das der Wagen zu schnell fährt und versuchte bei VSp die Scrollgeschwindigkeit anzupassen.

    Nachdem ich dann einen höheren VSPWert im + Bereich angegeben hatte scrollte das Spielfeld in die falsche Richtung allerdings konnte ich im Minusbereich keine tiefere Zahl als -1 eingeben.
  • -1 heißt nur,dass der View sofort folgt. Sprich mit der gleichen Geschwindigkeit wie das zu verfolgende Objekt. Wenns so rumzappelt, dann mach doch den Wert bei vbor so lange kleiner bis es eben nicht mehr zappelt.

    EDIT: da war wieder einer schneller...
    Einige meiner Spiele:

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

  • Original von cad2525
    lass den vsp-wert mal auf -1 und verringer schrittweise den wert für Vbor.
    wenn Vbor. + Spritehöhe grösser ist als 1/2 View gibts probleme.

    edit: @ Interceptor ^^



    Wie ich das jetzt verstanden habe ist das dann generell nicht möglich die Figur dem sich das Scrolling anpassen soll im unteren Bildschirmbereich zu lassen ?

    Habe jetzt stückweise von 350 - 230 alle Schritte durch und selbst wenn das jetzt geklappt hätte wäre die Figur schon wieder zu hoch am Bildschirmrand um noch irgendwelchen Objekten rechtzeitig ausweichen zu können.

    Eine andere Möglichkeit das zu umgehen gibt es nicht ?
  • Stell mal das Verfolgen des Objekts aus und schreib mal ins Step Event deines Players:

    Quellcode

    1. view_xview[0]=x-irgendwas;
    2. view_yview[0]=y-irgendwasanderes;


    Vielleicht hat das den gewünschten Effekt...
    Einige meiner Spiele:
  • wenn du die object follow funktion des views benutzt ist das object immer in der mitte des views.
    hast bis 230 getestet? naja ich schätze aber dein sprite ist grösser als 10 pix.
    -> wenn view 640*480 gross ist dann muss dein vbor. 240 - spritehöhe sein also bei einem 32*32 sprite muss vbor. 208 sein.

    du willst dein auto am unteren rand haben? dann wirst du den view schon "von Hand" scrollen müssen denn die eingebaute funktion hält das object immer in der mitte vom view.

    setz einfach object to follow auf none und beweg den view immer wenn sich dein auto auch bewegt.

    die idee von interceptor ist gut.
    versuchs mal mit:
    [PHP]
    {
    view_yview[0]=deinauto_y - y_abstand_des_autos_von_der_mitte;
    }
    [/PHP]
    im stepevent des autos.

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

  • Bei mir hat leider keiner von beiden Scripten funktioniert.
    Be idem ersten sah ich lediglich nur das Endbild des Levels und bei dem zweiten ist das Programm gar nicht erst gestartet.

    Hab das Teil auch wieder gecancelt.
    ich glaub der Game Maker ist definitiv nichts für mich.

    Ich möchte mich aber nochmal bei allen Leuten bedanken die mir bei meinen anfänglichen Versuchen geholfen haben.

    Grüsse
    Monty
  • Nix da!
    Ich weiß nicht genau, wie die Variablen jetzt im 6er heißen, aber du nimmst jetzt die x und y werte der view, die angeben, wo die View sich jetzt grade befindet (NICHT, wo sie plaziert ist):
    Lösch die Sachen mit hbor und vbor wieder (auf 0 setzen).

    Wenns vertikal scrollt:
    view_y = deinauto.y - 400;
  • Ah, ich hab da noch ein Problem, ich hab den Punktestand und die Leben auf eine Feste Pusition im Bild gezeichnet, wenn ich nun scrolle, scrollt diese mit aus dem Bild, kann man die an eine feste stelle setzen?

    Edit

    Bin selbst draufgekommen:

    GML-Quellcode

    1. view_xview+*pixelanzahl vom linken rand*
    2. view_yview+*pixelanzahl vom oberen rand*

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