cocoaの最近のブログ記事
LogPodのバージョンアップをしようと思うてな、プロジェクトを開いてみたんだけどあっという間に「Cocoaはさっぱり」になってしまった。リハビリしなくちゃあ。
まずはOPMLにでも対応しよう → ドラッグアンドドロップ対応しよう → そもそも対応してたんじゃね? → ソース見るべ → さっぱり
現状のプロジェクトはMac OS X 10.2の頃からのものなので、Jaguarの呪縛も受けているのに気が付いた。リソースとかね。Pantherまで引き上げるか。
たかまるリクエストにより、初めてのCocoa講座を始めてみる。俺テキストエディタを作りたいというたかまる君、がんばってついてきてね♪
まずは最初なので、テキストエディタを作ってみよう。普通のね。
長くなるので、以下extend。
初期化とフルスクリーンモードを組み込んだスケルトンが出来たので色々OpenGLのテストをしてみようということでまずはテクスチャーを貼ってみた(いきなり?)。
とりあえず立方体を描いてみる。のっぺらーとした立方体が描かれた。
んでもってイメージを読み込む。Cocoaの場合、NSImageRepの
が便利ですな。JPEGだろうがBMPだろうがPNGだろうがイメージを読み込んでくれるのでらくちん。その昔JPEGを読み込む関数を自力で作ってたのが懐かしい。
テクスチャーもなんとなく貼れるようになったので次はいよいよフィールドを作ってみようかな〜。Mac OS X 10.0の頃、サンプルコードのディレクトリにGLUTのサンプルが豊富にあってその中に紙飛行機がふわふわ空を飛ぶサンプルがあったんだけど最近入ってないのね。地形の描画やアンジュレーション等の処理が参考になります。
Windowモードとフルスクリーンモードの切り替えを行うスケルトンアプリケーションを作成中。
その辺に転がっていたサンプルコードを頼りに色々いじってみたんだけど、あるサンプルコードを使うと、フルスクリーンモードに切り替えた瞬間にエラーになって先に進めない。別のサンプルコードを使うと、既に開いている他のアプリケーションのウィンドウが縮んでしまう。どちらもちょっと切ない。
前に紹介したNeHe Productionsのサンプルコードだと、エラーになるのでどれもフルスクリーンモードに切り替えが出来なかったんだけど、少しコードを追ってみたらもう一つのサンプルコードの問題である他のアプリのウィンドウが縮んでしまうことはないみたいなので、こっちを集中的にデバッグすることにした。結論から言うと、フルスクリーンモードに切り替えるときのアトリビュートのパラメータが少なかったため。
- (NSOpenGLPixelFormat *) createPixelFormat:(NSRect)frameにNSOpenGLPFAScreenMaskとメインのディスプレイのIDを追加してやれば動くぞ。なんだかものすごく局地的な話題だけど、気にしない。なんかの役に立つこともあるかもしれない。
とりあえず、作りかけのスケルトンアプリケーションはHDの肥やしになりました。
ベーシックな機能を実装してほげMMORPGの基礎にしようっと。
