class SF::CircleShape
- SF::CircleShape
- SF::Shape
- SF::Transformable
- Reference
- Object
Overview
Specialized shape representing a circle
This class inherits all the functions of SF::Transformable
(position, rotation, scale, bounds, ...) as well as the
functions of SF::Shape
(outline, color, texture, ...).
Usage example:
circle = SF::CircleShape.new
circle.radius = 150
circle.outline_color = SF::Color::Red
circle.outline_thickness = 5
circle.position = {10, 20}
# [...]
window.draw circle
Since the graphics card can't draw perfect circles, we have to
fake them with multiple triangles connected to each other. The
"points count" property of SF::CircleShape
defines how many of these
triangles to use, and therefore defines the quality of the circle.
The number of points can also be used for another purpose; with small numbers you can create any regular polygon shape: equilateral triangle, square, pentagon, hexagon, ...
See also: SF::Shape
, SF::RectangleShape
, SF::ConvexShape
Defined in:
graphics/obj.crConstructors
-
.new(radius : Number = 0, point_count : Int = 30)
Default constructor
Instance Method Summary
-
#dup : CircleShape
Returns a shallow copy of this object.
-
#finalize
Virtual destructor
-
#get_point(index : Int) : Vector2f
Get a point of the circle
-
#point_count : Int32
Get the number of points of the circle
-
#point_count=(count : Int)
Set the number of points of the circle
-
#radius : Float32
Get the radius of the circle
-
#radius=(radius : Number)
Set the radius of the circle
Instance methods inherited from class SF::Shape
fill_color : Color
fill_color,
fill_color=(color : Color)
fill_color=,
finalize
finalize,
get_point(index : Int) : Vector2f
get_point,
global_bounds : FloatRect
global_bounds,
local_bounds : FloatRect
local_bounds,
outline_color : Color
outline_color,
outline_color=(color : Color)
outline_color=,
outline_thickness : Float32
outline_thickness,
outline_thickness=(thickness : Number)
outline_thickness=,
point_count : Int32
point_count,
set_texture(texture : Texture | Nil, reset_rect : Bool = false)
set_texture,
texture=(texture : Texture)
texture=,
texture_rect : IntRect
texture_rect,
texture_rect=(rect : IntRect)
texture_rect=,
update
update
Instance methods inherited from module SF::Drawable
draw(target : RenderTarget, states : RenderStates)
draw
Instance methods inherited from class SF::Transformable
dup : Transformable
dup,
finalize
finalize,
inverse_transform : Transform
inverse_transform,
move(offset_x : Number, offset_y : Number)move(offset : Vector2 | Tuple) move, origin : Vector2f origin, origin=(origin : Vector2 | Tuple) origin=, position : Vector2f position, position=(position : Vector2 | Tuple) position=, rotate(angle : Number) rotate, rotation : Float32 rotation, rotation=(angle : Number) rotation=, scale(factor_x : Number, factor_y : Number)
scale(factor : Vector2 | Tuple)
scale : Vector2f scale, scale=(factors : Vector2 | Tuple) scale=, set_origin(x : Number, y : Number) set_origin, set_position(x : Number, y : Number) set_position, set_scale(factor_x : Number, factor_y : Number) set_scale, transform : Transform transform
Constructor methods inherited from class SF::Transformable
new
new
Constructor Detail
Default constructor
- radius - Radius of the circle
- point_count - Number of points composing the circle
Instance Method Detail
Returns a shallow copy of this object.
This allocates a new object and copies the contents of
self
into it.
Get a point of the circle
The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account. The result is undefined if index is out of the valid range.
- index - Index of the point to get, in range
0 ... point_count
Returns: index-th point of the shape
Get the number of points of the circle
Returns: Number of points of the circle
See also: #point_count=
Set the number of points of the circle
- count - New number of points of the circle
See also: #point_count