1

私はcocos2d2.0を使用しています。エラーが発生します:property 'world' not found on object of type 'ColoredCircleSprite *' drawメソッドで間違って書いたものは何ですか?

-(void) draw
{
    [super draw];
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    kmGLPushMatrix();
    self.world->DrawDebugData();
    kmGLPopMatrix();
}

私はそこに示されているようにやろうとしました:Cocos2D 2.0 OpenGLエラー?

また、drawメソッドを実行する別の方法を見ました。行self.から削除する必要があります。削除するself.world->DrawDebugData();と、別のエラーが発生しますUse undeclared identifier 'world'

それはColoredCircleSprite.hコードです:

#import "cocos2d.h"

@interface ColoredCircleSprite : CCNode <CCRGBAProtocol, CCBlendProtocol> {
    float       radius_;
    GLubyte     opacity_;
    ccColor3B   color_;

    NSUInteger numberOfSegments;
    GLfloat *circleVertices_;

    ccBlendFunc blendFunc_;
}

@property (nonatomic,readwrite) float radius;

/** Opacity: conforms to CCRGBAProtocol protocol */
@property (nonatomic,readonly) GLubyte opacity;
/** Opacity: conforms to CCRGBAProtocol protocol */
@property (nonatomic,readonly) ccColor3B color;
/** BlendFunction. Conforms to CCBlendProtocol protocol */
@property (nonatomic,readwrite) ccBlendFunc blendFunc;

/** creates a Circle with color and radius */
+ (id) circleWithColor: (ccColor4B)color radius:(GLfloat)r;

/** initializes a Circle with color and radius */
- (id) initWithColor:(ccColor4B)color radius:(GLfloat)r;

- (BOOL) containsPoint:(CGPoint)point;

@end

cocos2d-iphone.comフォーラムからコードをコピーして貼り付けるだけです。どの変数がそこにあるべきか、そして変数があるべきかどうかは本当にわかりません。

ありがとう。

4

1 に答える 1

0
@interface ColoredCircleSprite : CCSprite
{
    b2World         *mWorld;
}
@property(nonatomic,assign) b2World         *world;
@end


@implementation ColoredCircleSprite
@synthesize world = mWorld;

-(void)initBox2D
{    
    //create world in right place...
    self.world = new b2World(gravity);
}
@end
于 2012-08-22T16:24:12.987 に答える