您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x-3.2 Follow屏幕锁定精灵运动

2014-08-12 17:48 239 查看
Follow直接继承于Action类的,看上去还挺老资格的,其实也是老资格的。谁让人家辈分靠前呢。

static Follow* create

(

Node *

followedNode,

const Rect &

rect =
Rect::ZERO


)

参数中followedNode表示要跟随的Node。Rect表示边界,当
rect
为 Rect::ZERO时 表示没有边界.

具体步骤

我们还是在HelloWorld.cpp文件中找到

bool HelloWorld::init()函数,加入如下代码。

auto grossini = Sprite::create("grossini.png");

addChild(grossini,0, 2);

auto s = Director::getInstance()->getWinSize();

grossini->setPosition(Vec2(0, s.height / 2));

auto move = MoveBy::create(2,Vec2(s.width * 3, 0));

auto move_back = move->reverse();

auto seq = Sequence::create(move,move_back, nullptr);

auto rep = RepeatForever::create(seq);

grossini->runAction(rep);

this->runAction(Follow::create(grossini,Rect(0, 0, s.width * 3 , s.height)));

编译运行后,小伙伴们发现了什么?

没错,就是精灵运动到哪里,咱们的屏幕也跟踪到了哪里,是不是很炫?

其中:

this->runAction(Follow::create(grossini,Rect(0, 0, s.width * 3 , s.height)));// 这就是跟随的函数,

表示HelloWorld的层调用这个跟随,跟随的对象时grossini这个精灵,范围是一个矩形,四个定点是(0, 0, s.width * 3 , s.height)。超出个范围就不会再跟踪了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐