movement.nv
· 2.2 KiB · Text
Eredeti
Playground
|#state, player|
{x = 400, y = 300, r = 10, health = 5}
|#port, on draw player, needs, @draw player|
|#port body, on draw player, Lua|
local player = self.state.player
love.graphics.circle("fill", player.x, player.y, player.r)
|#port, on move player, needs, @move player
, takes, @dir up, @dir down, @dir left, @dir right|
|#port body, on move player, Lua|
local player = self.state.player
local dir_y = (dir_down - dir_up)
local dir_x = (dir_right - dir_left)
player.x = player.x + dir_x * self.state.dt * 300
player.y = player.y + dir_y * self.state.dt * 300
|#port, on is move up down, needs, @is [move up] down?|
@[move up] is down
|#port body, on is move up down, Lua|
if love.keyboard.isDown("w") then
counters["@[move up] is down"] = 1
end
|#port, on is move left down, needs, @is [move left] down?|
@[move left] is down
|#port body, on is move left down, Lua|
if love.keyboard.isDown("a") then
counters["@[move left] is down"] = 1
end
|#port, on is move down down, needs, @is [move down] down?|
@[move down] is down
|#port body, on is move down down, Lua|
if love.keyboard.isDown("s") then
counters["@[move down] is down"] = 1
end
|#port, on is move right down, needs, @is [move right] down?|
@[move right] is down
|#port body, on is move right down, Lua|
if love.keyboard.isDown("d") then
counters["@[move right] is down"] = 1
end
|drawing scene|
, draw player
|draw player|
, @draw player
|updating scene|
, move player
|move player|
, @is [move up] down?, @is [move left] down?
, @is [move down] down?, @is [move right] down?
, moving player
|moving player, @[move up] is down|
, @dir up
, moving player
|moving player, @[move left] is down|
, @dir left
, moving player
|moving player, @[move down] is down|
, @dir down
, moving player
|moving player, @[move right] is down|
, @dir right
, moving player
|@dir left, @dir right|
|@dir down, @dir up|
|moving player|
, @move player
|move player|
, @is key pressed, @key A
, moving player
|#include| notecards/main-loop.nv
|| run main loop
| 1 | |#state, player| |
| 2 | {x = 400, y = 300, r = 10, health = 5} |
| 3 | |
| 4 | |#port, on draw player, needs, @draw player| |
| 5 | |#port body, on draw player, Lua| |
| 6 | local player = self.state.player |
| 7 | love.graphics.circle("fill", player.x, player.y, player.r) |
| 8 | |
| 9 | |#port, on move player, needs, @move player |
| 10 | , takes, @dir up, @dir down, @dir left, @dir right| |
| 11 | |#port body, on move player, Lua| |
| 12 | local player = self.state.player |
| 13 | local dir_y = (dir_down - dir_up) |
| 14 | local dir_x = (dir_right - dir_left) |
| 15 | player.x = player.x + dir_x * self.state.dt * 300 |
| 16 | player.y = player.y + dir_y * self.state.dt * 300 |
| 17 | |
| 18 | |#port, on is move up down, needs, @is [move up] down?| |
| 19 | @[move up] is down |
| 20 | |#port body, on is move up down, Lua| |
| 21 | if love.keyboard.isDown("w") then |
| 22 | counters["@[move up] is down"] = 1 |
| 23 | end |
| 24 | |
| 25 | |#port, on is move left down, needs, @is [move left] down?| |
| 26 | @[move left] is down |
| 27 | |#port body, on is move left down, Lua| |
| 28 | if love.keyboard.isDown("a") then |
| 29 | counters["@[move left] is down"] = 1 |
| 30 | end |
| 31 | |
| 32 | |#port, on is move down down, needs, @is [move down] down?| |
| 33 | @[move down] is down |
| 34 | |#port body, on is move down down, Lua| |
| 35 | if love.keyboard.isDown("s") then |
| 36 | counters["@[move down] is down"] = 1 |
| 37 | end |
| 38 | |
| 39 | |#port, on is move right down, needs, @is [move right] down?| |
| 40 | @[move right] is down |
| 41 | |#port body, on is move right down, Lua| |
| 42 | if love.keyboard.isDown("d") then |
| 43 | counters["@[move right] is down"] = 1 |
| 44 | end |
| 45 | |
| 46 | |drawing scene| |
| 47 | , draw player |
| 48 | |
| 49 | |draw player| |
| 50 | , @draw player |
| 51 | |
| 52 | |updating scene| |
| 53 | , move player |
| 54 | |
| 55 | |move player| |
| 56 | , @is [move up] down?, @is [move left] down? |
| 57 | , @is [move down] down?, @is [move right] down? |
| 58 | , moving player |
| 59 | |
| 60 | |moving player, @[move up] is down| |
| 61 | , @dir up |
| 62 | , moving player |
| 63 | |
| 64 | |moving player, @[move left] is down| |
| 65 | , @dir left |
| 66 | , moving player |
| 67 | |
| 68 | |moving player, @[move down] is down| |
| 69 | , @dir down |
| 70 | , moving player |
| 71 | |
| 72 | |moving player, @[move right] is down| |
| 73 | , @dir right |
| 74 | , moving player |
| 75 | |
| 76 | |@dir left, @dir right| |
| 77 | |@dir down, @dir up| |
| 78 | |moving player| |
| 79 | , @move player |
| 80 | |
| 81 | |move player| |
| 82 | , @is key pressed, @key A |
| 83 | , moving player |
| 84 | |
| 85 | |#include| notecards/main-loop.nv |
| 86 | |
| 87 | || run main loop |