anaglym/tests/bowling.lua
Josh Holtrop 5de4ed348b added ag::drawImage()
git-svn-id: svn://anubis/anaglym/trunk@185 99a6e188-d820-4881-8870-2d33a10e2619
2009-11-17 04:38:39 +00:00

67 lines
2.0 KiB
Lua

function init()
local rows = 5
local offset = 1
local pin = ag.loadModel("bowling_pin", 0.5)
pin:setPosition(0, 0, 2)
for row = 2, rows do
for x = 1, row do
local p = pin:clone()
p:setPosition(-((row - 1) * offset) / 2 + (x - 1) * offset,
offset * (row - 1),
2)
end
end
--local ground = ag.loadStaticModel("crate", 10)
local ground = ag.createPlane(0, 0, 1, 0)
ground:setColor(0.8, 0.5, 0.0)
ground:setPosition(0, 0, -10)
ag.setCamera(0.3, -25, 10, 0, 0, 1, 0, 0, 1)
camx, camy, camz, cx, cy, cz = ag.getCamera()
ball = ag.loadModel("checkerball", 0.5)
ball:setPosition(2*camx - cx, 2*camy - cy, 2*camz - cz)
ball:setMass(5)
--ball = ag.createSphere(0.4)
--ball:setColor(0.2, 0.2, 0.9)
crate_texture = ag.loadTexture("crate.png")
end
function mousebutton_down_event(button)
local function button1()
local newball = ball:clone()
newball:setPosition(camx, camy, 1)
force = 4000
newball:addForce(force * (cx-camx),
force * (cy-camy),
force * (cz-camz))
end
if (button == 1) then
button1()
end
end
function key_down_event(key)
if (key == "s") then
local s = ag.createSphere(0.5)
s:setPosition(0, 0, 5)
s:setColor(0.1, 0.2, 0.3)
elseif (key == "c") then
local c = ag.loadModel("crate")
c:setPosition(-3, -3, 5)
end
end
function update_overlay_event(width, height)
local tw, th = ag.getTextSize("Hi there", 18)
ag.drawText("Hi there", 1, 1, 1, 18, width - tw - 4, height - th - 4)
ag.drawLine(1, 0, 0.3, 10, 10, 40, 60)
ag.drawLine(1, 0.7, 1, 50, 10, 100, 60, 5)
ag.drawRect(0, 1, 0, 40, 40, width / 2, height / 2)
ag.fillRect(0, 0, 1, 20, 30, width / 2, height / 2)
local rot = ag.elapsedTime() / 10
ag.drawImage(50, 50, 80, 160, crate_texture, rot)
end