moving_platform.gd 348 B

1234567891011121314151617
  1. extends Node2D
  2. class_name MovingPlatform
  3. # Member variables
  4. export var motion = Vector2()
  5. export var cycle = 1.0
  6. var accum = 0.0
  7. func _physics_process(delta):
  8. accum += delta * (1.0 / cycle) * PI * 2.0
  9. accum = fmod(accum, PI * 2.0)
  10. var d = sin(accum)
  11. var xf = Transform2D()
  12. xf[2] = motion * d
  13. ($Platform as KinematicBody2D).transform = xf