extends KinematicBody2D # Desired movement in pixels/frame in 60 FPS # var movement = Vector2(1,0) # Desired movement in pixels/second in whatever FPS var movement = Vector2(60,0) # Initialize variables var time_passed_seconds = 0 var counter = 1 var start_counting_time = 0 var first_time = true var previous_fps = 0 var current_fps = 0 var actual_start = 0 var screen_width=OS.get_window_size().x var speed_per_second=0 var speed_per_frame=0 func _ready(): print(OS.get_window_size().x) print(get_position()) set_position(Vector2(0,150)) func _physics_process(delta): if Engine.get_frames_per_second() < 30: print("Game is starting ...") return # The game has started time_passed_seconds = OS.get_ticks_msec() / 1000.0 if first_time: start_counting_time = time_passed_seconds - delta first_time = false current_fps = Engine.get_frames_per_second() if previous_fps != current_fps: print("FPS change has been detected: ", previous_fps, " --> ", current_fps) counter = 1 previous_fps = current_fps if counter > current_fps: # Reset the framecounter counter = 1 # Calculate speed per second #speed_per_second = screen_width / 5 #speed_per_frame = speed_per_second * (1/current_fps) #movement = Vector2(speed_per_frame,0) # Move $Sprite.position += movement * delta #$Sprite.position += movement print("Object update: ", counter,"/", current_fps, " frames | delta time:", delta, "s | total time: ", time_passed_seconds-start_counting_time, " s | Position: ", int($Sprite.position.x)) if $Sprite.position.x >= 300: print("The end") OS.exit_code = 0 get_tree().quit() counter += 1