surface/DrawTexturedRectRotated

From Garry's Mod
(Difference between revisions)
Jump to: navigation, search
Line 46: Line 46:
 
 
 
end
 
end
 +
}}
 +
{{Example
 +
|Description=Draws a simple red forever rotating box.
 +
|Code=function draw.RotatedBox( x, y, w, h, ang, color )
 +
draw.NoTexture()
 +
surface.SetDrawColor( color or color_white )
 +
surface.DrawTexturedRectRotated( x, y, w, h, ang )
 +
end
 +
 +
hook.Add( "HUDPaint", "my_rotated_box", function()
 +
draw.RotatedBox( 100, 100, 100, 100, CurTime() % 360, Color( 255, 0, 0) )
 +
end )
 
}}
 
}}

Revision as of 06:35, 7 August 2015

 surface.DrawTexturedRectRotated( )

Contents

Description

Draw a textured rotated rectangle with the given position and dimensions and angle on the screen, using the current active texture.

Arguments

number x

The X co-ordinate, representing the center of the cube.

Arguments

number y

The Y co-ordinate, representing the center of the cube.

Arguments

number width

The width of the rectangle.

Arguments

number height

The height of the rectangle.

Arguments

number rotation

The rotation of the rectangle, in degrees.

Examples

Example

A function that allows you to override the origin of rotation.

x0 and y0 are relative to the center of the rectangle.

function surface.DrawTexturedRectRotatedPoint( x, y, w, h, rot, x0, y0 )
	
	local c = math.cos( math.rad( rot ) )
	local s = math.sin( math.rad( rot ) )
	
	local newx = y0 * s - x0 * c
	local newy = y0 * c + x0 * s
	
	surface.DrawTexturedRectRotated( x + newx, y + newy, w, h, rot )
	
end


Examples

Example

Draws a simple red forever rotating box.

function draw.RotatedBox( x, y, w, h, ang, color )
	draw.NoTexture()
	surface.SetDrawColor( color or color_white )
	surface.DrawTexturedRectRotated( x, y, w, h, ang )
end

hook.Add( "HUDPaint", "my_rotated_box", function()
	draw.RotatedBox( 100, 100, 100, 100, CurTime() % 360, Color( 255, 0, 0) )
end )


Personal tools
Navigation