RYO的MAX波从板边发出来
举例说明,我让RYO的MAX波从板边发出来
意思就是以自身为原点,面向右的时候X左偏移C0 Y偏移0
那么就要改成以自身为原点,面向右的时候X左偏移左板边值,Y偏移0,反过来面向左,则X右偏移右板边值,Y偏移0
先找到波的XY坐标。
ROM:000486BA move.w #$FFC0,d5 ;波的X坐标
ROM:000486BE move.w #0,d6 ;波的Y坐标
ROM:000486C2 4EB9 0009 8000 jsr #98000 ;空白地址
再写程序源码
move.w $18(a4),d5 ;调用人物位置坐标
move.w $3084(a5),d6 ;调用98左板边的值
btst #0,$31(a4)
bne.s rightcheck
addi.w #$100, d6 ;面向左,+$100变成右板边的值
exg.l d5, d6
sub.w d6, d5
addi.w #$20,d5 ;右版边距离补充,X坐标
move.w #$0,d6 ;Y坐标
jsr #24944
rts
rightcheck:
sub.w d6, d5 ;X坐标
move.w #$0,d6 ;Y坐标
jsr #24944
rts
找个位置写以下子程序,然后把以前的
ROM:00098000
3A2C 0018 | move.w $18(a4),d5 ;调用人物位置坐标
3C2D 3084 | move.w $3084(a5),d6 ;调用左板边的值
082C 0000 0031 | btst #0,$31(a4)
6618 | bne.s rightcheck
0646 0100 | addi.w #$100, d6 ;面向左,+$100变成右板边的值
CB46 | exg.l d5, d6
9A46 | sub.w d6, d5
0645 0020 | addi.w #$20,d5 ;右版边距离补充,X坐标
3C3C 0000 | move.w #$0,d6
4EB9 0002 4944 | jsr #24944
4E75 | rts
rightcheck:
9A46 | sub.w d6, d5
3C3C 0000 | move.w #$0,d6
4EB9 0002 4944 | jsr #24944
4E75 | rts