0

我正在尝试使用 cocos2d 构建一个游戏,其中用户能够沿着路径拖动对象到最终目标。我已经让拖放工作,但我不确定如何实现路径,以便当用户离开路径时它会死掉。

知道如何实现这一点,以便我可以拥有多个级别吗?

4

1 回答 1

0

根据我对您的问题的理解,您根本不想进行拖放。而是将沿路径的移动作为一个动作,并使用用户的触摸来设置他们沿该动作的距离。这样(就像你用视频前后擦洗一样)用户可以沿着它的路径擦洗对象的动作。

首先,我会使用 CCBezierTo 或其他方式让您的对象沿着您想要的路径移动。当您对结果感到满意时,开始触摸操作。当用户触摸对象时,您想知道他们沿着路径有多远,0 是起点,1 是终点。然后将数字移近 1,越靠近触摸移动的端点,越靠近 0,越靠近起点。如果您的路径相当直,您可能只需简单计算触摸在起点和终点之间的直线上的位置。如果它是一条复杂的曲线,说绕圈子,您将需要做一些艰苦的工作/触发!

然后随着触摸的移动,您需要将对象的位置更新到路径上的新位置。假设您已经计算出触摸现在沿着您的路径在 0.75,您现在需要锻炼对象应该在 0.75 * 持续时间的位置。您可能需要为您的操作扩展或添加一个类别,以允许您设置给定经过值的位置。

希望这会引导您朝着可能的方向前进!

于 2012-10-19T11:53:48.703 回答