dale_coop said:Can you share a screenhot?
LDX player1_object
LDA gamepad
AND #%11110000
BNE skipChangeToidle
;LDA onGround
LDA Object_status,x
AND #%00000100 ;; not on ground
BEQ skipChangeToidle
ChangeObjectState #$00, #$02
skipChangeToidle:
RTS
LDX player1_object
LDA Object_status,x
AND #%00000100
BEQ +
ChangeObjectState #$01, #$02
+
RTS
StartMoving player1_object, MOVE_LEFT
LDA Object_movement,x
ORA #%00000110
STA Object_movement,x
;;; 000 down
;;; 001 down right
;;; 010 right
;;; 011 up right
;;; 100 up
;;; 101 up left
;;; 110 left
;;; 111 down left
RTS
StartMoving player1_object, MOVE_RIGHT
LDA Object_movement,x
ORA #%00000010
STA Object_movement,x
;;; 000 down
;;; 001 down right
;;; 010 right
;;; 011 up right
;;; 100 up
;;; 101 up left
;;; 110 left
;;; 111 down left
RTS
StopMoving player1_object, STOP_LEFT
rts
StopMoving player1_object, STOP_RIGHT
rts
LDX player1_object
LDA Object_status,x
AND #%00000100
BEQ +
LDA #$00
SEC
SBC #$06
STA Object_v_speed_hi,x
LDA Object_status,x
AND #%11111011
STA Object_status,x
ChangeObjectState #$02, #$02
PlaySound #SFX_PLAYER_JUMP
+
RTS
LDX player1_object
LDA Object_v_speed_hi,x
BPL skipVarJump
LDA #$00
SEC
SBC #$03
STA Object_v_speed_hi,x
skipVarJump:
RTS