Opengl es 如何使用cocos2d在自顶向下视图中将阴影放置在精灵下
我刚开始学习OpenGL和cocos2d,我需要一个建议。 我正在写一个游戏,玩家可以在屏幕上以自上而下的方式触摸和移动矩形。每次触摸矩形时,它都会沿z方向向上移动(朝向屏幕),并稍微缩放,使其看起来比其他矩形更接近。触摸结束后,它下降到z=0 我希望上升的矩形在它们下面投下阴影,但无法使其工作。您会推荐哪种方法以获得最佳效果 这是我到目前为止所拥有的。 在设置过程中,我打开深度缓冲区,然后: 1.所有纹理都是使用CCRenderTexture生成的 2.生成的纹理用作创建CCSpriteBatchNode的图集 3.触摸矩形(平铺)时:Opengl es 如何使用cocos2d在自顶向下视图中将阴影放置在精灵下,opengl-es,cocos2d-iphone,Opengl Es,Cocos2d Iphone,我刚开始学习OpenGL和cocos2d,我需要一个建议。 我正在写一个游戏,玩家可以在屏幕上以自上而下的方式触摸和移动矩形。每次触摸矩形时,它都会沿z方向向上移动(朝向屏幕),并稍微缩放,使其看起来比其他矩形更接近。触摸结束后,它下降到z=0 我希望上升的矩形在它们下面投下阴影,但无法使其工作。您会推荐哪种方法以获得最佳效果 这是我到目前为止所拥有的。 在设置过程中,我打开深度缓冲区,然后: 1.所有纹理都是使用CCRenderTexture生成的 2.生成的纹理用作创建CCSpriteBat
static const float _raisedScale = 1.2;
static const float _raisedVertexZ = 30;
...
-(void)makeRaised
{
_state = TileStateRaised;
self.scale = _raisedScale;
self.scale = _raisedScale;
self.vertexZ = _raisedVertexZ;
_glowOverlay.vertexZ = _raisedVertexZ;
_glowOverlay.opacity = 255;
}
辉光覆盖用于“照亮”矩形。
之后,我使用-(void)update:(ccTime)delta
有没有办法让OpenGl使用cocos为我投射阴影?例如,使用着色器或OpenGL阴影。或者我必须使用纹理叠加来模拟阴影
你推荐什么?你会怎么做
很抱歉问了一个新手问题,但这对我来说真的很新鲜,我真的需要你的帮助
3月6日编辑
我设法让精灵与阴影叠加显示下的瓷砖,它看起来不错,直到一个瓷砖必须下降的阴影对另一个有一个非零vertexZ值。我试图创建额外的阴影精灵,这些精灵将被缩放并显示在其他瓷砖的顶部(通常上升或下降),但我在动画方面遇到了问题(向上平铺,向下平铺)。为什么要使问题复杂化 只需使用您喜爱的图形编辑程序创建阴影的投影,并将其保存为png。提升对象时,将阴影精灵插入提升对象的后面(您可以根据您认为光源的位置将其向左/向右移动)
当用户将对象放下时,显示可以保持在对象下方并随对象移动,使其在再次提起物品时自可见。Eyeah,我就是这样做的。问题是,我很抱歉,我应该在我的问题中提到,玩家有可能一次移动多块瓷砖,所以有可能一块瓷砖会在一块瓷砖上投射阴影,然后升起瓷砖。我将编辑这个问题