Hide和Show可以使精灵显示和隐藏。这些动作都是瞬间完成的,如果想要精灵实现逐渐显示或是逐渐隐藏的效果请使用FadeIn、FadeOut或FadeTo。
Hide:
1、成员变量:
private: CC_DISALLOW_COPY_AND_ASSIGN(Hide);
很简单,没有什么成员变量,就是禁用拷贝构造函数和拷贝赋值操作符。
2、成员方法:
(1) static Hide * create();
使用该函数创建一个Hide动作。
实例:
auto myHide = Hide::create();
mySprite->runAction(myHide);
实现源码:
Hide * Hide::create() { Hide *ret = new (std::nothrow) Hide(); // 创建Hide对象。
if (ret) { ret->autorelease(); // 创建成功的情况下,在不使用时自动释放。 }
return ret; }
(2) virtual Hide* clone() const override;
使用该函数复制一个Hide动作。
实例:
auto myHideClone = myHide->clone();
mySprite->runAction(myHideClone);
实现源码:
Hide * Hide::clone() const { // no copy constructor auto a = new (std::nothrow) Hide(); a->autorelease(); return a; }
又自己重新写了一遍,为啥不用create()?
(3) virtual ActionInstant* reverse() const override;
使用该函数创建一个与Hide相反的动作,实际上创建了一个Show动作。
实例:
auto myHideReverse = myHide->reverse();
mySprite->runAction(myHideReverse);
实现源码:
ActionInstant *Hide::reverse() const { return Show::create(); }
(4) virtual void update(float time) override;
该函数是引擎内部调用函数,用于更新精灵的状态。
实现源码:
void Hide::update(float time) { CC_UNUSED_PARAM(time); _target->setVisible(false); }
没有时间的概念,直接使用的是设置可见度的函数。
Show:
Show与Hide类似,均是与其相反的操作,在这里就不再赘述了。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|