android - cocos2d-x 如何让部分图层在移动到屏幕的某个部分时消失

标签 android c++ ios cocos2d-x

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

我已经尝试过具有更高 z 值的透明层,但是这没有用,因为该层是透明的并且列表仍然显示。我猜我必须用 setPosition() 做点什么,但就是想不通...

如有任何建议,我们将不胜感激。

最佳答案

我相信您需要 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);
    }

此外,在您的类文件夹中的 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 

关于android - cocos2d-x 如何让部分图层在移动到屏幕的某个部分时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9815640/

相关文章:

android - 向 CollapsingToolbarLayout 添加褪色稀松布

c++ - 是否应该不鼓励使用 int 类型的位域?

iOS 应用后端供应商

ios - 防止垂直 UIStackView 拉伸(stretch) subview ?

android - 检测并计算 EditText 中的特殊字符 - Android

android - 接收广播 Intent 问题时出错

java - 检查是否运行倒计时?

c++ - 前缀计算器——在某些情况下不起作用——C++

c++ - 无法捕获 C++ 异常

ios - 测试 iOS 定期订阅购买