zoukankan      html  css  js  c++  java
  • 游戏基础元素之精灵——Cocos2d-x学习历程(九)

    1.创建精灵

        在实际使用中,精灵是由一个纹理创建的。在不加任何设置的情况下,精灵就是一张显示在屏幕上的图片。通常精灵置于层下,因此我们首选在层的初始化方法中创建精灵,设置属性,并添加到层中。

        有多种方式可以创建精灵:

        (1)直接创建

    auto sprite = Sprite::create("HelloWorld.png");
    this->addChild(sprite,0);

       (2)使用纹理来创建精灵

    auto sprite1 = Sprite::createWithTexture(TextureCache::getInstance()->addImage("HelloWorld.png));
    this  ->addChild(sprite1, 0); 

      (3)使用精灵帧来创建精灵

    auto sprite2=Sprite::createWithSpriteFrameName(  "HelloWorld.png"  );    
    this ->addChild(sprite2, 0);

    2.精灵属性
        创建了精灵后,我们还需要把精灵安排在合适的位置,否则引擎也不能决定精灵将如何呈现出来。诸如精灵的位置、方向、缩放比例等参数都是精灵的属性,我们在层中添加精灵之前,需要对它们进行恰当地设置。

    auto size = Director::getInstance()->getWinSize();
    auto point = ccp(size.width/2,size.height/2);
    auto sprite = Sprite::create("image/atlas.png",CCRectMake(0.0,0.0,288,512));
    sprite->setPosition(point);
    this->addChild(sprite,0);

        我们可以看到,在这段代码中我们修改了精灵的Position属性。Position属性是一个Point类型的结构体,表示精灵在层中的位置,它是精灵相对于层的坐标。ccp(x,y) 与CCRectMake类似,是可以用来快速创建Point的宏。把精灵的位置坐标设置为屏幕长宽的一半,就可以使精灵位于屏幕中央了。

    3.向层中添加精灵

        设置完精灵的属性后,就该把精灵添加到层中了。实际上Sprite与Layer都继承自Node,向一个游戏元素中添加其他游戏元素的addChild是Node包含的方法,因此我们完全可以如同向场景中添加层一样,把精灵添加到层中。

    4.精灵的其他常用成员

       (1)初始化方法:同创建精灵

       (2)纹理的相关属性:用于获取或设置精灵内容。

       (3)纹理的相关方法

       (4)颜色的相关属性

  • 相关阅读:
    delphi debug release区别是什么?
    Delphi异形窗口之PNG
    WebBrowser实现编辑网页
    父子窗体滚动条支持鼠标滚轮移动
    Com进程通信(Delphi2007)
    Android实例-Delphi开发蓝牙官方实例解析(XE10+小米2+小米5)
    教程-Close、Halt、terminate、ExitProcess的区别
    各国特种部队名称
    关于c#字典key不存在的测试
    关于scut使用WebService
  • 原文地址:https://www.cnblogs.com/ling-mo/p/4453393.html
Copyright © 2011-2022 走看看