CC_DISALLOW_COPY_AND_ASSIGN(Hide);
@H_404_0@很简单,没有什么成员变量,就是禁用拷贝构造函数和拷贝赋值操作符。@H_404_0@2、成员方法: @H_404_0@(1) static Hide * create();
@H_404_0@使用该函数创建一个Hide动作。@H_404_0@实例:
@H_404_0@auto myHide = Hide::create(); @H_404_0@mySprite->runAction(myHide);@H_404_0@实现源码:
@H_404_0@Hide * Hide::create()
{
Hide *ret = new (std::nothrow) Hide(); // 创建Hide对象。
@H_404_0@ if (ret) {
ret->autorelease(); // 创建成功的情况下,在不使用时自动释放。
}
@H_404_0@ return ret;@H_404_0@(2) virtual Hide* clone() const override;
}
@H_404_0@使用该函数复制一个Hide动作。@H_404_0@实例:
@H_404_0@auto myHideClone = myHide->clone(); @H_404_0@mySprite->runAction(myHideClone);@H_404_0@实现源码:
@H_404_0@Hide * Hide::clone() const@H_404_0@(3) virtual ActionInstant* reverse() const override;
{
// no copy constructor
auto a = new (std::nothrow) Hide();
a->autorelease();
return a;
} @H_404_0@又自己重新写了一遍,为啥不用create()?
@H_404_0@使用该函数创建一个与Hide相反的动作,实际上创建了一个Show动作。@H_404_0@实例:
@H_404_0@auto myHideReverse = myHide->reverse(); @H_404_0@mySprite->runAction(myHideReverse);@H_404_0@实现源码:
@H_404_0@ActionInstant *Hide::reverse() const@H_404_0@ (4) virtual void update(float time) override;
{
return Show::create();
}
@H_404_0@该函数是引擎内部调用函数,用于更新精灵的状态。@H_404_0@实现源码:
@H_404_0@void Hide::update(float time) {@H_404_0@Show:
CC_UNUSED_PARAM(time);
_target->setVisible(false);
} @H_404_0@没有时间的概念,直接使用的是设置可见度的函数。
@H_404_0@Show与Hide类似,均是与其相反的操作,在这里就不再赘述了。