Can someone give me some advice on making a landscape only mode app?
I have created my art assets landscape when displayed they appear portrait with half off the screen.
So I assign all my images with a TopLeftReferencePoint and add all my art work to a group set that to have TopLeftReferencePoint rotate it -90 and move its; top corner to the top corner of the screen in landscape mode.
I can then position everything using the group’s co-coordinates. This works fine
(Is there a better method to do this?)
But I then wanted use a piece of code from the examples to have an idea move under the users finger, the code just won’t work correctly the object moves in the opposite direction and no messing about with the code (reversing variables seems to make it correct)
local pageFiles = “background.png”
local flapFiles = {“door.png”
pageBackgroundImg = display.newImage(pageFiles)
pageBackgroundImg:setReferencePoint(display.TopLeftReferencePoint)
pageFlap = display.newImage(flapFiles[entryPageNo])
pageFlap:setReferencePoint(display.TopLeftReferencePoint)
background:insert(pageBackgroundImg)
background:insert(pageFlap)
background:setReferencePoint(display.TopLeftReferencePoint)
background.rotation = -90
background.x = 0
background.y = 480
local function onTouch( event )
local t = event.target
– Print info about the event. For actual production code, you should
– not call this function because it wastes CPU resources.
–printTouch(event)
local phase = event.phase
if “began” == phase then
– Make target the top-most object
local parent = t.parent
parent:insert( t )
display.getCurrentStage():setFocus( t )
– Spurious events can be sent to the target, e.g. the user presses
– elsewhere on the screen and then moves the finger over the target.
– To prevent this, we add this flag. Only when it’s true will “move”
– events be sent to the target.
t.isFocus = true
– Store initial position
t.x0 = event.x - t.x
t.y0 = event.y - t.y
elseif t.isFocus then
if “moved” == phase then
– Make object move (we subtract t.x0,t.y0 so that moves are
– relative to initial grab point, rather than object “snapping”).
t.x = event.y - t.y0
t.y = event.x - t.x0
elseif “ended” == phase or “cancelled” == phase then
display.getCurrentStage():setFocus( nil )
t.isFocus = false
end
end
– Important to return true. This tells the system that the event
– should not be propagated to listeners of any objects underneath.
return true
end
pageFlap:addEventListener( “touch”, onTouch )
[import]uid: 5872 topic_id: 994 reply_id: 300994[/import]