- Edited
I tried to do a movement script but when player touches the ground it gets slower .i am using kinematic body
extends KinematicBody2D
var speed = 0
var maxspeed = 5000
var grav=200
var desped=35
var acsped=50
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Input.is_action_pressed("ui_right")and speed<=maxspeed:
speed+=acsped
elif Input.is_action_pressed("ui_left") and speed>=-maxspeed:
speed-=acsped
else:
if speed>desped:
speed-=desped
elif speed>0:
speed-=speed
if speed<-desped:
speed+=desped
elif speed<0:
speed+=-speed
if maxspeed<speed:
speed=maxspeed
if -maxspeed>speed:
speed=-maxspeed
move_and_collide(Vector2(speed*delta,grav*delta))
print(speed)