【问题标题】:levelhelper-spritehelper-corona sdk- object collisionlevelhelper-spritehelper-corona sdk-物体碰撞
【发布时间】:2014-05-05 08:48:06
【问题描述】:

我正在尝试制作像 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 不在屏幕上。我可以/应该做什么?

【问题讨论】:

    标签: lua coronasdk levelhelper


    【解决方案1】:

    请使用 gamedevhelper.com 论坛来帮助您解决与 LevelHelper 相关的问题。

    我不知道在这种情况下发生了什么,但你可以把项目发给我看看吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      相关资源
      最近更新 更多