@@ -22,6 +22,7 @@ function Local.Init(position)
22
22
Object .sprSize = This .Sprite :getSize ().x ;
23
23
Object .speed = 0.5 ;
24
24
Object .activated = false ;
25
+ Object .moved = false ;
25
26
26
27
local pVec = obe .Transform .UnitVector (
27
28
position .x * This .Sprite :getSize ().x ,
@@ -53,35 +54,37 @@ function Object:move(direction)
53
54
y = Object .pos .y + Directions [Object .direction ].y ;
54
55
};
55
56
Terrain .elements [Object .pos .y + 1 ][Object .pos .x + 1 ][2 ] = This :access ();
57
+ Object .moved = true ;
56
58
-- end
57
59
end
58
60
59
61
function Event .Game .Update (dt )
60
- if Object .activated == false and Terrain .elements [Object .pos .y + 1 ][Object .pos .x + 1 ][1 ]:getType () == " Objective" then
61
- Object .activated = true ;
62
- This .Sprite :loadTexture (" Sprites/GameObjects/Barrel/Barrel_activated.png" );
63
- elseif Object .activated ~= false and Terrain .elements [Object .pos .y + 1 ][Object .pos .x + 1 ][1 ]:getType () ~= " Objective" then
64
- Object .activated = false ;
65
- This .Sprite :loadTexture (" Sprites/GameObjects/Barrel/Barrel.png" );
66
- end
67
62
if Object .walking == Walking then
68
- local mx , my ;
69
- if Object .bound .use == " x" then
70
- mx , my = Object .bound .x * dt * Object .speed , 0 ;
71
- else
72
- mx , my = 0 , Object .bound .y * dt * Object .speed ;
63
+ if Object .activated == false and Terrain .elements [Object .pos .y + 1 ][Object .pos .x + 1 ][1 ]:getType () == " Objective" then
64
+ Object .activated = true ;
65
+ This .Sprite :loadTexture (" Sprites/GameObjects/Barrel/Barrel_activated.png" );
66
+ elseif Object .activated ~= false and Terrain .elements [Object .pos .y + 1 ][Object .pos .x + 1 ][1 ]:getType () ~= " Objective" then
67
+ Object .activated = false ;
68
+ This .Sprite :loadTexture (" Sprites/GameObjects/Barrel/Barrel.png" );
73
69
end
74
- local move = obe .Transform .UnitVector (mx , my );
75
- This .Sprite :move (move );
76
- local newpos = This .Sprite :getPosition ();
77
- if CompOps [Object .bound .cmp ](newpos [Object .bound .use ], Object .pos [Object .bound .use ] * Object .sprSize ) then
78
- Object .walking = NotWalking ;
70
+ if Object .walking == Walking then
71
+ local mx , my ;
72
+ if Object .bound .use == " x" then
73
+ mx , my = Object .bound .x * dt * Object .speed , 0 ;
74
+ else
75
+ mx , my = 0 , Object .bound .y * dt * Object .speed ;
76
+ end
77
+ local move = obe .Transform .UnitVector (mx , my );
78
+ This .Sprite :move (move );
79
+ local newpos = This .Sprite :getPosition ();
80
+ if CompOps [Object .bound .cmp ](newpos [Object .bound .use ], Object .pos [Object .bound .use ] * Object .sprSize ) then
81
+ Object .walking = NotWalking ;
82
+ local spritePos = obe .Transform .UnitVector (
83
+ Object .pos .x * This .Sprite :getSize ().x ,
84
+ Object .pos .y * This .Sprite :getSize ().y
85
+ );
86
+ This .Sprite :setPosition (spritePos );
87
+ end
79
88
end
80
- else
81
- local spritePos = obe .Transform .UnitVector (
82
- Object .pos .x * This .Sprite :getSize ().x ,
83
- Object .pos .y * This .Sprite :getSize ().y
84
- );
85
- This .Sprite :setPosition (spritePos );
86
89
end
87
90
end
0 commit comments