Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # This is what your data array should looks like
- normal_data = {"position" : <collider's position>, "normal" : <normal>, "angle_before" : <old_angle>, "angle_after" : <new_angle>}
- data.append(normal_data )
- func draw_normal(object_position: Vector2, object_velocity: Vector2, data: Array) -> void:
- draw_line(Vector2.ZERO, object_velocity / 5, Color.paleturquoise)
- for i in previous_normals.size():
- var alpha = inverse_lerp(0, data.size(), i)
- draw_set_transform(data[i]["position"] - object_position, 0, Vector2.ONE)
- var normal_dir := Vector2(cos(data[i]["normal"]), sin(data[i]["normal"]))
- var normal_color := Color.aquamarine
- normal_color.a = alpha
- draw_line(-100 * normal_dir, 100 * normal_dir, normal_color)
- draw_line((-100 * normal_dir).rotated(1.5708), (100 * normal_dir).rotated(1.5708), normal_color)
- var before_dir := Vector2(cos(data[i]["angle_before"]), sin(data[i]["angle_before"]))
- var before_dir_color := Color.darkorchid
- before_dir_color.a = alpha
- draw_line(Vector2.ZERO, -100 * before_dir, before_dir_color)
- var after_dir := Vector2(cos(data[i]["angle_after"]), sin(data[i]["angle_after"]))
- var after_dir_color := Color.darkorchid
- after_dir_color.a = alpha
- draw_line(Vector2.ZERO, 100 * after_dir, after_dir_color)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement