我目前在 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/