adjusted hook to be toggle; renamed HasPressed to CheckPressed (keybind)
This commit is contained in:
parent
6566e6fbab
commit
9d1e59b46a
|
@ -1,7 +1,8 @@
|
||||||
function EditorStep()
|
function EditorStep()
|
||||||
palette = palette or false
|
palette = palette or false
|
||||||
AnimateTiles()
|
AnimateTiles()
|
||||||
if Keybind:HasPressed(Keybind.editor.palette) then
|
|
||||||
|
if Keybind:CheckPressed(Keybind.editor.palette) then
|
||||||
if palette then
|
if palette then
|
||||||
palette = false
|
palette = false
|
||||||
palette_scroll_x = nil
|
palette_scroll_x = nil
|
||||||
|
@ -26,7 +27,7 @@ function EditorStep()
|
||||||
end
|
end
|
||||||
|
|
||||||
if palette then
|
if palette then
|
||||||
if Keybind:HasPressed(Keybind.debug.debug) then
|
if Keybind:CheckPressed(Keybind.debug.debug) then
|
||||||
local next = false
|
local next = false
|
||||||
local export = nil
|
local export = nil
|
||||||
for k, v in pairs(tileset) do
|
for k, v in pairs(tileset) do
|
||||||
|
@ -51,11 +52,11 @@ function EditorStep()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.reload) then
|
if Keybind:CheckPressed(Keybind.debug.reload) then
|
||||||
ExportLevel("test")
|
ExportLevel("test")
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.editor) then
|
if Keybind:CheckPressed(Keybind.debug.editor) then
|
||||||
editor_mode = false
|
editor_mode = false
|
||||||
TileCreateObjects()
|
TileCreateObjects()
|
||||||
end
|
end
|
||||||
|
@ -126,10 +127,10 @@ function EditorDoEdit()
|
||||||
end
|
end
|
||||||
LevelReloadTiles()
|
LevelReloadTiles()
|
||||||
|
|
||||||
elseif Keybind:HasPressed(Keybind.generic.lshift) then
|
elseif Keybind:CheckPressed(Keybind.generic.lshift) then
|
||||||
LevelExpandCanvas(math.sign(expand_h),math.sign(expand_v))
|
LevelExpandCanvas(math.sign(expand_h),math.sign(expand_v))
|
||||||
LevelReloadTiles()
|
LevelReloadTiles()
|
||||||
elseif Keybind:HasPressed(Keybind.generic.lctrl) then
|
elseif Keybind:CheckPressed(Keybind.generic.lctrl) then
|
||||||
LevelReduceCanvas(math.sign(expand_h),math.sign(expand_v))
|
LevelReduceCanvas(math.sign(expand_h),math.sign(expand_v))
|
||||||
LevelReloadTiles()
|
LevelReloadTiles()
|
||||||
end
|
end
|
||||||
|
|
|
@ -140,7 +140,10 @@ function Player:Smart()
|
||||||
self.isDashing = false
|
self.isDashing = false
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:CheckDown(Keybind.move.hook) then
|
if Keybind:CheckPressed(Keybind.move.hook) then
|
||||||
|
if self.isHooked then
|
||||||
|
self.isHooked = false
|
||||||
|
else
|
||||||
local anchor = self:CheckNearest("decoration",self.hookDistance)
|
local anchor = self:CheckNearest("decoration",self.hookDistance)
|
||||||
if anchor then
|
if anchor then
|
||||||
self.isHooked = true
|
self.isHooked = true
|
||||||
|
@ -149,8 +152,7 @@ function Player:Smart()
|
||||||
y = anchor.pos.y
|
y = anchor.pos.y
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
else
|
end
|
||||||
self.isHooked = false
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -194,9 +196,19 @@ function Player:DoPhysics()
|
||||||
if self.isHooked then
|
if self.isHooked then
|
||||||
local hook = Vector(self.pos.x, self.pos.y, self.hookAnchor.x, self.hookAnchor.y)
|
local hook = Vector(self.pos.x, self.pos.y, self.hookAnchor.x, self.hookAnchor.y)
|
||||||
if GetVectorValue(hook) > self.hookedDistance then
|
if GetVectorValue(hook) > self.hookedDistance then
|
||||||
local hook_angle = GetAngleFromVector(hook[1],hook[2])
|
local particle_data = {
|
||||||
local pos_x = self.hookAnchor.x + self.hookedDistance * math.cos(-math.rad(180)+hook_angle)
|
animation = self.body,
|
||||||
local pos_y = self.hookAnchor.y + self.hookedDistance * math.sin(-math.rad(180)+hook_angle)
|
sprite_tint = HEX2RGB("#fed100"),
|
||||||
|
sprite_alpha = 0.5,
|
||||||
|
sprite_flip = {
|
||||||
|
x = self.sprite_flip.x,
|
||||||
|
y = self.sprite_flip.y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Particle:New(self.pos.x,self.pos.y,particle_data)
|
||||||
|
local hook_angle = GetAngleFromVector(hook[1],hook[2])-math.rad(180)
|
||||||
|
local pos_x = self.hookAnchor.x + self.hookedDistance * math.cos(hook_angle)
|
||||||
|
local pos_y = self.hookAnchor.y + self.hookedDistance * math.sin(hook_angle)
|
||||||
self.vel.x = self.vel.x + pos_x - self.pos.x
|
self.vel.x = self.vel.x + pos_x - self.pos.x
|
||||||
self.vel.y = self.vel.y + pos_y - self.pos.y
|
self.vel.y = self.vel.y + pos_y - self.pos.y
|
||||||
self.pos.x = pos_x
|
self.pos.x = pos_x
|
||||||
|
@ -206,7 +218,7 @@ function Player:DoPhysics()
|
||||||
|
|
||||||
|
|
||||||
if self.canFall then
|
if self.canFall then
|
||||||
-- not in dash or hook; fall normally
|
-- not in dash
|
||||||
self.dashTimer = 0
|
self.dashTimer = 0
|
||||||
self.vel.y = self.vel.y + gravity
|
self.vel.y = self.vel.y + gravity
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,7 +20,7 @@ function GameStep()
|
||||||
Camera:positionCenterAt(main_Player.pos.x, main_Player.pos.y)
|
Camera:positionCenterAt(main_Player.pos.x, main_Player.pos.y)
|
||||||
--camera:positionAt(main_Player.pos.x, main_Player.pos.y,game.width,game.height)
|
--camera:positionAt(main_Player.pos.x, main_Player.pos.y,game.width,game.height)
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.debug) then
|
if Keybind:CheckPressed(Keybind.debug.debug) then
|
||||||
if debug then
|
if debug then
|
||||||
debug = false
|
debug = false
|
||||||
debug_collision = true
|
debug_collision = true
|
||||||
|
@ -31,19 +31,19 @@ function GameStep()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.reposition) then
|
if Keybind:CheckPressed(Keybind.debug.reposition) then
|
||||||
if not editor_mode then
|
if not editor_mode then
|
||||||
main_Player.pos.x, main_Player.pos.y = 16,-10
|
main_Player.pos.x, main_Player.pos.y = 16,-10
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.reload) then
|
if Keybind:CheckPressed(Keybind.debug.reload) then
|
||||||
MenuClear()
|
MenuClear()
|
||||||
menu_type = "dialog"
|
menu_type = "dialog"
|
||||||
MenuInit("dialog",DialogSequence.Example)
|
MenuInit("dialog",DialogSequence.Example)
|
||||||
end
|
end
|
||||||
|
|
||||||
if Keybind:HasPressed(Keybind.debug.editor) then
|
if Keybind:CheckPressed(Keybind.debug.editor) then
|
||||||
editor_mode = true
|
editor_mode = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -16,7 +16,7 @@ function Keybind:CheckDown(action)
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
function Keybind:HasPressed(action)
|
function Keybind:CheckPressed(action)
|
||||||
if Keybind:CheckDown(action) then
|
if Keybind:CheckDown(action) then
|
||||||
if not action.pressed then
|
if not action.pressed then
|
||||||
action.pressed = true
|
action.pressed = true
|
||||||
|
|
2
main.lua
2
main.lua
|
@ -93,7 +93,7 @@ function love.update(dt)
|
||||||
end
|
end
|
||||||
|
|
||||||
--keypressed
|
--keypressed
|
||||||
if Keybind:HasPressed(Keybind.menu.pause) then
|
if Keybind:CheckPressed(Keybind.menu.pause) then
|
||||||
if do_pause then
|
if do_pause then
|
||||||
do_pause = false
|
do_pause = false
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
(*) Ideas
|
||||||
|
( ) DO FLIES
|
||||||
|
( ) DO UI
|
||||||
|
( ) DO DAMAGE TO PLAYER
|
||||||
|
|
||||||
|
( ) Visual design
|
||||||
|
(~) Multicolor palette depending on area, with 3 main colors
|
||||||
|
(X) Library: Gold #fed100
|
||||||
|
( )
|
||||||
|
( ) Dialog
|
||||||
|
( ) Fonts
|
||||||
|
( ) Characters
|
||||||
|
( ) Level design
|
||||||
|
( ) Enemy design
|
||||||
|
|
||||||
|
( ) Gameplay design
|
||||||
|
( ) Level design
|
||||||
|
( ) Mechanic design
|
||||||
|
( ) Entity design
|
||||||
|
(~) FAIRY
|
||||||
|
(X) basic movement
|
||||||
|
(X) Fairy particles~~
|
||||||
|
( ) more intelligent movement
|
||||||
|
( ) avoid getting stuck to walls
|
||||||
|
( ) Playtest tools
|
||||||
|
|
||||||
|
( ) Technical design
|
||||||
|
(?) Input
|
||||||
|
(X) ADDED KEYBINDS
|
||||||
|
( )
|
||||||
|
(?) Draw
|
||||||
|
(X) REHANDLE ANIMATIONS
|
||||||
|
(X) MAKE LIGHTING SYSTEM
|
||||||
|
(X) Pixel perfect entity drawing
|
||||||
|
( ) Pixel perfect lights
|
||||||
|
(?) Player
|
||||||
|
(X) MASKS FUNCTIONALITY
|
||||||
|
( )
|
||||||
|
(?) Physics
|
||||||
|
(X) MAKE PHYSICS CONSISTENT
|
||||||
|
(X) MAKE HITBOXES
|
||||||
|
(X) PHYSICS BY FRAME
|
||||||
|
(X) DEACTIVATE ARROWS WHEN STUCK
|
||||||
|
( )
|
||||||
|
(~) Dialog
|
||||||
|
(X) Object and Basics
|
||||||
|
( ) Fix font and align problems
|
||||||
|
( ) Implement portrait
|
||||||
|
(X) Translating framework
|
||||||
|
( ) Debug tools
|
||||||
|
( ) Audio and BGM
|
||||||
|
(~) REMAKE LEVEL EDITOR
|
||||||
|
(~) ADD WAY TO EDIT A LEVEL (EDITOR MODE)
|
||||||
|
(X) SHOW PALETTE
|
||||||
|
(X) PICK UP TILE FROM PALETTE
|
||||||
|
(X) PLACE PICKED UP TILE
|
||||||
|
( ) WAY TO INSERT ENTITIES IN THE LEVEL
|
||||||
|
(X) ADD WAY TO SAVE A LEVEL
|
||||||
|
|
||||||
|
( ) Narrative design
|
||||||
|
( ) Dialog
|
||||||
|
( ) Characters
|
||||||
|
( ) Area design
|
||||||
|
( ) Translations
|
||||||
|
( ) SPA "es_ES"
|
||||||
|
( ) ENG "en_UK"
|
||||||
|
( ) CAT "ca_ES"
|
||||||
|
( ) HEON "Myrheonian"
|
Loading…
Reference in New Issue