I don't know why this error appears:
Invalid get index 'current animation' (on base: 'null instance')
any ideas?
Thank you
extends KinematicBody2D
const SPEED = 70
var movedir = Vector2(0,0)
var spritedir = "down"
func physicsprocess(delta):
controlsloop()
movementloop()
spritedirloop()
if movedir != Vector2(0,0):
anim_switch("idle")
func controlsloop():
var LEFT = Input.isactionpressed("uileft")
var RIGHT = Input.isactionpressed("uiright")
var UP = Input.isactionpressed("uiup")
var DOWN = Input.isactionpressed("ui_down")
movedir.x = -int(LEFT) + int(RIGHT)
movedir.y = -int(UP) + int(DOWN)
func movementloop():
var motion = movedir.normalized() * SPEED
moveand_slide(motion, Vector2(0,0))
func spritedir_loop():
match movedir:
Vector2(-1,0):
spritedir = "left"
Vector2(1,0):
spritedir = "right"
Vector2(0,-1):
spritedir = "up"
Vector2(0,1):
spritedir = "down"
func animswitch(animation):
var newanim = str(animation,spritedir)
if $anim.currentanimation != newanim:
$anim.play(newanim).