作为我之前关于
displaying the anchor point的问题的后续问题,我将CCSprite子类化并更改了其绘制方法如下:
@H_404_14@[super draw]; ccDrawColor4F(0,1,1); ccDrawCircle(self.anchorPointInPoints,20,8,YES);
CGRect bb = self.boundingBox; CGPoint vertices[4] = { [self convertToNodeSpace:ccp(bb.origin.x,bb.origin.y)],[self convertToNodeSpace:ccp(bb.origin.x + bb.size.width,bb.origin.y + bb.size.height)],[self convertToNodeSpace:ccp(bb.origin.x,}; ccDrawPoly(vertices,4,YES);
这也很好,直到我重申一个精灵:
CGPoint oldPosition = [sprite convertToWorldSpace:sprite.position]; [sprite removeFromParentAndCleanup:NO]; [parentSprite addChild:sprite]; sprite.position = [sprite convertToNodeSpace:oldPosition];
小精灵现在处于正确的位置,其定位点应该在哪里,但是边框将在错误的地方.我究竟做错了什么?