2009-04-17 11 views
1

私の現在の計画は、NSViewをサブクラス化して矩形を描くことですが、これは非常に非効率的な方法です。私は何をしようとしているのですか?固定されたオーバーラップしない四角形を描き、しばらく。より良い方法がありますか?ありがとう。ココアで(〜200)色の長方形の束を描く最も良い方法は何ですか?

+0

Conwayの生命のゲーム、万が一のこと? – sigjuice

+0

あなたの現在のソリューションは、おそらく、そう簡単なことを行う最も簡単な方法です。 NSViewのサブクラス化には何も問題ありません。 –

+0

NSViewのサブクラス化は、長方形を描くことと直交しています。あなたはすべての矩形を保持するNSViewサブクラスを望むでしょう - それを非常にうまく描くことができないのですか? – Chuck

答えて

1

すべてが同じ色またはイメージの場合、1つのCGLayerがより効率的です。そのAPIの目的は何度も同じことを描いています。

一方、四角形が独立して動いたり、異なる色や画像を持っている場合、コアアニメーションは確かに道のりです。

0

コアアニメーションはゲームにとっては素晴らしい技術ですが、NSViewを当面使用したい場合は、NSCellに似たクラスを作成して、ゲームボードビューで配置と描画を実装することができます。これは、ビュー内に複数の項目を描画するために(値が異なる)単一のセルを使用する多くのCocoaコントロールクラスと同様に機能します。

個々のNSViewオブジェクトを使用すると、十分に速いスピードになる可能性がありますが、スピードの違いにかかわらず、理にかなった方法でロジックを分離することができます。

関連する問題