ドラクエ風RPGファミコンプログラム講座 アセンブラ入門編

【第46回】

*キャラクターの歩行アニメーション

 キャラクターに動きをつけるには、2枚以上のパターンを切り替えて表示します。

 切り替えには、 char_f を使用します。

;********メインルーチン*************************
main000:
lda CT
and #$0f            ;16回に1度切り替える。
bne sk5
lda char_f   ;キャラクター切り替え用フラグ
eor #01              ;フラグの反転
sta char_f

 

jsr player_pr

rti

player_pr:
ldx #0
lda char_f
cmp #0
beq sk6

txa
clc

adc #16              ;スプライトDATAオフセット

tax
sk6:
lda #16
sta counter1
lda #0
sta $2003
sp_loop:
lda sp_data,x
sta $2004
inx
dec counter1
bne sp_loop
rts

*キャラクターパターンDATA  

  .org $1000
.db $03,$07,$04,$0F,$0F,$3F,$7F,$1F,$23,$3F,$1F,$0F,$0A,$32,$78,$26 
.db $C0,$E0,$20,$F0,$F0,$FC,$FE,$F8,$C4,$FC,$F8,$F0,$50,$4C,$1E,$7C
.db $1F,$04,$0F,$1B,$13,$0E,$0E,$00,$27,$3F,$0F,$1F,$1F,$00,$0E,$00
.db $F0,$26,$F6,$D8,$C8,$00,$F0,$F0,$FE,$F0,$F0,$F8,$F8,$F0,$00,$F0

 

f:id:chien1956:20200131110636p:plain