1

我目前CCScrollLayer在 cocos2d-x 中使用来滚动我的项目列表,但我希望列表的一部分在它离开屏幕之前消失。

我尝试了具有更高 z 值的透明层,但由于该层是透明的并且列表仍然显示,所以这不起作用。我猜我必须做点什么,setPosition()但就是想不通...

任何建议将不胜感激。

4

1 回答 1

1

我相信你需要 GL_SCISSOR_TEST。

尝试使用以下代码覆盖图层 draw() 或 visit() 函数

    void YOU_CLASS::visit()
    {
        glEnable(GL_SCISSOR_TEST);
        glScissor(x, y, width, height);   
        YOUR_PARENT_CLASS::visit();
        glDisable(GL_SCISSOR_TEST);
    }

此外,在您的 Classes 文件夹中的 Android.mk 中添加一行 -lGLESv1_CM \

如下所示:

     LOCAL_LDLIBS := -L$(call host-path, $(LOCAL_PATH)/../android/libs/$(TARGET_ARCH_ABI)) \
                     -lGLESv1_CM \
                     -lcocos2d -lcocosdenshion \
                     -L$(call host-path, $(LOCAL_PATH)/../../cocos2dx/platform/third_party/android/libraries/$(TARGET_ARCH_ABI)) -lcurl 
于 2012-05-03T05:17:46.340 回答