首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >垂直循环sprite目标C sprite构建器

垂直循环sprite目标C sprite构建器
EN

Stack Overflow用户
提问于 2014-03-13 10:37:55
回答 2查看 454关注 0票数 0

注意:为此,我使用了一个名为spritebuilder的程序,它允许我用比通常需要的更少的代码来创建游戏。如果您知道一个只包含代码的解决方案,那么请务必与他人分享:)

此外,对于这个问题,我在这个链接上遵循了一个教程:Build Your Own Flappy Bird Clone。只需向下滚动到显示“循环地面”的部分。

所以这就是我的问题。我目前正在一个游戏上工作,我创建了一个相机,它垂直滚动与我创建的角色精灵的长度,但我需要一个特定的图像循环。当图像离开屏幕的底部时,我希望它无限地循环到屏幕的顶部。为此,我创建了两个相同的图像(在本例中是树皮)。一个将在屏幕上,而另一个将在屏幕外,因此当第一个图像离开屏幕时,第二个图像将(无缝地)取代它。我为图像创建了两个对象,并为它们指定了名称_ground1和_ground2,我还创建了一个NSArray来存储它们。(如果上面的链接有点混乱,请参考上面的链接)下面是我的代码:

代码语言:javascript
复制
CCNode *_ground1;
CCNode *_ground2;
NSArray *_grounds;

  for (CCNode *ground in _grounds) {
    // get the world position of the ground
    CGPoint groundWorldPosition = [_physicsNode convertToWorldSpace:ground.position];
    // get the screen position of the ground
    CGPoint groundScreenPosition = [self convertToNodeSpace:groundWorldPosition];
    // if the left corner is one complete width off the screen, move it to the right
    if (groundScreenPosition.y <(-1 * ground.contentSize.height)) {
        ground.position = ccp(ground.position.x , ground.position.y + 2 * ground.contentSize.height);
    }

由于某些原因,当我尝试这个的时候,它似乎不起作用。发生的情况是,相机将按照预期垂直移动,但图像不会循环。一旦这两个图像离开屏幕底部,就不会有新的图像替换它们。

EN

回答 2

Stack Overflow用户

发布于 2014-03-13 13:53:52

我也按照上面的教程做了这个项目。它工作得很好,但是在spritebuilder中设置变量有一些错误。在上面的代码中,将代码复制为并尝试。你只是放了比可能的问题更少的东西。

代码语言:javascript
复制
 if (groundScreenPosition.y <=(-1 * ground.contentSize.height)) {
        ground.position = ccp(ground.position.x , ground.position.y + 2 * ground.contentSize.height);
    }
票数 0
EN

Stack Overflow用户

发布于 2014-03-14 03:35:27

您正在将CCNode对象用作_ground1_ground2

CCNode对象通常没有contentSize, they will return 0 unless you explicitly set them inSpriteBuilder`。

确保在SpriteBuilder和代码中使用CCSprite对象。

此外,作为一个友好的提示,您还应该考虑使用更有意义的名称重构(重命名)您的精灵,例如_treeBark1treeBark2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22368017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档