`

Cocos2d API 解析之AtlasSpriteTest之二

360 
阅读更多

例子6:(展示AtlasSpriteManager这个集合的action动作情况)
@implementation Atlas6
-(id) init
{
    if( (self=[super init]) ) {
       
        // small capacity. Testing resizing
        // Don't use capacity=1 in your real game. It is expensive to resize the capacity
        AtlasSpriteManager *mgr = [AtlasSpriteManager spriteManagerWithFile:@"grossini_dance_atlas.png" capacity:1];
        [self addChild:mgr z:0 tag:kTagSpriteManager];

        CGSize s = [[Director sharedDirector] winSize];

//If YES the transformtions will be relative to it's anchor point.
//精灵,标签和任何其他sizeble对象使用它有它默认情况下启用
//场景,层和其他“整个屏幕”对象不使用它,有它默认被禁用。   
mgr.relativeAnchorPoint = NO;
    mgr.anchorPoint = ccp(0.5f, 0.5f);   //为中心点
    mgr.contentSize = CGSizeMake(s.width, s.height);   //设置内容的宽度和高度为整个屏
       
       
        // AtlasSprite actions
        id rotate = [RotateBy actionWithDuration:5 angle:360];
        id action = [RepeatForever actionWithAction:rotate];

        // AtlasSpriteManager actions
        id rotate_back = [rotate reverse];
        id rotate_seq = [Sequence actions:rotate, rotate_back, nil];
        id rotate_forever = [RepeatForever actionWithAction:rotate_seq];
       
        id scale = [ScaleBy actionWithDuration:5 scale:1.5f];
        id scale_back = [scale reverse];
        id scale_seq = [Sequence actions: scale, scale_back, nil];
        id scale_forever = [RepeatForever actionWithAction:scale_seq];


        for(int i=0;i<3;i++) {
            AtlasSprite *sprite = [AtlasSprite spriteWithRect:CGRectMake(85*i, 121*1, 85, 121) spriteManager: mgr];
            sprite.position = ccp( 90 + i*150, s.height/2);

            [sprite runAction: [[action copy] autorelease]];
            [mgr addChild:sprite z:i];
        }
       
        [mgr runAction: scale_forever];  
        [mgr runAction: rotate_forever];
    }   
    return self;
}
-(NSString*) title
{
    return @"AtlasSpriteManager transformation";
}
@end

例子7:(展示flipX:是否精灵水平翻转  flixY:是否精灵垂直翻转,可以用来制作人物运动)
@implementation Atlas7
-(id) init
{
    if( (self=[super init]) ) {
       
        AtlasSpriteManager *mgr = [AtlasSpriteManager spriteManagerWithFile:@"grossini_dance_atlas.png" capacity:10];
        [self addChild:mgr z:0 tag:kTagSpriteManager];
       
        CGSize s = [[Director sharedDirector] winSize];
       
        AtlasSprite *sprite1 = [AtlasSprite spriteWithRect:CGRectMake(85*1, 121*1, 85, 121) spriteManager: mgr];
        sprite1.position = ccp( s.width/2 - 100, s.height/2 );
        [mgr addChild:sprite1 z:0 tag:kTagSprite1];
       
        AtlasSprite *sprite2 = [AtlasSprite spriteWithRect:CGRectMake(85*1, 121*1, 85, 121) spriteManager: mgr];
        sprite2.position = ccp( s.width/2 + 100, s.height/2 );
        [mgr addChild:sprite2 z:0 tag:kTagSprite2];
       
        [self schedule:@selector(flipSprites:) interval:1];
    }   
    return self;
}
-(void) flipSprites:(ccTime)dt
{
    id mgr = [self getChildByTag:kTagSpriteManager];
    id sprite1 = [mgr getChildByTag:kTagSprite1];
    id sprite2 = [mgr getChildByTag:kTagSprite2];
   
    BOOL x = [sprite1 flipX];
    BOOL y = [sprite2 flipY];
   
    [sprite1 setFlipX: !x];   //当前状态取反,两种状态不断的切换
    [sprite2 setFlipY: !y];
}
-(NSString*) title
{
    return @"AtlasSprite Flip X & Y";
}
@end

分享到:
评论

相关推荐

    cocos2d-x API中文文档

    文档中提到了Cocos2d-x的API风格,特别是从v3.0-beta2版本开始引入的两阶段构造器和静态`create()`函数。这种设计模式使得在C++中,类的构造过程分为两个阶段:第一阶段是设置成员变量的默认值,第二阶段是在`create...

    cocos2d api

    通过深入理解和熟练运用Cocos2d API,开发者可以构建功能丰富、性能优秀的2D游戏。cocojs则是Cocos2d的JavaScript版本,它允许开发者使用JavaScript语言进行游戏开发,享受Web开发的便捷性。在实际项目中,cocojs ...

    cocos2d js api 中文文档

    Cocos2d-js API中文文档是一份非常重要的资源,它为开发者提供了全面的Cocos2d-js框架的接口和功能介绍。Cocos2d-js是一个基于C++开发的游戏引擎,它将Cocos2d-x的功能与JavaScript语言相结合,使得游戏开发更加便捷...

    Cocos2d的API

    通过深入学习和掌握这些知识点,开发者可以充分利用Cocos2d的API,创建出富有创意和交互性的2D游戏和应用。同时,CHM文件的高效索引使得开发者在开发过程中能快速定位到所需的信息,提高开发效率。

    cocos2d api 文档

    cocos api 文档。我想大家都需要,就共享给大家,不用找的那么麻烦了

    cocos2d-3.0 api文档

    《cocos2d-3.0 API文档详解》 cocos2d-3.0是一款强大的2D游戏开发框架,广泛应用于iOS、Android以及其他多平台的游戏开发。它提供了丰富的功能和高效的性能,使得开发者能够轻松地创建出各种类型的游戏。这份文档是...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用...基础篇包括第2章~第8章,Cocos2d- 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    2. **图形与动画**:讲解如何使用Cocos2d-x的绘图API绘制2D图形,实现精灵(Sprite)、动画(Animation)和粒子系统(Particle System)。 3. **物理引擎**:介绍Cocos2d-x内置的Box2D物理引擎,用于模拟游戏中的...

    cocos2d-x-cocos2d-x-2.2.2.zip

    这个压缩包“cocos2d-x-cocos2d-x-2.2.2.zip”包含了cocos2d-x 的2.2.2版本,该版本是cocos2d-x发展中的一个重要里程碑,它提供了许多改进和优化,使得开发者能够更加高效地创建2D游戏和应用。 在cocos2d-x 2.2.2中...

    cocos2d-x API大全中文版2016

    《cocos2d-x API大全中文版2016》是一部详尽的参考资料,旨在为开发者提供关于cocos2d-x框架的全面理解和实践指导。cocos2d-x是一款广泛使用的开源游戏开发框架,它基于cocos2d,并且支持跨平台开发,包括iOS、...

    cocos2d-html5 API

    总之,Cocos2d-html5为HTML5游戏开发提供了丰富的工具和资源,其API覆盖了游戏开发的各个方面,从基本的游戏对象到复杂的动画和物理模拟,让开发者能够轻松创建高质量的2D游戏。通过深入理解和实践这些API,开发者...

    cocos2d-iphone~cocos2d-html5移植之旅

    ### cocos2d-iphone至cocos2d-html5移植之旅:深入解析与实践指南 #### 引言 在数字化时代,跨平台游戏开发成为了一种趋势,尤其在移动设备和网页端之间的转换变得日益频繁。《cocos2d-iphone至cocos2d-html5移植...

    cocos2d-html5-v2.2.3.zip

    Cocos2d是一个开源的游戏开发框架,而Cocos2d-x是它的C++版本,主要应用于移动设备。本文将深入探讨Cocos2d-html5,它是一个基于HTML5的版本,允许开发者使用JavaScript进行游戏开发,非常适合那些希望从其他领域...

    cocos2d-android jar包全套.zip

    Cocos2d是一款开源的游戏开发框架,被广泛用于创建2D游戏、演示程序和其他互动内容。在Android平台上,Cocos2d-x是一个基于C++的版本,提供了原生的编程接口,同时也支持Java API,方便Android开发者使用。"cocos2d-...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    《cocos2d-x 3.8:经典游戏引擎源码解析》 cocos2d-x 是一个跨平台的游戏开发框架,它基于C++,同时提供了Lua和JavaScript的绑定,让开发者可以方便地在多种操作系统上创建2D游戏、演示程序和其他图形交互应用。这...

    cocos2D-lua 核心编程内置代码

    在“Cocos2d-x之Lua核心编程(第二版)_配套代码”中,我们可以找到一系列的示例和代码,这些代码涵盖了Cocos2d-lua的核心功能和编程技巧。 一、Cocos2d-lua简介 Cocos2d-lua是Cocos2d-x的一个扩展,它允许开发者使用...

    cocos2d-x 3.0

    在2D游戏中,人物行走通常通过精灵(Sprite)类来实现,cocos2d-x 3.0中的cc::Sprite是用于展示静态或动态图像的对象。人物行走的过程涉及精灵的位置改变、帧动画(Frame Animation)以及物理引擎(如Box2D)的应用...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多平台的游戏开发。3.x版本是其发展中的一个重要阶段,引入了多项优化和新特性,旨在提高开发效率和性能。 本书首先会介绍...

    cocos2d-android.jar.zip_CoCos2d_android jar_android game_cocos2d

    cocos2d-android游戏引擎是著名游戏引擎cocos2d游戏引擎的Android版。cocos2d-android游戏引擎性能优越、易学、可以进行纯java编程、具有极高的研 究价值、大大的降低了开发者的学习成本。您只需要一台普通配置的...

    Cocos2d-x实战C++卷关东升著完整版pdf

    Cocos2d-x是一个开源的、跨平台的2D游戏开发框架,广泛应用于iOS、Android、Windows等多个操作系统。本书以C++语言为主要编程工具,详细介绍了如何利用Cocos2d-x进行游戏开发。 首先,Cocos2d-x的基础知识是必须...

Global site tag (gtag.js) - Google Analytics