Psych Engine中Lua可点击图片功能异常问题
解决Psych Engine中点击Door图片无响应的问题
原代码存在的问题
objectsOverlap调用方式错误,无需用大括号包裹对象;且直接用mouse作为检测对象不准确,Psych Engine有专门的鼠标精灵检测函数onUpdate中未正确获取door精灵引用,直接写door会导致对象查找失败- 代码缩进错误,逻辑块未正确闭合,可能导致点击判断逻辑不执行
修复后的代码
function onCreatePost() setPropertyFromClass('flixel.FlxG', 'mouse.visible', true) makeLuaSprite('door', 'door', 10, 20); setScrollFactor('door', 0.9, 0.9); scaleObject('door', 1.8, 1.6); addLuaSprite('door', false); end function onUpdate() -- 检测左键点击且鼠标落在door精灵范围内 if mouseClicked('left') and isMouseOnSprite('door') then -- 加载目标歌曲,注意名称需与文件完全匹配(区分大小写) loadSong('BASEMENT') end end
额外注意事项
- 确认
BASEMENT对应的歌曲文件夹、文件名完全一致,Psych Engine对大小写敏感 - 若需指定难度加载,可添加参数:
loadSong('BASEMENT', 'HARD') - 仍无响应时,可在
onUpdate中加入debugPrint('Door clicked!')调试,确认逻辑是否触发
内容的提问来源于stack exchange,提问作者h8games87023
相关产品推荐
相关产品推荐

