Why cx=CurrentTouch.x doesn’t work if CurrentTouch.x< 50?
@zoptopf Can you please expand on what the problem is. I can’t really help you if I don’t know what’s wrong
@zoptopf Using the code below, I can get cx to be 0.0 and cy to be 6.5 in portrait mode, and cx to be 0.0 and cy to be 7.5 in landscape mode.
function setup()
end
function draw()
background(40, 40, 50)
fill(255)
cx=CurrentTouch.x
cy=CurrentTouch.y
text("x="..cx.." cy="..cy,WIDTH/2,HEIGHT/2)
end
Try this
function setup()
touchHandled=false
cx,cy=100,100
displayMode(FULLSCREEN)
textMode(CORNER)
end
function draw()
background(40, 40, 50)
if CurrentTouch.state == BEGAN and not touchHandled then
touchHandled = true
cx=CurrentTouch.x
cy=CurrentTouch.y
elseif CurrentTouch.state==ENDED then
touchHandled=false
end
fill(227, 227, 39, 255)
font("ArialMT")
fontSize(15)
text("touch screen at x> 50 and x< 50 and see ", 50,800)
text("CurrentTouch.x " .. CurrentTouch.x .. " CurrentTouch.y " .. CurrentTouch.y, CurrentTouch.x,CurrentTouch.y)
text(" cx " .. cx .. " cy " .. cy,CurrentTouch.x,CurrentTouch.y+20)
end
@zoptopf I think I see what you’re saying now. If you tap the screen when x is greater than 50, the values for cx,cy and CurrentTouch.x and CurrentTouch.y show the same. But if you tap the screen when x is less than 50, sometimes the values are different. Is that what you’re saying. I’m getting ready to walk out the door, so I can’t look into this right now.
Yes it is.
@zoptopf Maybe this code will explain it. If you touch the black part of the screen, you’ll see the text touch began
. When you lift your finger, you’ll see the text touch ended
. If you touch the green area along the left side of the screen, you’ll see no response. The green area is 25 pixels wide. Now, if you put your finger off the screen on the left and drag your finger to the right, it will start to split the screen and show you the Codea editor. So the area that’s about 25 pixels wide on the left side of the screen is a dead area for CurrentTouch and used for the split screen. Does that help.
displayMode(FULLSCREEN)
function setup()
str="touch screen"
end
function draw()
background(0)
fill(0, 255, 32, 255)
rect(0,0,25,HEIGHT)
if CurrentTouch.state==BEGAN then
str="touch began"
end
if CurrentTouch.state==ENDED then
str="touch ended"
end
text(str,WIDTH/2,HEIGHT/2)
end