lua - Corona SDK - Moving Player Left and Right Using Touch (Code Included) -


apologies if asked before, tried searching no avail. anyways, have sort of logic error preventing player object moving left , right when attempt move it. tips appreciated, beginner lua. thank time.

function spawnplayer() player = display.newimage('player.png')  player.x = display.contentwidth * 0.5 player.y = display.contentheight - player.height player.name = 'player' physics.addbody(player) score() end  function score() score = display.newtext('score: ', 1, 0, native.systemfontbold, 14) score.x = _w / 9 score.y = 0 score.text = score.text .. tostring(intscore) listeners('add') end  function listeners(event)  if event == 'add'     --runtime:addeventlistener("accelerometer", accelplayer)     --player:addeventlistener("touch", touchplayer)     player:addeventlistener('touch', touchplayer)     player:addeventlistener('accelerometer', accelplayer) elseif event == 'remove'     runtime:removeeventlistener("accelerometer", accelplayer)     player:removeeventlistener("touch", touchplayer) end end  function touchplayer:touch(event)  if issimulator      if event.phase == "began"         movex = event.x - player.x     elseif event.phase == "moved"         player.x = event.x - movex     end      if((player.x - player.width * 0.5) < 0)         player.x = player.width * 0.5     elseif((player.x + player.width * 0.5) > display.contentwidth)             player.x = display.contentwidth - player.width * 0.5     end  end end  function accelplayer:accelerometer(event)  player.x = display.contentcenterx - (display.contentcenterx * (event.ygravity * 3))  if((player.x - player.width * 0.5) < 0)     player.x = player.width * 0.5 elseif((player.x + player.width * 0.5) > display.contentwidth)     player.x = display.contentwidth - player.width * 0.5 end end 

try

print("in touch event") if issimulator     if event.phase == "began"         print("touch started")         startx = event.x      elseif event.phase == "moved"         local changesincelast = event.x - startx         player.x = player.x + changesincelast          startx = event.x         print("touch moved")      end 

update:

if prints nothing, have @ cause touchplayer:touch(event) called. listeners('add'). also, function has touchplayer touchplayer exist when function called? try:

function listeners(event)     if event == 'add'         print('adding touch listener:', touchplayer)         player:addeventlistener('touch', touchplayer) 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -