注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

cocos2d-延时动作  

2013-06-04 23:48:28|  分类: ios游戏开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

static NSString *actionNames[] = {

    @"MoveTo",

    @"MoveBy",

    @"JumpTo",

    @"JumpBy",

    @"BezierBy",

    @"ScaleTo",

    @"ScaleBy",

    @"RotateTo",

    @"RotateBy",

    @"Blink",

    @"TintTo",

    @"TintBy",

    @"FadeTo",

    @"FadeIn",

    @"FadeOut" };



@implementation IntervalActionLayer


+(CCScene*) scene

{

    CCScene *scene = [CCScene node];

    IntervalActionLayer *layer = [IntervalActionLayer node];

    [scene addChild:layer];

    return scene;

}


- (id) init

{

    self = [super init];

    if (self)

    {

        CGSize s = [CCDirector sharedDirector].winSize;

        CCSprite *sp = [CCSprite spriteWithFile:@"Space.png"];

        sp.opacity = 100;

        sp.position = ccp(s.width/2,s.height/2);

        sp.rotation = 90;

        

        [self addChild:sp z:0 tag:1];

        

        [CCMenuItemFont setFontName:@"Arial"];

        [CCMenuItemFont setFontSize:13];

        

        CCMenuItem *backMenu = [CCMenuItemFont itemWithString:@"Back" target:self selector:@selector(OnBackMenu:)];

        CCMenu *menu = [CCMenu menuWithItems:backMenu, nil];

        

        int actCount = sizeof(actionNames) / sizeof(actionNames[0]);

        int i;

        

        for (i = 0 ; i < actCount ; i++)

        {

            NSString *aName = actionNames[i];

            CCMenuItem *pItem = [CCMenuItemFont itemWithString:aName target:self selector:@selector(OnAction:)];

            [menu addChild:pItem z:1 tag:i];

        }

        

        [menu alignItemsVertically];

        

        menu.position = ccp(60,menu.position.y);

        

        [self addChild:menu z:1 tag:2];

        

        CCSpriteBatchNode *mgr = [CCSpriteBatchNode batchNodeWithFile:@"flight.png" capacity:5];

        [self addChild:mgr z:0 tag:4];

        

        sprite = [CCSprite spriteWithTexture:mgr.texture rect:CGRectMake(32*2, 0, 31, 30)];

        [mgr addChild:sprite z:1 tag:5];

        

        sprite.scale = 2.0;

        sprite.position = ccp(s.width/2,50);

    }

    

    return self;

}


- (void) OnAction: (id) sender

{

    CGSize s = [CCDirector sharedDirector].winSize;

    int na = [sender tag];

    

    ccBezierConfig bezier;

    

    switch (na)

    {

        case 0:

            [sprite runAction:[CCMoveTo actionWithDuration:2 position:ccp(s.width - 50,s.height - 50)]];

            break;

        case 1:

            [sprite runAction:[CCMoveBy actionWithDuration:2 position:ccp(-50,-50)]];

            break;

        case 2:

            [sprite runAction:[CCJumpTo actionWithDuration:2 position:ccp(150,50) height:30 jumps:5]];

            break;

        case 3:

            [sprite runAction:[CCJumpBy actionWithDuration:2 position:ccp(100,100) height:30 jumps:5]];

            break;

        case 4:

            bezier.controlPoint_1 = ccp(0,s.height/2);

            bezier.controlPoint_2 = ccp(300,-s.height/2);

            bezier.endPosition = ccp(100,100);

            

            [sprite runAction:[CCBezierBy actionWithDuration:3 bezier:bezier]];

            break;

        case 5:

            [sprite runAction:[CCScaleTo actionWithDuration:2 scale:4]];

            break;

        case 6:

            [sprite runAction:[CCScaleBy actionWithDuration:2 scale:0.5]];

            break;

        case 7:

            [sprite runAction:[CCRotateTo actionWithDuration:2 angle:100]];

            break;

        case 8:

            [sprite runAction:[CCRotateBy actionWithDuration:2 angle:-180]];

            break;

        case 9:

            [sprite runAction:[CCBlink actionWithDuration:3 blinks:5]];

            break;

        case 10:

            [sprite runAction:[CCTintTo actionWithDuration:2 red:255 green:0 blue:0]];

            break;

        case 11:

            [sprite runAction:[CCTintBy actionWithDuration:0.5 red:0 green:255 blue:255]];

            break;

        case 12:

            [sprite runAction:[CCFadeTo actionWithDuration:1 opacity:80]];

            break;

        case 13:

            [sprite runAction:[CCFadeIn actionWithDuration:1.0f]];

            break;

        case 14:

            [sprite runAction:[CCFadeOut actionWithDuration:1.0f]];

            break;

        default:

            break;

    }

}


- (void) OnBackMenu: (id) sender

{

    [[CCDirector sharedDirector] replaceScene:[CCTransitionSlideInL transitionWithDuration:1.2f scene:[HelloWorldLayer scene]]];

}


- (void) dealloc

{

    [super dealloc];

}


  评论这张
 
阅读(70)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017