cocos2d3.0 Scale9Sprite

cocos2d3.0 Scale9Sprite

使用Scale9Sprite须要引入以下的头文件

#include "extensions/cocos-ext.h"


USING_NS_CC;
USING_NS_CC_EXT;

一、S9BatchNodeBasic

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

    
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;
    
    auto batchNode = SpriteBatchNode::create("blocks9.png");
    
    auto blocks = Scale9Sprite::create();
    log("------created");
    
    blocks->updateWithBatchNode(batchNode, Rect(0, 0, 96, 96), false, Rect(0, 0, 96, 96));
    
    blocks->setPosition(Point(x, y));
    
    this->addChild(blocks);
    return true;
}

效果:

<span>cocos2d3.0 Scale9Sprite</span>


二、
S9FrameNameSpriteSheet

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;
    
    auto blocks = Scale9Sprite::createWithSpriteFrameName("blocks9.png");

    blocks->setPosition(Point(x, y));
    
    this->addChild(blocks);
    
    
    return true;
}

效果:

<span>cocos2d3.0 Scale9Sprite</span>


三、
S9BatchNodeScaledNoInsets  设置精灵的大小

bool HelloWorld::init()
{
    //////////////////////////////
    // 1. super init first
    if ( !Layer::init() )
    {
        return false;
    }
    
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;
    
    auto batchNode_scaled = SpriteBatchNode::create("blocks9.png");
    
    auto block_scaled = Scale9Sprite::create();
    
    block_scaled->updateWithBatchNode(batchNode_scaled, Rect(0, 0, 96, 96), false, Rect(0, 0, 96, 96));
    
    block_scaled->setPosition(Point(x, y));
    
    block_scaled->setContentSize(Size(96 * 4, 96 * 2));
    
    this->addChild(block_scaled);
    
    
    
    return true;
}

效果:

<span>cocos2d3.0 Scale9Sprite</span>


四、
S9FrameNameSpriteSheetRotatedScaledNoInsets

  auto block_scaled = Scale9Sprite::createWithSpriteFrameName("blocks9.png");

    
    block_scaled->setPosition(Point(x, y));
    
    block_scaled->setContentSize(Size(96 * 4, 96 * 2));
    
    this->addChild(block_scaled);
    

效果:

<span>cocos2d3.0 Scale9Sprite</span>


五、
S9FrameNameSpriteSheetRotatedScaledNoInsets

    auto block_scaled = Scale9Sprite::createWithSpriteFrameName("blocks9r.png");

    
    block_scaled->setPosition(Point(x, y));
    
    block_scaled->setContentSize(Size(96 * 4, 96 * 2));
    
    this->addChild(block_scaled);

效果:

<span>cocos2d3.0 Scale9Sprite</span>


S9FrameNameSpriteSheetInsets

    auto batchNode_scaled_with_insets = SpriteBatchNode::create("blocks9.png");
    
    auto blocks_scaled_with_insets = Scale9Sprite::create();
    
    blocks_scaled_with_insets->updateWithBatchNode(batchNode_scaled_with_insets, Rect(0, 0, 96, 96), false, Rect(32, 32, 32, 32));
    
    blocks_scaled_with_insets->setContentSize(Size(96 * 4.5, 96 * 2.5));
    
    blocks_scaled_with_insets->setPosition(Point(x, y));
    
    this->addChild(blocks_scaled_with_insets);


<span>cocos2d3.0 Scale9Sprite</span>



S9FrameNameSpriteSheetInsetsScaled

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;

    
    auto blocks_scaled_with_insets = Scale9Sprite::createWithSpriteFrameName("blocks9.png",Rect(32, 32, 32, 32));
    

    
    blocks_scaled_with_insets->setContentSize(Size(96 * 4.5, 96 * 2.5));
    
    blocks_scaled_with_insets->setPosition(Point(x, y));
    
    this->addChild(blocks_scaled_with_insets);


<span>cocos2d3.0 Scale9Sprite</span>





S9_TexturePacker

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("ui.plist");
    float x = visibleSize.width / 4;
    float y = visibleSize.height / 2;
    
    
    auto s = Scale9Sprite::createWithSpriteFrameName("button_normal.png");
    
    s->setPosition(Point(x, y));
    log("... setPosition");
    
    s->setContentSize(Size(14 * 16, 10 * 16));
    log("... setContentSize");
    
    this->addChild(s);


    
    auto blocks_scaled_with_insets = Scale9Sprite::createWithSpriteFrameName("button_actived.png");
    

     x = visibleSize.width * 3/4;
    blocks_scaled_with_insets->setContentSize(Size(14 * 16, 10 * 16));
    
    blocks_scaled_with_insets->setPosition(Point(x , y));
    
    this->addChild(blocks_scaled_with_insets);


<span>cocos2d3.0 Scale9Sprite</span>




Scale9FrameNameSpriteSheetRotatedSetCapInsetLater

  Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;
    
    
    

    
    auto blocks_scaled_with_insets = Scale9Sprite::createWithSpriteFrameName("blocks9r.png");
    blocks_scaled_with_insets->setInsetLeft(32);
    blocks_scaled_with_insets->setInsetRight(32);
    blocks_scaled_with_insets->setPreferredSize(Size(32 * 5.5f, 32 * 4));
    
    blocks_scaled_with_insets->setPosition(Point(x , y));
    
    this->addChild(blocks_scaled_with_insets);


<span>cocos2d3.0 Scale9Sprite</span>






S9CascadeOpacityAndColor

    Size visibleSize = Director::getInstance()->getVisibleSize();
    Point origin = Director::getInstance()->getVisibleOrigin();

     SpriteFrameCache::getInstance()->addSpriteFramesWithFile("blocks9ss.plist");
    float x = visibleSize.width / 2;
    float y = visibleSize.height / 2;
    
    auto rgba = Layer::create();
    rgba->setCascadeColorEnabled(true);
    rgba->setCascadeOpacityEnabled(true);
    this->addChild(rgba);
    
    

    
    auto blocks_scaled_with_insets = Scale9Sprite::createWithSpriteFrameName("blocks9r.png");
    
    
    blocks_scaled_with_insets->setPosition(Point(x , y));
    
    rgba->addChild(blocks_scaled_with_insets);
    
    
    
    auto actions = Sequence::create(FadeIn::create(1),TintTo::create(1, 0, 255, 0),TintTo::create(1, 255, 255, 255),FadeOut::create(1), NULL);
    auto repeat = RepeatForever::create(actions);
    
    rgba->runAction(repeat);


<span>cocos2d3.0 Scale9Sprite</span>








版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119170.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytham激活码_通用破解码

    pytham激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    53
  • linux(9)find命令详解「建议收藏」

    linux(9)find命令详解「建议收藏」find命令格式:findpath-option[-print][-exec-okcommand]{}\;find命令的参数:path:要查找的目录路径。~表示$HO

    2022年7月29日
    7
  • 【SVN】SVN服务器搭建,客户端使用,在VS Code 中使用SVN

    【SVN】SVN服务器搭建,客户端使用,在VS Code 中使用SVN1.软件下载http://subversion.apache.org/packages.html#windows①VisualSVN服务端②TortoiseSVN客户端③Chinese,simplified语言包④vscode下载2.在vscode使用svn①在vscode里面下载TortoiseSVNforVSCode插件②配置svn环境变量和在……

    2022年7月19日
    26
  • Python爬取美女图片 爬虫基础

    Python爬取美女图片 爬虫基础Python爬取美女图片爬虫基础简述实现思路关键代码文件下载爬虫代码成果简述作为一个考研狗,每天除了日复一日的复习外,偶尔也想给自己寻找一些生活的小乐趣,今天突然想到了自己曾经稍微接触的爬虫,想看看可以爬取些图片放到电脑上,就花了些时间改了改之前的爬虫代码,爬取了一部分照片先量一下战绩吧。照片不多但也算是自己的一次爬虫小经验。实现思路爬虫的网页很简单,照片真实路径都在页面中直接可以拿到主要流程就是先进入照片浏览的主页,每个照片的主页都会链接几个照片页面,像下面这样,每个图片都会链接一个网页

    2022年6月26日
    28
  • Mysql横向分组统计

    Mysql横向分组统计

    2021年5月15日
    134
  • xmlns属性

    xmlns属性今天在看网上其他的项目,发现有一行代码我不明白意思:百度之后,才知道,这是一个属性。在XHTML中,xmlns属性是必需的。在HTML中,xmlns属性是无效的。xmlns属性规定文档的xml命名空间。然而,如果在XHTML文档中未使用xmlns, http://w3.org 的HTML验证器也能正确识别文档。这是因为命名空间”xmln

    2025年8月10日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号