movement.lua
· 2.2 KiB · Lua
Sin formato
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 |