Imgflip Logo Icon

The state I am currently in:

The state I am currently in: | EXTENDS KINEMATICBODY2D

CONST ACCELERATION = 100
CONST MAX_SPEED = 200
CONST FRICTION = 400

ENUM {
	MOVE,
	ROLL,
	ATTACK
}

VAR STATE = MOVE
VAR VELOCITY = VECTOR2.ZERO

ONREADY VAR ANIMATIONPLAYER = $ANIMATIONPLAYER
ONREADY VAR ANIMATIONTREE = $ANIMATIONTREE
ONREADY VAR ANIMATIONSTATE = ANIMATIONTREE.GET("PARAMETERS/PLAYBACK")

FUNC _READY():
	ANIMATIONTREE.ACTIVE = TRUE

FUNC _PROCESS(DELTA):
	MATCH STATE:
		MOVE:
			MOVE_STATE(DELTA)
		
		ROLL:
			PASS
		
		ATTACK:
			ATTACK_STATE(DELTA)
	
FUNC MOVE_STATE(DELTA):
	VAR INPUT_VECTOR = VECTOR2.ZERO
	INPUT_VECTOR.X = INPUT.GET_ACTION_STRENGTH("UI_RIGHT") - INPUT.GET_ACTION_STRENGTH("UI_LEFT")
	INPUT_VECTOR.Y = INPUT.GET_ACTION_STRENGTH("UI_DOWN") - INPUT.GET_ACTION_STRENGTH("UI_UP")
	INPUT_VECTOR = INPUT_VECTOR.NORMALIZED()
	
	VELOCITY.X = 0
	VELOCITY.Y = 0
	
	IF INPUT_VECTOR != VECTOR2.ZERO:
		ANIMATIONTREE.SET("PARAMETERS/IDLE/BLEND_POSITION", INPUT_VECTOR)
		ANIMATIONTREE.SET("PARAMETERS/RUN/BLEND_POSITION", INPUT_VECTOR)
		ANIMATIONTREE.SET("PARAMETERS/ATTACK/BLEND_POSITION", INPUT_VECTOR)
		ANIMATIONSTATE.TRAVEL("RUN")
		VELOCITY += INPUT_VECTOR * ACCELERATION
	ELSE: 
		ANIMATIONSTATE.TRAVEL("IDLE")
		VELOCITY = VECTOR2.ZERO
		
	VELOCITY = MOVE_AND_SLIDE(VELOCITY)
	
	IF INPUT.IS_ACTION_JUST_PRESSED("ATTACK"):
		STATE = ATTACK

FUNC ATTACK_STATE(DELTA):
	VELOCITY = VECTOR2.ZERO
	ANIMATIONSTATE.TRAVEL("ATTACK")

FUNC ATTACK_ANIMATION_FINISHED():
	STATE = MOVE | made w/ Imgflip meme maker
75 views 3 upvotes Made by anonymous 3 years ago in MS_memer_group
9 Comments
1 up, 3y,
1 reply
💀
[deleted] M
1 up, 3y
frrr
1 up, 3y,
1 reply
what
[deleted] M
1 up, 3y,
1 reply
me irl:
1 up, 3y,
1 reply
i dont get it
shit
[deleted] M
1 up, 3y,
1 reply
My overwhelmingly dense projects that I have to do by myself:
1 up, 3y,
1 reply
what subject
[deleted] M
1 up, 3y,
1 reply
wdym subject?
You mean genre?
1 up, 3y
ooohhh you aint talking a bout school mb
Created with the Imgflip Meme Generator
IMAGE DESCRIPTION:
EXTENDS KINEMATICBODY2D CONST ACCELERATION = 100 CONST MAX_SPEED = 200 CONST FRICTION = 400 ENUM { MOVE, ROLL, ATTACK } VAR STATE = MOVE VAR VELOCITY = VECTOR2.ZERO ONREADY VAR ANIMATIONPLAYER = $ANIMATIONPLAYER ONREADY VAR ANIMATIONTREE = $ANIMATIONTREE ONREADY VAR ANIMATIONSTATE = ANIMATIONTREE.GET("PARAMETERS/PLAYBACK") FUNC _READY(): ANIMATIONTREE.ACTIVE = TRUE FUNC _PROCESS(DELTA): MATCH STATE: MOVE: MOVE_STATE(DELTA) ROLL: PASS ATTACK: ATTACK_STATE(DELTA) FUNC MOVE_STATE(DELTA): VAR INPUT_VECTOR = VECTOR2.ZERO INPUT_VECTOR.X = INPUT.GET_ACTION_STRENGTH("UI_RIGHT") - INPUT.GET_ACTION_STRENGTH("UI_LEFT") INPUT_VECTOR.Y = INPUT.GET_ACTION_STRENGTH("UI_DOWN") - INPUT.GET_ACTION_STRENGTH("UI_UP") INPUT_VECTOR = INPUT_VECTOR.NORMALIZED() VELOCITY.X = 0 VELOCITY.Y = 0 IF INPUT_VECTOR != VECTOR2.ZERO: ANIMATIONTREE.SET("PARAMETERS/IDLE/BLEND_POSITION", INPUT_VECTOR) ANIMATIONTREE.SET("PARAMETERS/RUN/BLEND_POSITION", INPUT_VECTOR) ANIMATIONTREE.SET("PARAMETERS/ATTACK/BLEND_POSITION", INPUT_VECTOR) ANIMATIONSTATE.TRAVEL("RUN") VELOCITY += INPUT_VECTOR * ACCELERATION ELSE: ANIMATIONSTATE.TRAVEL("IDLE") VELOCITY = VECTOR2.ZERO VELOCITY = MOVE_AND_SLIDE(VELOCITY) IF INPUT.IS_ACTION_JUST_PRESSED("ATTACK"): STATE = ATTACK FUNC ATTACK_STATE(DELTA): VELOCITY = VECTOR2.ZERO ANIMATIONSTATE.TRAVEL("ATTACK") FUNC ATTACK_ANIMATION_FINISHED(): STATE = MOVE