0

プロジェクトを Cocos2d v2.0 に更新しました。すべてのビルド エラーを取り除いた後、実行できますが、ゲームが間違った場所に描画されるようです。ボタン/メニューは本来あるべき場所でクリックできますが、スプライトが間違った場所に表示されるか、まったく表示されません。(このプロジェクトは、古いファイルをテンプレートから新しい v2.0 プロジェクトにコピーしたものです。)

このようなopenGLエラーも発生しています

OpenGL error 0x0502 in -[CCGLView swapBuffers] 280
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCSprite draw] 532
OpenGL error 0x0502 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556

そこで、移行の投稿を読み直しました... RootViewController などを削除し、v2.0 テンプレートから新しいプロジェクトを作成し、appDelegate をそのように見せました。CCSprite -draw メソッドを再確認しましたが、v2.0 で想定されているように見えます

変化なし。それでも OpenGL エラーが発生し、スプライトのほとんどがずれています。(奇妙なことに、背景はきれいに見えます。)

これは、5.1 または 6.0b4 IOS シミュレーターを使用している場合に発生します。

私は途方に暮れています.. :(

誰にもアイデアはありますか?私は自分の検索オプションを使い果たしてしまい、イライラしています.. 事前に感謝します!

(参考までに、これは完全に機能する v1.0.1 ゲームでした)

更新: 成功!!! そのため、glPushMatrix() と glPopMatrix() を使用する 3 番目の部分クラス (SWScrollView .h と CCNode+Autolayout.h) がありました。

それらを kmGLPushMatrix() および kmGLPopMatrix() に更新すると、すべてのエラーとスプライトの配置が修正されました!!!

4

1 に答える 1

0

Cocos2D 2.0 は OpenGLES2.0 を使用しますが、cocos2D 1.0 は OpenGLES1.0 を使用します。

ここに1 つの同様のスレッドがあります。私の回答に従ってください。ur draw 関数を置き換えます。

于 2012-08-22T13:58:36.023 に答える