[英]Rotate actions don't work in iPhone 5S and iPad Air, for cocos2d-iphone 1.0.1
[英]Can't draw a filled rectangle in iPhone 5S and iPad Air
此代碼繪制一個填充的矩形:
void ccDrawFilledRect( CGPoint v1, CGPoint v2 )
{
CGPoint poli[]={v1,CGPointMake(v1.x,v2.y),v2,CGPointMake(v2.x,v1.y)};
// Default GL states: GL_TEXTURE_2D, GL_VERTEX_ARRAY, GL_COLOR_ARRAY, GL_TEXTURE_COORD_ARRAY
// Needed states: GL_VERTEX_ARRAY,
// Unneeded states: GL_TEXTURE_2D, GL_TEXTURE_COORD_ARRAY, GL_COLOR_ARRAY
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, poli);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
// restore default state
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);
}
一直有效,直到我開始使用iPhone 5S和iPad Air。 我不明白為什么它不能在這些設備上使用-與其他所有設備都很好。 始終使用最新的iOS版本。
可能是什么?
我懷疑這很重要,但是我一直在使用cocos2d-iphone 1.0.1
。
固定。
void ccDrawFilledRect( CGPoint v1, CGPoint v2 ) {
float vertices[] = {
v1.x, v1.y, // Bottom left
v2.x, v1.y, // Bottom right
v2.x, v2.y, // Top right
v1.x, v2.y // Top left
};
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnable(GL_TEXTURE_2D);
}
不,我完全不知道為什么舊代碼在iPhone 5S和iPad Air中會失敗,但是這種新代碼現在似乎可以在所有設備上使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.