2011-06-12 48 views
0

让我来正确地做到这一点。Cocos2d中的区间类型帮助

我该如何做到这一点,以便它将每个(比方说)20像素添加一个精灵到屏幕上?为了创造一条线?我在标题中放置了间隔,因为我希望在两点距离内每20像素添加一个精灵。所以如果他们之间有2个点和200个像素,他们之间会有10个精灵。询问我是否需要进一步澄清。谢谢!

回答

2

如果我正确理解你,这里是我会怎么做:

你有你的两个端点P1和P2。 你可以沿着他们与一般方程创建的行发现的任意一点:

x = P1.x + blend * (P2.x - P1.x); 
y = P1.y + blend * (P2.y - P1.y); 

其中混合物是在两个点之间的百分比。

因此,通过获得点之间的距离并将其除以20得到20个像素之间的百分比。所以以你为例,两点之间的200个像素,20个像素是10%。

然后简单地循环创建新的精灵,同时增加混合直到达到100%。

+0

你如何计算混合? – yourface1234 2011-06-13 19:34:02

+0

您需要找到P1和P2之间的距离。如果你使用CGPoints,那么你可以调用ccpDistance(P1,P2)。如果不是,只需要Google距离公式就可以知道。 然后,您将该距离除以20 - 这会给出20个像素的百分比。例如,如果两点之间的距离为200像素,则20/200 = 0.10 = 10%。从零开始,按此百分比递增混合(即混合+ = 0.10f),在每个新点创建一个新的精灵,直到混合达到100%。 – mjvotaw 2011-06-13 22:01:35