project/main/holdingamulet.script
2025-08-25 01:59:20 +01:00

70 lines
2.1 KiB
Text

function init(self)
msg.post("#sprite", "disable")
self.player_direction = "right"
self.visible = false
end
function final(self)
-- Add finalization code here
-- Learn more: https://defold.com/manuals/script/
-- Remove this function if not needed
end
function update(self, dt)
local player_pos = go.get_position("player")
if self.player_direction == "right" then
local offset = vmath.vector3(30, -8, 0)
go.set_position(player_pos + offset)
elseif self.player_direction == "left" then
local offset = vmath.vector3(-30, -8, 0)
go.set_position(player_pos + offset)
end
end
function fixed_update(self, dt)
-- This function is called if 'Fixed Update Frequency' is enabled in the Engine section of game.project
-- Can be coupled with fixed updates of the physics simulation if 'Use Fixed Timestep' is enabled in
-- Physics section of game.project
-- Add update code here
-- Learn more: https://defold.com/manuals/script/
-- Remove this function if not needed
end
function on_message(self, message_id, message, sender)
if message_id == hash("enable_sprite") then
msg.post("#sprite", "enable")
self.visible = true
end
if message_id == hash("testing_amulet") then
--print("testing_amulet")
msg.post(sender, "testing_amulet_response", {visible = self.visible})
end
if message_id == hash("right") then
self.player_direction = "right"
end
if message_id == hash("left") then
self.player_direction = "left"
end
if message_id == hash("disable_sprite") then
msg.post("#sprite", "disable")
self.visible = false
end
end
function on_input(self, action_id, action)
-- Add input-handling code here. The game object this script is attached to
-- must have acquired input focus:
--
-- msg.post(".", "acquire_input_focus")
--
-- All mapped input bindings will be received. Mouse and touch input will
-- be received regardless of where on the screen it happened.
-- Learn more: https://defold.com/manuals/input/
-- Remove this function if not needed
end
function on_reload(self)
-- Add reload-handling code here
-- Learn more: https://defold.com/manuals/hot-reload/
-- Remove this function if not needed
end