我正在Cocos2d中制作一个游戏。我希望用户的手指后面有一条虚线。我想要直线。问题是,我该如何检查球和用户触摸的地方之间的距离能容纳多少个"点"?让它沿着球的位置和手指的位置之间的直线移动?因此,这里有一个重新澄清:
球静止在屏幕的左侧,在屏幕的一半。用户拖动手指,在球的位置和触摸的位置之间画一条虚线。我有一个"点"图像要使用,我希望它被用作行中的点。因此,它必须在两点之间的区域内多次重新创建精灵。如果你想让我进一步澄清,请告诉我,谢谢!!
我会创建一个名为dottedLine之类的CCNode对象。
点图像将是一个精灵,它被添加为节点的子级(多次)。
我会用三角法/毕达哥拉斯定理计算出从球到手指触摸的路径。
用于创建行:
从球的0点开始,我会沿着路径向触摸点添加15-20个像素,然后放一个点,我会重复这个过程,直到我到达线的尽头。
每放置一个点,我都会增加一个计数器,并将该数字设置为该精灵的整数标记,以便在更新方法中使用。
每次调用cctouchsmoved方法时,我都会在dottedLine对象上调用一个update方法。
这种方法将检查球和触摸点之间的距离,将其除以对象当前子对象的点数,然后删除或添加所需的任何点。每次你移动手指时重新创建精灵都是混乱和浪费的,所以重复使用你的点,并在球和触点之间的路径发生变化时将它们设置为新的位置可能是最好的。
我不会给你们提供代码,我想我已经解释了足够多的工作,让你们做一些谷歌搜索并解决这个问题。