add auto control
This commit is contained in:
parent
91faa6f8de
commit
9373054ebe
@ -1,4 +1,5 @@
|
||||
local main_wrapper = require "love_src.wrapper.lappy.world"
|
||||
local vm = require "lib.vornmath"
|
||||
---@class wrappers.Concord.world : lappy.world
|
||||
local world = main_wrapper:extend()
|
||||
|
||||
@ -19,4 +20,33 @@ function world:load(entity, data)
|
||||
self.data = data or default
|
||||
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
|
||||
|
||||
@ -17,7 +17,7 @@ local entities_default = {
|
||||
{
|
||||
components = {
|
||||
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",
|
||||
name = "racer 1",
|
||||
@ -44,7 +44,7 @@ local entities_default = {
|
||||
},
|
||||
actor = {
|
||||
forward = 0.0,
|
||||
steer = 0.0
|
||||
steer = 0.0,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user