Hello, Guest the thread was viewed210 times and contains 5 replies

last post from TD1334 at the

Sprite Multiplexer in Basic65

  • Hallöle,


    ich versuche mehrere Sprites für einen Weltraum Shooter dazustellen. Ich weiß, dass ich normalerweise nur 8 Sprites zur Verfügung habe.

    Da fällt mir nur ein Sprite Multiplexer ein, aber wie programmiert man so einen in Basic65?

    Ist es überhaupt sinnvoll, oder wird es dann zu langsam?

    Gruß

    Michael

    *** Bunt ist das Dasein und granatenstark ***

    *MEGA65**Commander X16**C16**C16 Plus 4**C64**U64 Elite**The C64 Mini**Mist**Mister*

    *Vampire V4 SA**A500**A600**Atari 800 XL**The 400 Mini**Atari ST 520**Atari STE 520*

    *Atari STFM 1040**The Spectrum*

  • Es gibt das Kommando VSYNC, mit dem kannst Du z.B. warten, bis die obere Bildschirmhaelfte gezeichnet wurde, dann die Sprite-Positionen aendern, und dann wird der restliche Screen mit den neuen Sprite-Positionen gezeichnet. Ob das in BASIC65 schnell genug ist, muesste man ausprobieren, aber prinzipiell muesste das funktionieren.

  • Hmm, aber ist das dann nicht das gleiche Sprite? Also, wenn ich z.B. Sprite 1 oben zeichne und dann auf VSYNC warte und wenn die obere Hälfte gezeichnet wurde unten mit einer anderen Position nochmal zeichne habe ich dann nicht 2 mal Sprite 1 auf dem Bildschirm? Wie mach ich dann eine Kollisionsabfrage? Es ist dann doch dasselbe Sprite nur an 2 Positionen, oder verstehe ich was falsch?

    Gruß

    Michael

    *** Bunt ist das Dasein und granatenstark ***

    *MEGA65**Commander X16**C16**C16 Plus 4**C64**U64 Elite**The C64 Mini**Mist**Mister*

    *Vampire V4 SA**A500**A600**Atari 800 XL**The 400 Mini**Atari ST 520**Atari STE 520*

    *Atari STFM 1040**The Spectrum*

  • Ich habe hier mal mit S-BASIC 16 Sprites gleichzeitig hinbekommen. Aber das ist ein Standbild, wo sonst nichts passiert. :D


    Mehr als 8 Sprites gleichzeitig sichtbar in einem BASIC-Spiel zu verwenden, würde ich kurz und bündig sagen: Vergiss es! Auch mit 40 MHz sehe ich keine Chance in BASIC noch ein Spiel herum zu programmieren. Viel zu langsam! ;)

  • OK, das ist doch mal eine Aussage, dann muss ich das Spiel anders aufbauen als gedacht. Schade, aber das hatte ich schon befürchtet.

    Gruß

    Michael

    *** Bunt ist das Dasein und granatenstark ***

    *MEGA65**Commander X16**C16**C16 Plus 4**C64**U64 Elite**The C64 Mini**Mist**Mister*

    *Vampire V4 SA**A500**A600**Atari 800 XL**The 400 Mini**Atari ST 520**Atari STE 520*

    *Atari STFM 1040**The Spectrum*

  • Ich habe hier mal mit S-BASIC 16 Sprites gleichzeitig hinbekommen. Aber das ist ein Standbild, wo sonst nichts passiert. :D


    Mehr als 8 Sprites gleichzeitig sichtbar in einem BASIC-Spiel zu verwenden, würde ich kurz und bündig sagen: Vergiss es! Auch mit 40 MHz sehe ich keine Chance in BASIC noch ein Spiel herum zu programmieren. Viel zu langsam! ;)

    Es bleibt nicht viel Rasterzeit übrig.

    Ich habe in deinem Beispiel mal farblich markiert wieviel Zeit es kostet die Sprites zu positionieren.

    Und das muss in jedem Rasterdurchlauf so passieren, sonst fängt es an zu flackern.