local sprite= false
local frame_table= {
{Frame= 0, Delay= .016},
{Frame= 1, Delay= .016},
{Frame= 2, Delay= .016},
{Frame= 3, Delay= .016},
}
local function input(event)
if event.type == "InputEventType_Release" then return false end
if event.DeviceInput.button == "DeviceButton_w" then
for i, frame in ipairs(frame_table) do
frame.Frame= i+11
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_s" then
for i, frame in ipairs(frame_table) do
frame.Frame= i-1
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_d" then
for i, frame in ipairs(frame_table) do
frame.Frame= i+7
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_a" then
for i, frame in ipairs(frame_table) do
frame.Frame= i+3
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_x" then
for i, frame in ipairs(frame_table) do
frame[1]= {0, 0}
frame[2]= {.25, .25}
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_z" then
for i, frame in ipairs(frame_table) do
frame[1]= {.25, .25}
frame[2]= {.5, .5}
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_c" then
for i, frame in ipairs(frame_table) do
frame[1]= {.25, .25}
frame[2]= {.75, .75}
end
sprite:SetStateProperties(frame_table)
elseif event.DeviceInput.button == "DeviceButton_v" then
for i, frame in ipairs(frame_table) do
frame[1]= nil
frame[2]= nil
end
sprite:SetStateProperties(frame_table)
end
end
local args= {
OnCommand= function(self)
SCREENMAN:GetTopScreen():AddInputCallback(input)
end,
Def.Sprite{
Texture= THEME:GetPathG("", "guy"),
Frames= frame_table,
InitCommand= function(self)
self:xy(_screen.cx, _screen.cy)
sprite= self
end
}
}
return Def.ActorFrame(args)