【问题标题】:out of the scene elements overlap the previous scene during transitions场景外元素在过渡期间与前一个场景重叠
【发布时间】:2011-05-13 21:32:47
【问题描述】:

我正在开发一个基于 cocos2d 的 iPhone 游戏,其中一个场景用从左到右的过渡替换另一个场景。新场景的背景比场景大一点。那只是因为我根据设备倾斜移动它以创建一种 3D 效果。

不幸的是,在场景过渡期间,我可以看到场景外的背景与前一个重叠:(

然后我尝试以这样的方式使用 z 顺序,以使前一个场景应该放在新的错误之上,它不能按应有的方式工作。

你有什么建议吗?

提前谢谢你

【问题讨论】:

    标签: iphone cocos2d-iphone


    【解决方案1】:

    我认为您需要通过覆盖 -(void)visit 方法来裁剪场景图层。 我就是这样做的:

    - (void) visit {
    glPushMatrix();
    glEnable(GL_SCISSOR_TEST);
    
    glScissor(cropRect.origin.x, 
              cropRect.origin.y, 
              cropRect.size.width,
              cropRect.size.height);
    
    [super visit];
    
    glDisable(GL_SCISSOR_TEST);
    glPopMatrix();
    

    }

    您可能需要对cropRect 原点和大小值进行一些调整。 此外,您可能需要添加一些设备方向更改支持

    【讨论】:

    • 嗨 GLvRzZZ,感谢您的回答。我刚刚完成尝试代码。不幸的是,过渡完成后,作物似乎起作用了。似乎在转换后调用了访问方法。我的问题是我想在过渡期间裁剪场景大小,否则,尽管有那么一秒钟,场景上的元素是可见的。
    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多