Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement