Difference between revisions of "User:Darkfrei/example functions"
(→Beep) |
(→Beep) |
||
Line 34: | Line 34: | ||
<source lang="lua"> | <source lang="lua"> | ||
beep() | beep() | ||
+ | </source> | ||
+ | |||
+ | == Point in area == | ||
+ | |||
+ | <source lang="lua"> | ||
+ | function is_in_area (mx,my, x,y,w,h) -- mouse position and rectangle | ||
+ | if (mx > x) and (mx < (x + w)) and | ||
+ | (my > y) and (my < (y + h)) then | ||
+ | return true | ||
+ | end | ||
+ | end | ||
</source> | </source> |
Revision as of 20:16, 9 September 2021
Draw grid
function draw_grid ()
local grid_size = 20
love.graphics.setLineWidth (1)
love.graphics.setColor(0.25,0.25,0.25)
local width, height = love.graphics.getDimensions( )
for x = grid_size, width-1, grid_size do
love.graphics.line(x, 0, x, height)
end
for y = grid_size, height-1, grid_size do
love.graphics.line(0, y, width, y)
end
end
Beep
Define it:
local rate = 44100
local length = 1/32
local tone = 440 -- Hz
local p = math.floor(rate/tone) -- 128
local soundData = love.sound.newSoundData(length*rate, rate, 16, 1)
for i=0, length*rate-1 do soundData:setSample(i, i%p>p/2 and 1 or -1) end
local source = love.audio.newSource(soundData)
local function beep() source:play() end
Call it:
beep()
Point in area
function is_in_area (mx,my, x,y,w,h) -- mouse position and rectangle
if (mx > x) and (mx < (x + w)) and
(my > y) and (my < (y + h)) then
return true
end
end