绘制一条跟随两个独立对象的线

时间:2015-01-22 16:13:22

标签: objective-c cocos2d-iphone

我正试图在屏幕上画一条跟随两个移动物体的线。意味着每个末端都连接到其中一个对象,即使这些对象彼此独立地移动。这是我绘制线条的代码:

CCDrawNode *draw = [[CCDrawNode alloc] init];
CCColor *color = [[CCColor alloc]initWithCcColor3b:ccc3(140, 100, 10)];


CGPoint worldCoordCart = [_cart convertToWorldSpace: _cart.position];
CGPoint worldCoordClaw = [_claw convertToWorldSpace: _claw.position];


[draw drawSegmentFrom:worldCoordCart to:worldCoordClaw radius:5 color: color];


[self addChild:draw];

如何在某种意义上尝试更新绘制方法,以便该行始终连接到两个对象?为什么我的线段不在我的物体之间,即使在我看来它们的位置应该相同?在理解世界空间定位时,我觉得我缺少一些基本的东西。

1 个答案:

答案 0 :(得分:0)

_cart.position是其父级的位置,而不是_cart。试试

CGPoint worldCoordCart = [_cart.parent convertToWorldSpace:_cart.position];

_claw相同。

另外,我不认为嵌入在CCDrawNode中的绘图原语可以更新。我认为你必须继承CCDrawNode并为自己提供更新开始和结束位置的方法。如果更新了其中任何一个,则首先使用clear方法,然后添加一个包含更新坐标的新线段。