Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | Hasukai |
I created a tilemap. For one of my single tiles I put collision inside of it. Then I made a player which is a kinematic body and has Collision Shape 2D inside of it. The player has a script inside of it with the following code:
func _process(delta):
animation()
if not moving:
set_dir()
elif dir != Vector2():
move(delta)
else:
moving = false
func move(delta):
counter += delta * speed
if counter >= 1.0:
position = initpos + dir * tileSize
counter = 0.0
moving = false
else:
position = initpos + dir * tileSize * counter
func set_dir(): #Set moving
dir = get_dir()
if dir.x != 0 or dir.y != 0:
moving = true
initpos = position
func get_dir(): #Get User Input
var x = 0
var y = 0
if dir.y == 0:
x = int(Input.is_action_pressed(“ui_right”)) - int(Input.is_action_pressed(“ui_left”))
if dir.x == 0:
y = int(Input.is_action_pressed(“ui_down”)) - int(Input.is_action_pressed(“ui_up”))
return Vector2(x, y)
The player isnt colliding with the tilemap but instead goes right through it. What did I do wrong?