SHOW:
|
|
- or go back to the newest paste.
| 1 | local function touchFunkx(event) | |
| 2 | local xDistance, yDistance = event.x - event.xStart, event.y - event.yStart | |
| 3 | ||
| 4 | if event.phase == "ended" then | |
| 5 | local distance = math.sqrt(xDistance * xDistance + yDistance * yDistance) | |
| 6 | - | local angle = (math.atan2(yDistance, xDistance) * 180 / math.pi + 45) % 360 |
| 6 | + | if distance >= 25 then |
| 7 | - | local dX, dY = 0, 0 |
| 7 | + | local angle = (math.atan2(yDistance, xDistance) * 180 / math.pi + 45) % 360 |
| 8 | - | if angle < 90 then |
| 8 | + | local dX, dY = 0, 0 |
| 9 | - | dX = 1 |
| 9 | + | if angle < 90 then |
| 10 | - | elseif angle < 180 then |
| 10 | + | dX = 1 |
| 11 | - | dY = 1 |
| 11 | + | elseif angle < 180 then |
| 12 | - | elseif angle < 270 then |
| 12 | + | dY = 1 |
| 13 | - | dX = -1 |
| 13 | + | elseif angle < 270 then |
| 14 | - | else |
| 14 | + | dX = -1 |
| 15 | - | dY = -1 |
| 15 | + | else |
| 16 | dY = -1 | |
| 17 | end | |
| 18 | hero.i, hero.j = move(gameMap, hero.i, hero.j, dX, dY) | |
| 19 | end | |
| 20 | end | |
| 21 | end |