我试图用CCRenderTexture像素完美碰撞检测,在此论坛发帖概述:CCRenderTexture大小和位置
http://www.cocos2d-iphone.org/forum/topic/18522/page/2
代码“原样”的作品,我有将其与我的项目集成
但是我在讨论其他一些问题时遇到了困难: 如果我将renderTexture创建为小于屏幕大小的任何大小,碰撞检测将无法正常工作 - 似乎在精灵接近时显示碰撞(< 15px)彼此,但实际上没有碰撞。
我也有麻烦改变渲染纹理的位置。无论我指定的位置如何,它似乎从左下角(0,0)到指定宽度&的高度。我跟着这个帖子:
http://www.cocos2d-iphone.org/forum/topic/18796
但它并没有解决我的问题。我仍然遇到像上面指定的不好的碰撞。另外,我在列表中提到的第一篇文章包含了很多用户的评论,他们将纹理调整为10x10,并将它们重新放置在屏幕外。
没有人有任何的示例代码,这样我就可以看到我在做什么错?我只是用样板代码:
CCRenderTexture* _rt = [CCRenderTexture renderTextureWithWidth:winSize.width height:winSize.height];
_rt.position = CGPointMake(winSize.width*0.5f, winSize.height*0.5f);
[[RIGameScene sharedGameScene]addChild:_rt];
_rt.visible = YES;
我使用了cocos2d-iphone 1.0.1
请注意,您关注的纹理存在于'_rt.sprite'。因此,任何定位点计算都应该应用于rendertexture中的精灵,而不是rendertexture本身(其大小为(0,0)) – 2012-01-30 09:52:22
我不做任何定位点计算。 _rt。sprite就是我所说的 - 位置永远是0,0 – xcoder 2012-01-30 10:21:25
注意:如果你的精灵都没有旋转,你可以使用我的CCRenderTexture教程中描述的更快的像素完美的碰撞代码:http://www.learn- cocos2d.com/2011/12/how-to-use-ccrendertexture-motion-blur-screenshots-drawing-sketches/ – LearnCocos2D 2012-01-30 22:38:10