Language…
14 users online:  AmperSam,  Ayami,  Donut, Enan63, Green, Hayashi Neru, Joosh,  MarioFanGamer, Rhubarb44230, ShadowMistressYuko,  shovda, signature_steve, Sweetdude, Tomi P - Guests: 252 - Bots: 343
Users: 64,795 (2,378 active)
Latest user: mathew

Sprite Animationsgrafik-Problem

Ich programmiere an einem Sprite und möchte gerne eine Animation hinzufügen.

Als ich die Animation hinzufügte, sah diese Animation im Spiel nicht richtig aus.

Die Animationsframes:



Hier habe ich den Code zum Sprite:

Link
Das könnte daran liegen, dass dein Code das Data Bank Register nicht setzt.

Wenn du 16-bit-Adressen ansprichst (also vierstellige Adressen), dann hängt es vom Data Bank Register (DBR) ab, aus welcher Bank diese Adresse genommen wird. Beispiel: wenn das DBR $00 ist, spricht der Befehl LDA $1234 eigentlich die Adresse $001234 an, wenn es $2F ist, die Adresse $2F1234, und so weiter.

Das macht in deinem Fall wahrscheinlich bei dem LDA TILEMAP,x was aus. Die Teiledaten stehen in derselben Bank wie der Code, aber das DBR ist nicht entsprechend angepasst - so werden die Daten aus einer anderen Bank, also einer ganz anderen Stelle gelesen.

Beheben kannst du das aus zwei Weisen: entweder du gibst dem LDA die ganze sechsstellige Adresse mit (das kannst du mit LDA.l TILEMAP,x erzwingen), oder du änderst vorübergehend das DBR, damit es auf dieselbe Bank zeigt, in der auch der Code ist (das machst du am besten mit den Befehlen PHK : PHB : PLB am Anfang der Main-Routine und PLB ganz am Ende).

Nebenbei bemerkt: dein ASM scheint für den Assembler TRASM gedacht zu sein, aber besser (weil weniger altbacken und fehleranfällig) wäre so was wie Asar. Kannst du dir ja für die Zukunft mal angucken. #tb{:)}


 
Ich könnte das Programm PIXI (und auch Asar) mal ausprobieren.