我正试图实施一个游戏机制"挂钩"对象......这是我所谈论的图片:
但我对钩子的链/字符串有问题。
我已经尝试使用计时器和enterFrame
事件一步一步地创建它,但它们都会在链段之间产生巨大的差距。
我尝试创造整个链条的大图像并动态地改变宽度,但它只是伸展和看起来很有趣:D
也许有人遇到同样的问题?
答案 0 :(得分:2)
我建议你尝试一下。
容器会自动生成蒙版,因此您可以只将部分链隐藏在蒙版下,而不是拉伸。
此处是容器文档http://docs.coronalabs.com/daily/guide/graphics/container.html
的链接答案 1 :(得分:1)
这不是一个完整的答案 - 我已经给了你一个广泛问题的广泛答案,但我希望它可以帮助你创造你需要的东西。
我最近创造了一个非常相似的机制 -
我使用enterFrame
来调用一个函数,让我们调用它BuildHook
,这将检查钩子的位置和起始点的位置,然后计算需要多少个图像填补空间。我作为我的“钩子”的图形比链条件大一些,允许它重叠,只有在最后一块和钩子之间有足够的空间才能创建一个新图像。
这是钩子向前和向后移动然后在它和起点之间有一个静态的“链”。消费“链接”就像在它们上面向后移动一样,或者当它们远离它们时创建“链接”。
请记住这是伪代码,但应该让您知道如何制作它。
local arrayOfPieces = {}
local function BuildHook()
-- Bunch of variables you need to get
startX,startY,
hookX,hookY,
lastPieceX,lastPieceY,
singlePieceWidth
-- The hook pseudo code
if(hookX - lastPieceX >= singlePieceWidth) then
local newPiece = display.newImage('singlePiece.png');
newPiece.x = lastPieceX + singlePieceWidth/2
newPiece.y = lastPieceY
table.insert(arrayOfPieces,newPiece)
end
if(hookX < lastPieceX) then
lastPieceArrayPos = table.getn(arrayOfPieces)
table.remove(arrayOfPieces,lastPieceArrayPos)
lastPiece = arrayOfPieces[lastPieceArrayPos - 1]
end
end