0

UIButtons のコレクションを使用して、iPhone でアニメーションを作成しようとしています。それぞれが UIView 内でゆっくりとランダムに移動し、互いに跳ね返ります。これは非常に自由回答の質問であることを認識しているので、そのような効果のより良い名前を探して、検索を行うことができます. 脈動は理にかなっているように見えましたが、ほとんどの検索では、その結果として定期的な動きが発生します。

私は、細胞を「顕微鏡下」で見たようなものだと考えています。そこでは、細胞は個々にすべて自分の意思で動き回り、互いにぶつかると跳ね返ります。または、ビー玉を箱にたくさん入れたときの効果です。 . 最終的には、ユーザーがそれらを「フリック」するように実装したいと思いますが、それは後で説明します。

どこから探し始めるかについてのアイデアはありますか? 前もって感謝します!

4

3 に答える 3

2

ChipmunkBox2Dなどの 2D 物理エンジンは、衝突検出と適切な反応を独自に提供するため、検討したいと思います。UIButtonsその後、初期速度が非常に低い単純な剛体としてモデル化できます。ボタンのアニメーション化は、描画ティックごとに手動で移動するのと同じくらい簡単です。

于 2012-11-24T15:12:32.600 に答える
0

ボタンが何かにぶつかるまで、ランダムに選択された直線でボタンを移動させたいですか、それとも蛇行させたいですか?

あなたがやろうとしていることの例はわかりませんが、調査することをお勧めします。

CGPath を事前に生成してから、CAKeyframeAnimation オブジェクトを使用してパスに沿ってボタンをアニメーション化できます。

衝突が互いに跳ね返るように衝突を検出するのは難しい作業です。ビューのレイヤーのpresentationLayerに問い合わせる必要があります。各ボタンのpresentationLayerのフレームを取得して交差をチェックするか、hitTestメソッドを使用して各フレームのコーナーをチェックして、それらが別のボタンのフレーム内にあるかどうかを確認できます。

カーブしたパスに沿ってビューをアニメーション化する方法を示すサンプル アプリが Github にあり、アニメーション化中に画像ビューでタップを検出するために CALayer hitTest メソッドを使用する方法も示しています。

ここをクリックすると、Github プロジェクトにアクセスできます。

于 2012-11-24T15:22:24.193 に答える
0

少なくとも理論的には、細胞は何らかの目的と方向を持っている可能性があるため、おそらく顕微鏡下の細胞よりもランダムであると思われます。

しかし、群れや群れの行動も見たいと思うかもしれません。それはあなたが求めているものではありませんが、視覚的に興味深いかもしれません.

于 2012-11-24T14:59:48.307 に答える