2012-04-13 12 views
0

図面ビューでブロックを正しく実装する方法。線を2つの部分で切断できるようにする方法。 UIImageViewまたはUIImageを使用しますか?カット・ブロックの後図面ビューでブロックを正しく実装しない

enter image description here

物理学の影響下に落ちる必要があります。

+0

私はあなたが尋ねていることをかなり理解しているとは思わないが、おそらくhttp://box2d.orgをチェックするのだろうか? – keegan3d

+0

私は、どのようなブロックを描画するために、より良い使用し、それらをアニメーションするように頼みます。 – Andrey05

+0

「NSBezierPath」をチェックアウト – keegan3d

答えて

1

まず、合計で何回のカットが発生する可能性がありますか?どのように多くの独立したブロックが結果を生むか10? 100?これらのいずれかを実装する前に、その数のオブジェクトをiPhoneまたはiPod touchで動かしてテストします。シミュレータ上で動作しているという理由だけでは、実際のデバイスでは十分速く動作するわけではありません。

第2に、すでに述べたように、ゲームグラフィックスや物理学のためのライブラリがあり、多くの作業を行うことができます。 Cocos2DはOpenGL描画と物理ライブラリへの比較的簡単なアクセスを組み合わせた一般的なオプションのようです。ここではとにかく

、独自の描画を行うには、選択肢は次のとおりです。

  1. は、OpenGLにすべてのグラフィックを移動します。これは軽く行われるべきではありません。あなたはCocoa Touchで作業するのが簡単ではありません。また、グラフィックやアニメーションを最大限にコントロールし、時間をかけて最適化すると、より滑らかなパフォーマンスを実現できます。

  2. 独立したブロックごとにメインレイヤーにCALayerサブレイヤを追加して、単一のUIViewを作成します。 CALayersは、迅速な移動と合成のために設計されています。しかし、物理シミュレーションを実行している場合は、まずアニメーションの動作を削除します。 This tutorial seriesが有用かもしれません。

  3. ブロックごとに別々のUIViewがあります。 UIViewはCALayerで実際に描画されるので、これはCALayersを使用するのと同様のパフォーマンスを持ちます。このオプションでは、少なくとももっと多くのレイヤーとより多くのビューを持っていますが、CALayersのすべての機能と、ビューで簡単ないくつかの描画オプションがあります。

  4. UIViewが1つあり、すべてのブロックをdrawRectメソッドで描画します。これは実装が容易に見えるかもしれませんが、ほとんど確実に遅すぎるでしょう。

可能であれば、これらをそれぞれテストしてください。切断と物理部品を続ける前に、あまりにも遅くなる前に、画面全体でいくつのブロックをアニメーション化できますか?あなたはそれを使ってゲームを作れますか?あなたの物理システムは、動作したときにゲームを遅くすることを覚えておいてください。

関連する問題