Hello, Guest the thread was called436 times and contains 2 replays

last post from ZeHa at the

Frage zur Sichtbarkeit von Sprites

  • Hallo,

    mir ist gerade ein eigenartiges Phaenomen eingefallen, welches ich mal waehrend der Entwicklung eines Spiels hatte. Ich hoffe ich gebe es jetzt korrekt wieder, aber in meiner Erinnerung war das folgendermassen:

    - Ich hatte einen IRQ definiert um Spielfeld von Status-Leiste zu trennen
    - Sprites sollen nur innerhalb des Spielfelds gezeichnet werden; sie koennen jedoch das Spielfeld auch in alle 4 Richtungen verlassen
    - Folglich soll das Sprite, wenn es den unteren Spiefeldrand verlaesst, auf Hoehe der Status-Leiste abgeschnitten werden

    Nun habe ich also innerhalb des IRQ-Handlers die Sprite-Sichtbarkeit abgeschalten. Seltsamerweise war das Sprite dann aber immer komplett unsichtbar, d.h. sobald es die Bildschirmzeile ueberschreitet, in der der IRQ ausgeloest wird, wird das gesamte Sprite unsichtbar. Obwohl der Befehl, das Sprite auszuschalten, ja eigentlich erst nach dem Zeichnen der IRQ-Zeile ausgefuehrt wird!

    Die Loesung war dann, nicht die Sprite-Sichtbarkeit abzuschalten, sondern den Sprite-Pointer auf ein leeres Sprite umzulenken. Dann wurde das Sprite, wie erwartet, nur zur Haelfte gezeichnet und unterhalb der IRQ-Zeile abgeschnitten.

    Wie aber kann das passieren, dass das gesamte Sprite unsichtbar wird, wenn man das Sprite abschaltet? Der Befehl, das Sprite abzuschalten, kommt doch erst im IRQ-Handler. Wie kann dann das Sprite schon vor Erreichen der IRQ-Zeile unsichtbar werden?

    Ich hoffe ich erinnere mich korrekt daran, falls das fuer euch nicht nachvollziehbar klingen sollte. Notfalls muss ich das nochmal nachstellen...


    Habe gerade nochmal nachgeschaut, es war wohl doch etwas anders :D
    Das Sprite wurde NICHT unsichtbar, das war das Problem. Aber scheinbar liegt das daran, dass Sprites immer komplett zuende gezeichnet werden, wenn der VIC einmal damit angefangen hat...

  • Nee das war schon korrekt gemacht. Aber ich habe gerade festgestellt, dass ich das Problem nicht mehr richtig im Kopf hatte; der Effekt war naemlich nicht der, dass das Sprite komplett unsichtbar wurde, sondern dass es NICHT unsichtbar wurde...