I was following this tutorial called Cocos2d Sprite Tutorial, and noticed as below, the variables were first declared in the header file with an extra "_" underscore character at the front.
But then at the @property declaration, the underscore character was removed.
And then in the main ".m" file, both names were used as below with the "=" sign at the "@synthesize".
And also inside the code both names were referenced as shown below:
But why? This is the not the first time I saw people doing that, but I don't understand the benefit at all, won't it be very confusing having 2 names for the same variable?
CCSprite *_dragon;
CCAction *_flyAction;
CCAction *_moveAction;
But then at the @property declaration, the underscore character was removed.
@property (nonatomic, retain) CCSprite *dragon;
@property (nonatomic, retain) CCAction *flyAction;
@property (nonatomic, retain) CCAction *moveAction;
And then in the main ".m" file, both names were used as below with the "=" sign at the "@synthesize".
@synthesize dragon = _dragon;
@synthesize moveAction = _moveAction;
@synthesize flyAction = _flyAction;
And also inside the code both names were referenced as shown below:
self.dragon = [CCSprite spriteWithSpriteFrame:frame1];
_dragon.position = ccp( s.width/2-80, s.height/2);
But why? This is the not the first time I saw people doing that, but I don't understand the benefit at all, won't it be very confusing having 2 names for the same variable?