2011-05-22 9 views
0

最近、私はこのPete Bloisの「Explode」という動作を見つけました。この種の高度な動作コードはどこで知ることができますか?

http://blois.us/blog/2009/07/explode.html

あなたはグリッドがちょうどSilverlightは真の3D効果を持っていないにもかかわらず、リアルな3D効果のように見える爆発グリッドをクリックしてください - :これはリンクです。

私はコードを勉強しましたが、動作の中核的なロジックを得ることができませんでした。誰でも私のPrepareShards、ApplyForceの機能は何ですか?また、シャードクラスの目的は何ですか?私はそれがX、Y、Zを持つポイントをシミュレートしようとしていると思う。私はコードを1/2時間勉強したが、何をしているのか全く理解できなかった。私は、この背後にある論理を理解する必要はないことを知っています。しかし、このような先進的なエフェクトを作成したいのですが?フードの中で何が起こっているのかを調べることは常に良いことです。誰がこのコードや著者がこの種の実生活を教える本であるかを説明するブログ記事を書いていますか?それとも、あなたがすべて時間を持っていたら、何をしているのか説明できますか?事前に

おかげで:)

+1

説明したいコードを投稿して、人々がそれを狩る必要はありませんか?乾杯。 – WestDiscGolf

+0

@ WestDiscGolf:私は既に理解していない部分についてすでに言及していると思います。乾杯! – TCM

答えて

5

著者はあなたのコードを示しますが、それはコメントされていません。それはパズルに変わります!

このコードが動作する方法は次のとおりです。

  • それは行動があなたが
  • Explodeそれは知っているので、マウスイベントをフックを爆発する要素にXAMLに取り付けられている。System.Windows.Interactivity
  • を使用してBehaviorですクリックしたときのマウスの位置
  • StartExplodeの場合は、最初にPrepareShards
  • それは
  • 偽物だそれはそのOpacityを設定することで、元のインタラクティブ要素を「隠す」:は新しいPopupは正確に元のように見えませんが、それはもはや対話的でRectangle要素
  • の行列が含まれているGridが含まれているPopupを作成しますゼロ
  • Shardにすべての矩形をアニメーション化するために呼び出される各Rectangleラッパーは、その位置とアニメーション
  • ApplyForce
  • を追跡することである

ApplyForceとは何ですか?物理。それは単なる公式です。

これは、偽善と巧妙な2Dおよび3Dグラフィックの組み合わせです。どのように機能するかの全体的な構造を理解すれば、個々のステップはそれほど難しいものではありません。あなたがやりたいことをするためのAPIを得る方法を考え出すだけです。

たとえば、オリジナルのインタラクティブフレームワーク要素の小さなグリッド領域(2,3)をビットマップイメージに変換し、それをグリッドの対応する矩形に描画する必要があります。描画されると、グラフィックス・サブシステムの保持モードの性質のため、再び心配する必要はありません。

このようなエフェクトは書きやすいものではありませんが、不可能ではなく、楽しいこともあります。あなたは間違いなく "ギミック"アプリケーションを書くときにあなたをうまく役立つ多くのテクニックを学ぶでしょう!

関連する問題