私は、コロナ SDK の感覚をつかむために、Lua でシンプルなアプリに取り組んでいます。赤いボールが画面上で跳ね返り、ユーザーが触れると方向が切り替わります。ただし、Corona Simulator でボールをクリックすると、タッチ イベントが複数回呼び出されます。これが私のコードです:
local xdirection,ydirection = 1,1
local xpos,ypos = display.contentWidth*0.5,display.contentHeight*0.5
local circle = display.newCircle( xpos, ypos, 20 );
circle:setFillColor(255,0,0,255);
local x_speed = 5
local y_speed = 5
local function animate(event)
xpos = xpos + ( x_speed * xdirection );
ypos = ypos + ( y_speed * ydirection );
if (xpos > display.contentWidth - 20 or xpos < 20) then
xdirection = xdirection * -1;
end
if (ypos > display.contentHeight - 20 or ypos < 20) then
ydirection = ydirection * -1;
end
circle:translate( xpos - circle.x, ypos - circle.y)
end
local function switch(event)
xdirection = xdirection * -1;
ydirection = ydirection * -1;
print "Switched!"
end
Runtime:addEventListener( "enterFrame", animate );
circle:addEventListener("touch",switch);
シミュレーターでボールをクリックするたびに「Switched!」複数回印刷されます。何かご意見は?