zoukankan      html  css  js  c++  java
  • cocos2d(CCSprite 用贝塞尔做抛物线,足球精灵并且同时做旋转放大效果)

    今天刚学到Cocos2d中的动作哪一张,自己做了一个用贝塞尔曲线足球精灵实现同时放大旋转和抛物线动作。

    使用

    [CCSpawn actions:,,]链接这几个动作,同时做。与CCSequence(一个动作做完然后做另一个)不同;

    直接上代码,很简单。

    -(id) init
    {
    	// always call "super" init
    	// Apple recommends to re-assign "self" with the "super's" return value
    	if( (self=[super init]) ) {
            CGSize winSize=[CCDirector sharedDirector].winSize;
            
            
            //添加背景图片。。。。。。。。。。。
            CCSprite *bgImage=[CCSprite spriteWithFile:@"background.jpg"];
            // [bgImage setAnchorPoint:CGPointZero];
            bgImage.position=ccp(winSize.width/2, winSize.height/2);
            [bgImage setScaleX:winSize.width/bgImage.texture.contentSize.width];
            [bgImage setScaleY:winSize.height/bgImage.texture.contentSize.height];
            
            
            
            //添加 炮炮兵。。。。。。。。。。。。。。。。。
            CCSprite *paoPao=[CCSprite spriteWithFile:@"paopao.png"];
            [paoPao setScale:0.5];
    		paoPao.position=ccp(winSize.width/2+200, winSize.height/2);
            [self addChild:bgImage z:-1];
            [self addChild:paoPao z:1];
            //移动
            //CCAction *moveTo=[CCMoveBy actionWithDuration:2.0f position:ccp(-400, 0)];
            //[paoPao runAction:moveTo];
            
            //跳动
            [paoPao runAction:[CCJumpTo actionWithDuration:5.0f position:ccp(winSize.width-paoPao.contentSize.width, winSize.height/2) height:100 jumps:3]];
            
            
            //定义足球精灵.........................
            
            CCSprite *ball=[CCSprite spriteWithFile:@"ball.png"];
            ball.position=ccp(50, 600);   //精灵起始位置
            [self addChild:ball z:2];
            //贝塞尔曲线
            ccBezierConfig c={ccp(600, 200),ccp(200,700),ccp(500,450)};   //定义一个结构体   ,第一个是目标位置,其他两个是控制点,第二个决定高度
            
            CCBezierTo * bezierTo=[CCBezierTo actionWithDuration:6.0 bezier:c];
            
            //旋转
            CCRotateTo *actionRotate =[CCRotateTo actionWithDuration:6 angle:1200];//旋转1200度
            //放大
            CCScaleTo *scalTo=[CCScaleTo actionWithDuration:6 scale:2.5];  //fa
            
            //将三个动作封装成一个同时播放进行的动作
            
            CCAction * action = [CCSpawn actions:bezierTo, actionRotate,scalTo, nil];
            [ball runAction:action];
            
            
            
    	}
    	return self;
    }
    

    运行结果:

















  • 相关阅读:
    单细胞转录组CNV分析
    瘦子增肌计划 | 健身
    WashU Epigenome Browser | ChIP-seq | DNase-Seq | ATAC-seq | 表观
    羽毛球新手教学
    可变剪切 | isoform | 提取特定exon的usage | DEXSeq
    文献快读 | 单细胞测序肾癌的免疫微环境与临床疗效的关系
    內外全科醫學士課程 | MBBS | 医疗
    天龙八部 | 中国名著 | 刷剧
    当代人工智能的基石 | 数据标注
    提取基因的特定外显子exon的碱基序列 | NCBI
  • 原文地址:https://www.cnblogs.com/lixingle/p/3707696.html
Copyright © 2011-2022 走看看