让视角随着精灵移动
很多游戏都是这样的,要将主角放在屏幕中间,无论主角怎样移动。
屏幕都是以主角为中心的。
我在网上查了资料,发现CCFollow可以实现这个功能。
用法相当简单,就一句话:
layer->runAction(CCFollow::actionWithTarget(hero));
其中layer是你需要移动的层,hero是屏幕需要跟随的精灵。
将这条语句放置在update方法中。就可以实现屏幕跟随主角移动了。
- 4楼MoonAgent昨天 18:01
- void GameLayer::step(ccTime dt)n{nt//屏幕跟随ntgameWorld->runAction(CCFollow::actionWithTarget(flight)); n}nn基本上解决了,放在这里就可以了,可见关键不是update,而是(ccTime dt)。 但是现在的问题是视角跟随之后···会逃离背景,也就是说会看到背景之外的东西。nn实际测试了一下这个方案不适合我现在做的游戏。不过谢谢了。对了,你对滚屏有研究吗?
- Re: weyson昨天 21:39
- 回复MoonAgentn还没有研究滚屏,你可以使用一个大些的背景图片来遮盖后面的黑色区域。
- 3楼MoonAgent3天前 08:23
- 你好,这个layer怎么弄啊?新建一个层??nn问实际点就是如何让背景移动。
- Re: weyson昨天 15:17
- 回复MoonAgentn其实就是你的游戏层。根据你的实际情况来确定。如果想让你的背景移动,那这个layer肯定就是你背景所在的层。不想随着移动的东西就放在其他层里。
- 2楼autumnwinter4天前 15:10
- cocos2d-x tests工程中 ActionTest.cpp 倒数第7行(1.0-0.13) this->runAction(CCFollow::actionWithTarget(m_grossini, CCRectMake(0, 0, s.width * 2 - 100, s.height)));nn使用一个rect,这样就不会移出背景层了,当然,在移以边缘的时候,精灵是不在中央的..
- Re: weyson3天前 17:20
- 回复autumnwintern没错,n我也长见识了。
- 1楼MoonAgent4天前 12:07
- 我也是这么理解的,但是···好吧,可能有点···。但是能否教我一下如何创建层并把背景放入···
- Re: weyson4天前 12:51
- 回复MoonAgentn你可以去cn.cocos2d-x.org的论坛看一下教程。我记得好像有。