【问题标题】:Interval kind of help in Cocos2dCocos2d 中的间隔类型帮助
【发布时间】:2011-06-12 23:25:39
【问题描述】:

让我直接说吧。

我怎样才能让它每(比方说)20 像素向屏幕添加一个精灵?从而创建一条线?我在标题中加上了间隔,因为我希望在两点的距离内每 20 个像素添加一个精灵。因此,如果有 2 个点,它们之间有 200 个像素,那么它们之间将放置 10 个精灵。问我是否需要进一步澄清。谢谢!

【问题讨论】:

    标签: iphone cocos2d-iphone sprite intervals pixels


    【解决方案1】:

    如果我的理解正确,我会这样做:

    您有两个端点 P1 和 P2。 您可以使用一般方程沿着它们创建的线找到任意点:

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

    其中 blend 是两点之间的百分比。

    因此,通过获取点之间的距离并除以 20,找出两者之间 20 像素的百分比。所以以你的例子来说,两点之间有 200 个像素,20 个像素是 10%。

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

    【讨论】:

    • 你需要找到P1和P2之间的距离。如果您使用的是 CGPoints,那么您只需调用 ccpDistance(P1,P2)。如果没有,只需谷歌距离公式即可。然后,你将 20 除以那个距离——这就是 20 像素的百分比。例如,如果两点之间的距离为 200 像素,则 20/200 = 0.10 = 10%。从零开始,您将混合增加这个百分比(即混合+= 0.10f),在每个新点创建一个新精灵,直到混合达到 100%。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2011-08-07
    • 1970-01-01
    相关资源
    最近更新 更多