Skip to content

Instantly share code, notes, and snippets.

View sdabet's full-sized avatar

Sébastien Dabet sdabet

  • Grenoble, France
View GitHub Profile
@sdabet
sdabet / gist:5227307
Last active December 15, 2015 07:59
CCLayer touch configuration
@implementation MyLayer
-(id) init {
if(self = [super init]) {
self.touchMode = kCCTouchesOneByOne;
self.touchEnabled = YES;
}
return self;
}
@sdabet
sdabet / gist:5063619
Created March 1, 2013 09:51
Usage of getChildByTagRecursive
// Define the tags
#define CLOUDS_TAG 1
// Load node hierarchy from CocosBuilder file
CCNode *background = [CCBReader nodeGraphFromFile:@"background.ccbi"];
// Recursively find node by tag
CCNode *clouds = [background getChildByTagRecursive:CLOUDS_TAG];
// Do stuff with the node
@interface CCNode (getChildByTagRecursive)
-(CCNode*) getChildByTagRecursive:(int) tag;
@end
@sdabet
sdabet / gist:5055368
Last active December 14, 2015 08:09
Usage of AchievementManager::incrementAchievementIdentifier
// Right after successful authentication
[[AchievementManager sharedManager] loadAchievements];
// When achieving a one-shot achievement, such as "Get 3 stars at first try", set progress to 100%
[[AchievementManager sharedManager] reportAchievementIdentifier:@"achievement.3starsAtFirstTry" percentComplete:100];
// When finishing a level, increment progress of "100 levels done" achievement by 1%
[[AchievementManager sharedManager] incrementAchievementIdentifier:@"achievement.100levels" percentIncrement:1];
@sdabet
sdabet / AchievementManager.h
Last active December 14, 2015 05:59
Achievement manager
@interface AchievementManager : NSObject
+(AchievementManager*) sharedManager;
/** Local copy of current achievements progress */
@property(nonatomic, retain) NSMutableDictionary *achievementsDictionary;
/** Must be called right after Game Center authentication */
-(void) loadAchievements;
@sdabet
sdabet / gist:5037241
Created February 26, 2013 09:25
CCMenuItem's SelectedFor category usage
CCMenuItemSprite *item = [CCMenuItemSprite
itemWithNormalSprite: [CCSprite spriteWithSpriteFrameName:@"sprite_normal.png"]
selectedSprite: [CCSprite spriteWithSpriteFrameName:@"sprite_selected.png"]
];
// ...
[item selectedFor:0.2]; // highlight sprite for 0.2 seconds
@sdabet
sdabet / gist:5037123
Last active December 14, 2015 05:40
CCMenuItem's SelectedFor category implementation
@implementation CCMenuItem (SelectedFor)
-(void) selectedFor:(ccTime)duration {
if ([self isSelected]) return;
[self selected];
[self runAction: [CCSequence
actionOne: [CCDelayTime actionWithDuration:duration]
two: [CCCallFunc actionWithTarget:self selector:@selector(unselected) ]
]];
@sdabet
sdabet / gist:5037078
Created February 26, 2013 08:54
CCMenuItem's SelectedFor category interface
@interface CCMenuItem (SelectedFor)
-(void) selectedFor:(ccTime)duration;
@end
@sdabet
sdabet / gist:4770049
Created February 12, 2013 13:57
Fix for blending issue with a CCLayerColor
myLayerColor.blendFunc = (ccBlendFunc) { GL_ONE, GL_ONE_MINUS_SRC_ALPHA };
CCSprite *mask = [CCSprite spriteWithFile:@"mask.png"];
mask.blendFunc = (ccBlendFunc) { GL_ONE_MINUS_DST_ALPHA, GL_DST_ALPHA };
[scene addChild: mask];