3

最近、Monotouch をいじって、それが自分のプロジェクトに適しているかどうかを判断しています。それには Cocos2d が必要で、ここにあるバインディングを使用していました: https://github.com/mono/monotouch-bindings

これまでのところすべて順調に進んでいますが、GLuint などの OpenGL タイプにはアクセスできません。技術的には、これは単なる typedef と unsigned int であることがわかりました。しかし、これらのタイプをインポートする最良の方法は何だろうと思っていました。OpenTK にあるのではないかと思っていたのですが、インポートしても見つかりませんでした。プロジェクトに gl.h を含めることはできますか? それともそれは正しい方法ではありませんか?

4

1 に答える 1

2

しかし、私はこれらのタイプをインポートするための最良の方法は何であるか疑問に思いました。

MonoTouch(MonoMacやXamarin.Macなど)バインディングは、.NETFrameworkに既に存在する型の再定義を回避します。

そのため、(さまざまなiOSフレームワークの)多くのタイプが同等の.NETタイプに変換されます。これにより、ツールキット間で値を共有しやすくなります。C#は強く型付けされているので、これは重要です(そして、型キャストは非常に醜いでしょう)。

技術的には、これは単なるtypedefとunsignedintであることがわかりました。

ほとんどの32ビット符号なし整数型が変換されますuint(C#または実際にはSystem.UInt32.NET)。それがあなたが使うべきものです(そしておそらくバインディングが使っているものです)。

最も注目すべき例外(整数型の場合)は、変換される場合ですenums(ただし、基になる型は元の型と同じサイズのままです)。

于 2013-01-06T00:57:04.560 に答える