Re: Will there be a iPad version LÖVE?
Posted: Mon Mar 07, 2011 3:58 am
Not necessarily. But it would be less easy. But all the characters should be there. And there are nice iPad text editors out there. But I would probably prefer having the iPad/iPod/iPhone version of Löve utilize iOS/iTunes' "File Sharing" feature where it allows you to upload any file you want to an apps "sandbox". For Löve, it could be .love projects. Either zipped or just renamed folders. Then Löve could have a menu that shows up on launch if there's more than one project to choose from.Robin wrote:Hm, programming on the iPad? It should be possible, but having to use the on-screen keyboard makes it pretty much impossible to do actual work on it.
That is when it's actually created. I'd kill for a prototype. I'd even Jailbreak my iPad. (When I get it... hopefully this week.. oh I want it soooo much... and I don't know why!)
And don't forget to let iPad versions of projects take full advantage of multi-touch. (Even if it doesn't get implemented for a while) And none of that "Oh, we need the projects to remain cross-platform" bullpoop. Something tells me if someone's going to make a project for an iPad, or a Canoo or whatever it's called, they're going to want to take advantage of everything the platform offers. That means multi-touch on iPads so we can make our own on-screen controllers or whatever. Just copy iOS Safari's JavaScript "multitouch" implementation where it just accepts each "touch" point down as a new touch and when released it removes it as a point.
Place one finger down > Touch 1 start
Place second finger down > Touch 2 start
Remove finger one > Touch 1 ended but Touch 2 still active
There'd be love.touchStart(x,y,e) where e is the ID of the current touch. And love.touchEnd(e). When a touch is started, you'd place it into a table of X and Y's for each finger (I guess up to however many the iPad supports) so it'd be like:
Code: Select all
function love.touchStart(x,y,e)
touch[e].x = x
touch[e].y = y
touch[e].active = true
end
function love.touchEnd(e)
touch[e].active = false
end
function love.update(dt)
for i, t in pairs(touch)
if t.active then
--DO STUFF HERE WITH THE t.x and t.y for each finger
end
end
end
Leave the rest up to the coder. Someone'll probably create a library to help with this in time and it'll probably have a funny dirty name of course. Like "fingëred löve" or something.
To get even more elaborate, like if you have special places on screen defined as buttons, you'd check if the X and Y are inside the box at finger down and if so, make the button active. And when released, the button would become inactive through the magic of coding.
Say:
Code: Select all
function touchStart(x,y,e)
if x and y are inside button 1 then --Okay, this line is pseudocode of course
button[1].pressed = true
touch[e].button = 1 --This would attach the button to the finger so when we release it, we know which button to release
end
end
function touchEnd(e)
if touch[e].button ~= nil then
button[touch[e].button].pressed = false
end
end
function love.update(dt)
for i, b in pairs(button) do
if b.pressed then
--DO STUFF HERE OF COURSE!!!
end
end
end