add auto control
This commit is contained in:
parent
31612b8526
commit
805a1d1a23
@ -1,4 +1,5 @@
|
|||||||
local main_wrapper = require "love_src.wrapper.lappy.world"
|
local main_wrapper = require "love_src.wrapper.lappy.world"
|
||||||
|
local vm = require "lib.vornmath"
|
||||||
---@class wrappers.Concord.world : lappy.world
|
---@class wrappers.Concord.world : lappy.world
|
||||||
local world = main_wrapper:extend()
|
local world = main_wrapper:extend()
|
||||||
|
|
||||||
@ -19,4 +20,33 @@ function world:load(entity, data)
|
|||||||
self.data = data or default
|
self.data = data or default
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function handle_input(v2, accel, brake, steer)
|
||||||
|
local desire_forward = 0
|
||||||
|
local desire_steer = 0
|
||||||
|
if (v2[1] > 0) then
|
||||||
|
desire_forward = accel
|
||||||
|
elseif (v2[1] < 0) then
|
||||||
|
desire_forward = - brake
|
||||||
|
end
|
||||||
|
if (v2[2] < 0) then
|
||||||
|
desire_steer = steer
|
||||||
|
elseif (v2[2] > 0) then
|
||||||
|
desire_steer = - steer
|
||||||
|
end
|
||||||
|
return desire_forward, desire_steer
|
||||||
|
end
|
||||||
|
|
||||||
|
local function plan()
|
||||||
|
return vm.vec2(1.0, 1.0)
|
||||||
|
end
|
||||||
|
|
||||||
|
function world:update(dt)
|
||||||
|
local accel, brake, steer = self.e.components.racer.data.accel, self.e.components.racer.data.brake, self.e.components.racer.data.steer
|
||||||
|
local plan_v = plan()
|
||||||
|
local desire_forward, desire_steer = handle_input(plan_v, accel, brake, steer)
|
||||||
|
|
||||||
|
self.data.forward = desire_forward
|
||||||
|
self.data.steer = desire_steer
|
||||||
|
end
|
||||||
|
|
||||||
return world
|
return world
|
||||||
|
|||||||
@ -17,7 +17,7 @@ local entities_default = {
|
|||||||
{
|
{
|
||||||
components = {
|
components = {
|
||||||
racer = require("love_src.src.new.components.racer"),
|
racer = require("love_src.src.new.components.racer"),
|
||||||
actor = require("love_src.src.new.components.player"),
|
actor = require("love_src.src.new.components.actor"),
|
||||||
},
|
},
|
||||||
type = "racer",
|
type = "racer",
|
||||||
name = "racer 1",
|
name = "racer 1",
|
||||||
@ -44,7 +44,7 @@ local entities_default = {
|
|||||||
},
|
},
|
||||||
actor = {
|
actor = {
|
||||||
forward = 0.0,
|
forward = 0.0,
|
||||||
steer = 0.0
|
steer = 0.0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user