cocos2d学习-002

添加菜单

[CCMenuItemFont setFontName:@"Arial"];

        [CCMenuItemFont setFontSize:26];


        
        CCMenuItem *InsMn = [CCMenuItemFont itemFromString:@"选项1" target:self selector:@selector( choose1:)]; //分别指定回调函数

        CCMenuItem *InvMn = [CCMenuItemFont itemFromString:@"选项2" target:self selector:@selector(choose2:)];

    
        CCMenu *mn = [CCMenu menuWithItems:InsMn, InvMn,nil];
        [mn alignItemsVertically];//垂直方向
        

        [self addChild:mn ];


或者:

  CCMenuItem *InsMn = [CCMenuItemFont itemFromString:@"选项1" target:self selector:@selector( choose:)];

   CCMenuItem *InvMn = [CCMenuItemFont itemFromString:@"选项2" target:self selector:@selector(choose:)];

[mn addChild:pItm z:1 tag:i];

记得实现回调函数

- (void) choose:(id) sender

  { 

          int tag= [sender tag];

根据tag分别处理

  }

切换场景:
   
    [[CCDirector sharedDirector] replaceScene: [CCSlideInRTransition transitionWithDuration:1.0f scene:sc]];


基本动作

瞬时动作的共同基类是InstantAction

延时动作共同基类是CCIntervalAction。(包含了组合动作类)

组合动作按照一定癿次序将上述基本劢作组合起来,形成连贯的一套组合动作。

Sequence类也从CCIntervalAction派生,本身就可以被CocosNode对象执行。该类的作用就是线序排列若干个动作,然后按先后次序逐个执行。

例:[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];

同步 – Spawn

Spawn类也从IntervalAction派生,本身就可以被CocosNode对象执行。该类的作用就是同时并列执行若干个劢作,但要求动作都必须是可以同时执行的。同步执行最后的完成时间由基本动作中用时最大者决定。

例:[sprite runAction:[CCSpawn actions:ac1, ac2, sequence, nil]];

重复有限次数 – Repeate

该类也从IntervalAction派生,可以被CocosNode对象执行。

例:[sprite runAction:[CCRepeat actionWithAction:seq times:3]];

反动作 – Reverse

反动作就是反向(逆向)执行某个劢作,支持针对动作序列的反劢作序列。反动作不是一个特定的类,而是CCFiniteAction引入的一个接口。不是所有的类都支持反动作,XxxxTo类通常不支持反劢作,XxxxBy类通常支持

例: id ac2 = [ac1 reverse];  // 创建某个动作的反动作。
动画 – Animation

动画就是让精灵自身的连续执行一段影像,形成模拟运动的效果:行走、打斗等


无限重复 – RepeatForever

RepeatForever是从Action类直接派生的,因此无法参不序列和同步;自身也无法反向执行。该类的作用就是无限期执行某个劢作戒的作序列,直到被停止。

例:[sprite runAction:[CCRepeatForever actionWithAction:[CCSequence actions:ac1, ac2,nil]]];


速度变化

通过CCEaseAction为基类癿类系和CCSpped类我们可以很方便癿修改精灵执行劢作癿速度:由快至慢还是由慢至快。

扩展动作

延时动作 – Delay

[sprite runAction:[Sequence actions:ac1, [DelayTime actionWithDuration:1], ac2, nil]];

函数调用

id acf = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)];
[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];

带对象参数

id acf = [CallFuncN actionWithTarget:self selector:@selector(CallBack2:)];
[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];

对应癿自定义函数:(这里,我们直接使用了该对象)
- (void) CallBack2:(id)sender
{
[sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]];
}

带对象、数据参数

id acf = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2];
[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];
}
对应癿自定义函数,我们使用了传递癿对象和数据:
-(void) CallBack3:(id)sender data:(void*)data
{
[sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]];
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值