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
Comments