这让我发疯。我必须在实现模拟侧视图中的水的 CCNODE 类的实现中进行下一个分配的 GLfloat(它来自我在 cocos2dForum 中找到的一个类)更新:
-(id)initWithBounds:(CGRect)bounds count:(int)count damping:(float)damping diffusion:(float)diffusion;
{
if((self = [super init])){
_bounds = bounds;
_count = count;
_damping = damping;
_diffusion = diffusion;
_color = ccc4f(1.0f, 1.0f, 1.0f, 1.0f);
_h1 = calloc(_count, sizeof(float));//Here
_h2 = calloc(_count, sizeof(float));// And here, is where I get the error.
WaterTexture = [[CCTextureCache sharedTextureCache] addImage:@"watter.png"];
//shader_ = [[CCShaderCache sharedShaderCache] programForKey:kCCShader_Position_uColor];
shader_ = [[CCShaderCache sharedShaderCache] programForKey:kCCShader_PositionTexture];
_textureLocation = glGetUniformLocation(shader_->_program, "u_texture");
texturesize= 256*CC_CONTENT_SCALE_FACTOR();
offset=0;
}
return self;
}
- (void)dealloc
{
free(_h1);
free(_h2);
[super dealloc];
}
此类在 Cocos3d 项目中实现。在添加 Box2d 库之前,一切正常,模拟了水,但是在添加 Box2D 库之后,XCode 开始抱怨说“从不兼容的类型 void 分配给 GLfloat” 为什么会发生这种情况?这真的很罕见......问候。卡洛斯。