scrollen "rückln" bei view

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

  • scrollen "rückln" bei view

    hallo!

    slotcars eins ist tot! naja, wie versprochen werd ich demnächst den code irgendwo uploaden, vielleicht macht ja wer weiter.


    so nun aber zum problem:

    arbeite gerade an einem tunnelfighter, arbeitsttitel
    descent2D - this is not the greatest game in the world this is just a tribute

    so mein schiff fliegt im room, verfolgt von einem view, so das mein schiff immer in der mitte ist,
    wenn man jetzt seitwärts fliegt dann biginnen die level tiles, vorwiegend die senkrechten wände zu scrollen, sind dann versetzt und es flimmert grauslich.......

    schiff speed reduzieren bringt net viel

    hat vielleicht irgendwer eine idee bzw. antwort parat??

    mfg
    grausi

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

  • So weit ich weiß liegt das an deine Grafikkarte. Bei meiner alten Radeon 7000 flimmerten die TIles auch immer, seitdem ich eine neuere habe, kommt das nicht mehr vor. Du könntest aber auch die vielen tiles zu einem größeren tile zusammenkopieren - das half zumindest bei mir. Es wäre vielleicht noch hilfreich, die roomspeed und die FPS Werte während des Spiels zu wissen.

    -gn
    Kaldor - Das erste echte MMORTS
  • Wenn es das ist, was ich denke, dass es das ist, dann wurde das Problem hier schon des öfteren angesprochen.
    Das Problem bei den Viewsettings ist, dass der eingestellte Abstand zu den Rändern, nicht auf das Zentrum des Sprites, sondern auf die jeweiligen Ränder des Sprites bezogen ist.
    Also stellst du beim horizontalen und vertikalen Viewabstand nen kleineren Wert ein oder du verschiebst den view manuell immer so, dass die Spielfigur immer genau in der Mitte ist:
    (Stepevent der Spielfigur)

    GML-Quellcode

    1. view_xview=x-view_wview/2
    2. view_yview=y-view_hview/2

    Wenn du es so machst, musst du die automatische Verfolgung abstellen.
  • ob das sprite genau in der mitte ist ist nicht so wichtig, wann man zum rand fliegt ist es ja auch nicht im zentrum
    wichtiger wäre das ruckln, bzw. scrollen wegzubekommen

    und das kann ja nicht unbedingt an der grafikkarte liegen, schreib ja nicht ein spiel mit 5mb und schreib dann jeden.... wenns rucklt in den computer investieren!

    also gibt s noch vorschläge?
  • das was Trunx geschrieben hat ist die lösung zu deinem problem.
    Wenn der abstand zwischen rand und deinem sprite zu groß ist. spring der die ganze zeit hin und her.
    zb

    view 1024 768
    sprite width 100
    sprite width 100
    mittelpunkt des sprite 50,50
    Hbor 500
    Vbor 500

    so das spiel beginnt.

    das sprite ist auf position x 500,y 500

    das spielt schaut es möchte links einen abstand von 500 , das sprite ist auf 500 aber das sprite ist 50 nach links und rechts breit
    also verschiebt er es um 50 nach rechst jetzt ist das srpite auf 550,500
    das spiel schaut es möschte rechts einen abstand von 500, das sprite ist auf 550 das heist der abstand ist nur 424 deshalb verschiebt er es nach links jetzt ist es aber wieder zu weit links deshalb schiebt er es nach rechts und so weiter und so weiter.

    und das macht er 30 mal pro sekunde (bei einem roomspeed von 30)
    PI 0%(IN PROGRESS)
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]
    [IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII]

    Engine : 0.0 %
    KI : 0.0 %
    Grafik : 0.0%
    Sounds: 0.0 %
    Multiplayer: 0.0%
  • klingt logisch

    klingt logisch

    das raumschiff ist zwar immer in der mitte, aber es gibt noch immer einen versatz
    vielleicht ist das raumschiff zu schnell, oder meine steuerung nicht ganz so toll,

    schiff dreht sich zur maus, vorwärts rückwärts auf der tastatur

    und weil ich eine genaue pixelabfrage haben wollte, und nicht etwa bounce against wall....

    hab ich dann quasi den vektor in eine horizontale und eine vertikale umgerechnet, und zu x und y addiert, und dann schaut man nach ob x, y frei ist, wenn nicht bleibts so wie vorher......

    vielleicht gibts hier einen bereich in der berechnung der mal sagen wir 100 ergibt und im nächsten schritt 101....

    vielleicht sollt ich mal runden....

    probier mal
    danke einstweilen

    ..................
    edit: hat nicht funktioniert......verzweifle schön langsam.......

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

  • Hallo.

    Genau das selbe Problem habe ich auch. Bei mir ist es aber Absicht, dass sich die "Kamera" erst bewegt, wenn sich mein Spielersprite in die Nähe des "View-Endes" begiebt.
    Somit ist die weiter oben genannte Lösung nicht sehr hilfreich.

    Gibt es keinen anderen Trick das umzusetzen?
    Das Problem taucht übrigens auch auf nem top PC mit top Krakka auf - auch auf diversen anderen PC's.

    Es muss doch irgendwie möglich sein...

    Thx schon im Voraus!

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

  • wie hoch ist denn euer room_speed?
    ich konnte bisher alle probleme dieser art durch erhöhen des room_speeds lösen.
    alle meine spiele laufen nurnoch auf 120 fps.. ist meiner meinung nach am angenehmsten.

    gruß
    HIM