欢迎光临散文网 会员登陆 & 注册

RYO的MAX波从板边发出来

2021-12-03 20:02 作者:神族使者魔瞳  | 我要投稿

举例说明,我让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


RYO的MAX波从板边发出来的评论 (共 条)

分享到微博请遵守国家法律