我试图制作像DoodleJump这样的游戏。 在级别(320x9600)中,对象的位置(bar1_67)(当然有很多对象)是(177,263)并且对象具有物理形状。要求" LevelHelper.LevelHelperLoader",我加载了关卡:
...
local loader={}
--loading level
loader.level=LevelHelperLoader:initWithContentOfFile("level1.plhs")
loader.level:instantiateObjects()
loader.level:removeBackgroundColor()
local lhGroup=loader.level:layerWithUniqueName("MAIN_LAYER")
group:insert(lhGroup)
--to scroll the level, and start from the bottom of level
lhGroup.y=-loader.level.lhGameWorldRect.size.height+display.contentHeight
...
在此步骤之后,bar1_67的新Y位置(根据设备屏幕)约为-9000s。 然后我添加了播放器,需要" SpriteHelper.SpriteHelperLoader":
...
sLoader = require("SpriteHelper.SpriteHelperLoader")
local _player={}
_player.player=sLoader:createSpriteWithName("player","sprites","extra.pshs")
_player.player:setReferencePoint(display.centerReferencePoint)
_player.player.x=display.contentWidth*0.5
_player.player.y=display.contentHeight*0.4
...
当启动模拟器时,滚动了是等级,但玩家与看不见的东西相撞并停留在空中。 然后我添加了这段代码,看看发生了什么:
...
function aa(self,event)
if(event.phase=="began") then
print(event.other.x, event.other.y, event.other.lhUniqueName)
end
end
_player.player.collision=aa
_player.player:addEventListener( "collision", _player.player )
...
输出是:
177 263 bar1_67
但正如我所说,水平滚动并且bar1_67不在屏幕上。我能做什么/应该做什么?
答案 0 :(得分:0)
请使用gamedevhelper.com论坛以帮助您解决与LevelHelper相关的问题。
我不知道在这种情况下会发生什么,但是你可以把项目寄给我看看吗?