42 lines
1.3 KiB
GDScript3
42 lines
1.3 KiB
GDScript3
|
extends TextureRect
|
||
|
|
||
|
var items = [1,2,3]
|
||
|
|
||
|
func draw_circle_arc(center, radius, angle_from, angle_to, color):
|
||
|
var nb_points = 32
|
||
|
var points_arc = PoolVector2Array()
|
||
|
|
||
|
for i in range(nb_points + 1):
|
||
|
var angle_point = deg2rad(angle_from + i * (angle_to-angle_from) / nb_points - 90)
|
||
|
points_arc.push_back(center + Vector2(cos(angle_point), sin(angle_point)) * radius)
|
||
|
|
||
|
for index_point in range(nb_points):
|
||
|
draw_line(points_arc[index_point], points_arc[index_point + 1], color)
|
||
|
|
||
|
func draw_circle_arc_poly(center, radius, angle_from, angle_to, color):
|
||
|
var nb_points = 32
|
||
|
var points_arc = PoolVector2Array()
|
||
|
points_arc.push_back(center)
|
||
|
var colors = PoolColorArray([color])
|
||
|
|
||
|
for i in range(nb_points + 1):
|
||
|
var angle_point = deg2rad(angle_from + i * (angle_to - angle_from) / nb_points - 90)
|
||
|
points_arc.push_back(center + Vector2(cos(angle_point), sin(angle_point)) * radius)
|
||
|
draw_polygon(points_arc, colors)
|
||
|
|
||
|
func _draw():
|
||
|
var center = Vector2(200, 200)
|
||
|
var radius = 80
|
||
|
var angle_from = 75
|
||
|
var angle_to = 195
|
||
|
var color = Color(1.0, 0.0, 0.0)
|
||
|
draw_circle_arc_poly(center, radius, angle_from, angle_to, color)
|
||
|
|
||
|
|
||
|
# Called when the node enters the scene tree for the first time.
|
||
|
func _ready():
|
||
|
_draw()
|
||
|
# for x in range(len(items)):
|
||
|
# _draw()
|
||
|
pass # Replace with function body.
|