我真的很瘋狂,試圖弄清楚這一點,所以任何幫助將非常感激。我試圖隱藏大部分精靈並逐漸顯示出來。這工作正常,如果我只與矩形工作。例如,我發現有人的實施「ClippingNode」類的,效果不錯,即這部分代碼:cocos2d - 只顯示精靈的一部分 - 不規則形狀
-(void) visit
{
glPushMatrix();
glEnable(GL_SCISSOR_TEST);
glScissor(clippingRegion.origin.x + positionInPixels_.x, clippingRegion.origin.y + positionInPixels_.y, clippingRegion.size.width, clippingRegion.size.height);
[super visit];
glDisable(GL_SCISSOR_TEST);
glPopMatrix();
}
的問題是我需要一個不規則的形狀,而不僅僅是一個矩形。我希望我可以堆疊調用glScissor並創建一個具有許多較小矩形的形狀,但不幸的是,glScissor只能使用一次(最後一次調用它)。
似乎cocos2d不支持OpenGLs模板緩衝區(是嗎?),即使它發生了,我發現OpenGL很難理解,我仍然需要有人向我解釋。如果我可以在精靈上設置一個貝塞爾路徑作爲掩碼(我認爲你可以在Quartz中完成),那很棒,但似乎並不支持。
請問,如果有人在這裏有任何智慧,那會很棒!
事實上,我會問另一種方式:任何人都可以改變上述實施「遊」上CCNode以剪裁節點的內容以半徑40的圓爲中心在clippingRegion.origin? – johnnysports
你是否設法讓這個工作很好地夾到一個圓圈? – jin