рдирдорд╕реНрдХрд╛рд░, рд╣рд░рд╛рдордЬрд┐рддреА!
рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЧреЗрдо iPhone SDK рдиреЗ рдПрдХ рдкреЗрд╢рд╛рдм рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓рдбрд╝рдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рдпрд╣ 3G рдФрд░ 3GS рдкрд░ рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛ред рджреВрд╕рд░рд╛ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдХрдо рд▓реЛрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрдмрдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА cocos2d рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рдерд╛, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЕрдм рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓реМрдЯрд╛ рдФрд░ рдЗрд╕ рдордВрдЪ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ cocos2d рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдмрддрд╛рдКрдВрдЧрд╛, рдпрд╣
рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд
рд╣реИ , рдореИрдВ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдерд┐рд░ 1.0.1
рд╕рдВрд╕реНрдХрд░рдг рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдкрд░рддреЛрдВ рдХреЗ рдмреАрдЪ рдореЗрдиреВ, рдПрдиреАрдореЗрд╢рди рдФрд░ рд╕рдВрдХреНрд░рдордг рдХреИрд╕реЗ рдмрдирд╛рдПрдВред
рддреЛ рдмрд╛рдд рд╣реИред
рд╣рдо cocos2d рдкрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ iPad рдкрд░ рдУрд░рд┐рдПрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, HelloWorldLayer.m рдлрд╛рдЗрд▓ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ - (id) рдЗрдирд┐рдЯ рдореЗрдердб рдореЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд╛рдЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ:
-(id) init { if( (self=[super init])) { // , CGSize size = [[CCDirector sharedDirector] winSize]; // backgroung CCSprite * background = [CCSprite spriteWithFile:@"clean bg.png"]; // background.position = ccp(size.width/2, size.height/2); // CCLayer , // z:-1 [self addChild:background z:-1]; } return self; }
рдореИрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рд╣рдо рдкрд░рдд рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЯреИрдЧ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
[self addChild:background z:-1 tag:100];
рдпрд╣ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдпрд╛ рд╡рд░реНрдЧ рдореЗрдВ рдЯреИрдЧ рдХрд░ рд╕рдХреЗрдВ, рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
CCSprite *spr = (CCSprite *)[self getChildByTag:100];
рдлрд┐рд░ рдЗрд╕ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд░реЗрдВред
рдЕрдЧрд▓рд╛, рдпрд╣рд╛рдВ рд╣рдо рдореЗрдиреВ рдмрдирд╛рддреЗ рд╣реИрдВ:
// // CCMenuItemImage * image = [CCMenuItemImage itemFromNormalImage:@"new_game.png" selectedImage:@"new_game.png" target:self selector:@selector(perehod_v_igru)]; // ( , // ) image.position = ccp(0, 50); // font CCMenuItemFont * font = [CCMenuItemFont itemFromString:@"" target:self selector:@selector(options)]; font.position = ccp(0, -50); // // CCMenu * menu = [CCMenu menuWithItems:image, font, nil]; // menu.position = ccp(size.width /2 , size.height/2); // [self addChild:menu];
Cocos2d рдореЗрдиреВ iPhone SDK рдмрдЯрди рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдпрд╣рд╛рдВ рд╣рдордиреЗ 2 рдкреНрд░рдХрд╛рд░ рдХреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ (рдЪрд┐рддреНрд░ рдФрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ) рдХреЛ рджреЗрдЦрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХреБрдЫ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпреЗ рдЕрдиреНрдп рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рд╣реИрдВ:
-(void)perehod_v_igru { // [[CCDirector sharedDirector] replaceScene:[CCTransitionPageTurn transitionWithDuration:1 scene:[Game node]]]; }
рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдПрдХ рдкрд░рдд рд╕реЗ рджреВрд╕рд░реА рдкрд░рдд рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
-(void)options { // [[CCDirector sharedDirector] pushScene:[Options node]]; }
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдкрд░рдд рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
pushScene
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рд╡рд┐рдХрд▓реНрдк рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, + N рдХрдорд╛рдВрдб рджрдмрд╛рддреЗ рд╣реИрдВ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд┐рдЫрд▓реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рдПрдХ рдХрд╕реНрдЯрдо рд▓реЗрдпрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдХрд╛рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди RGB рдореЗрдВ рдЦреЗрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдХреЛрдИ рднреА рд░рдВрдЧ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдмрд╛рдж, CCMenu рдмрдирд╛рдПрдБ рдФрд░ рд╡рд┐рдзрд┐ рдореБрдЦреНрдп рдореЗрдиреВ рдореЗрдВ obatno рд▓реМрдЯрд╛рддреА рд╣реИ:
-(id) init { // RGB if ((self = [super initWithColor:ccc4(255, 0, 0, 155)])) { CGSize size = [[CCDirector sharedDirector] winSize]; CCMenuItemFont * font = [CCMenuItemFont itemFromString:@" " target:self selector:@selector(backItem)]; font.position = ccp(0, 0); CCMenu * menu = [CCMenu menuWithItems: font, nil]; menu.position = ccp(size.width /2 , size.height/2); [self addChild:menu]; } return self; } -(void)backItem{ // [[CCDirector sharedDirector] popScene]; }
popScene рд╡рд░реНрддрдорд╛рди рдкрд░рдд рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкрд░рдд рдХреЗ рдиреАрдЪреЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ рдкрд░рдд рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред
рдЕрдЧрд▓рд╛, рдПрдХ рдЧреЗрдо рд▓реЗрдпрд░ рдмрдирд╛рдПрдВ:



рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдмрдирд╛рдПрдБ рдФрд░ Game.m рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдФрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рджреЗрд░реА рд╕реЗрдЯ рдХрд░реЗрдВ:
-(id) init { if( (self=[super init])) { CGSize size = [[CCDirector sharedDirector] winSize]; // background CCSprite * background = [CCSprite spriteWithFile:@"clean bg.png"]; //anchorPoint , //background.anchorPoint = ccp(0.5f,0.5f); // anchorPoint = ccp(1, 1); // , (0, 0) background.anchorPoint = ccp(1, 1); background.position = ccp(size.width, size.height); [self addChild:background z:-1]; // 0,5 [self performSelector:@selector(sozdanie_CCSprite) withObject:self afterDelay:0.5]; } return self; }
рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рдПрдВрдХрд░рд╡рд░реНрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдЗрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡реЗрджрди рджреЗрдЦреЗрдВрдЧреЗ:
-(void)sozdanie_CCSprite { // background CCSprite * tarakan = [CCSprite spriteWithFile:@"tarakan0.png"]; tarakan.position = ccp(512, 100); tarakan.anchorPoint = ccp(0,0); [self addChild:tarakan]; //Actions // id move = [CCMoveBy actionWithDuration:2 position:ccp(0, 500)]; // id accel = [CCEaseInOut actionWithAction:move rate:5]; // id rotate = [CCRotateBy actionWithDuration:2.0f angle:360]; // [tarakan runAction:[CCSequence actions:accel, rotate, nil]]; // [self performSelector:@selector(animation) withObject:self afterDelay:3.5]; }
рдпрд╣рд╛рдБ рд╣рдо рдПрдХ рддрд┐рд▓рдЪрдЯреНрдЯрд╛ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрдХрд░реЛрдЪ рддреНрд╡рд░рдг рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдШреВрдорддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдзреБрд░реА рдмрд┐рдВрджреБ рдирд┐рдЪрд▓реЗ рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рд╣реИ, рдпрд╣ рдПрдВрдХрд░рдкреЙрдЗрдВрдЯ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИ (0, 0)ред рд╣рдордиреЗ рдХреЙрдХрд░реЛрдЪ рдХреЗ рдЖрдВрджреЛрд▓рди рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛, CCMoveBy рдЖрдВрджреЛрд▓рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, CCEaseInOut рдЖрдВрджреЛрд▓рди рдХреЗ рджреМрд░рд╛рди рддреНрд╡рд░рдг рдФрд░ рдордВрджреА рдХреА рдЪрд┐рдХрдирд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ CCRotateBy рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╣рдо рдпрд╣рд╛рдВ CCSequence рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрджрд▓реЗ рдореЗрдВ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЖрдЦрд┐рд░реА, рджреЗрд░реА рдХреЗ рдмрд╛рдж рдПрдХ рдПрдиреАрдореЗрд╢рди рдмрдирд╛рдПрдВ:
-(void)animation { CGSize size = [[CCDirector sharedDirector] winSize]; // plist [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"tarakan.plist" textureFile:@"tarakan.png"]; //CCSpriteBatchNode cocos2d, // // CCSpriteBatchNode * bowSheet = [CCSpriteBatchNode batchNodeWithFile:@"tarakan.png"]; NSString *topbird = @"tarakan"; NSMutableArray *walkAnimFrames = [NSMutableArray array]; // for(int i = 1; i <= 4; ++i) { CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName: topbird stringByAppendingString:[ NSString stringWithFormat:@"%d.png", i]]]; [walkAnimFrames addObject:frame]; } // CCAnimation *walkAnim = [CCAnimation animationWithFrames:walkAnimFrames delay:0.1f]; NSString *bowFrame = [topbird stringByAppendingString:@"1.png"]; // CCSprite * bow = [CCSprite spriteWithSpriteFrameName:bowFrame]; bow.position = ccp(size.width/2 , -100); [bowSheet addChild:bow]; //CCAnimate CCAnimation // CCAnimate CCAnimate * bowAnim = [[CCAnimate actionWithAnimation:walkAnim restoreOriginalFrame:YES] retain]; [self addChild:bowSheet]; // id walkAction = [CCRepeat actionWithAction:bowAnim times:5]; // id da = [CCMoveBy actionWithDuration:2 position:ccp(0, 600)]; // [bow runAction:[CCSpawn actions:da, walkAction, nil]]; }
рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА, рдореИрдВ
рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ
zwoptexapp.com рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рд╡рдЯ рдмрдирд╛рдИ рд╣реИ, рдпрд╣ рдореБрдлрд╝реНрдд рд╣реИ, рд╡рд╣рд╛рдВ рдореБрдЭреЗ
рдкреНрд▓рд┐рд╕реНрдЯ рдФрд░ рдкреАрдПрдирдЬреА рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реАрдВ, рдЙрдиреНрд╣реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЦреАрдВрдЪ рд▓рд┐рдпрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ
tarakan.plist
рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдФрд░ рдЗрд╕рд▓рд┐рдП
tarakan.png
рдлрд╝рд╛рдЗрд▓:

рдпрд╣ рднреА рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ CCSequence рдХреЗ рдмрдЬрд╛рдп рдХрд╛рд░реНрд░рд╡рд╛рдИ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп, CCSpawn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдЖрджреЗрд╢ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдПрдХ рд╕рд╛рде рдЪрд▓рддреА рд╣реИред
рдЕрдХреНрд╕рд░ рдореИрдВ cocos2d рдкрд░ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рдордВрдЪреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдпрд╣рд╛рдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред