0

同じSprite.graphicsスコープで複数の図形を描画しようとしていますが、問題に対する合理的な解決策が見つからないようです。

パフォーマンスの問題にはdrawPath()メソッドを使用していることに注意してください。ブレンドモードで複数のシェイプを使用できますが、それを避け、パフォーマンスのコストを最小限に抑えたいと思います。

drawPath()メソッドの巻線パラメータを試してきましたが、理解できないことの1つは、巻線の方向がFlashによってどのように定義されるかということです。したがって、実際に問題が発生する前の最初の質問です。考慮された座標?それとも、方向を定義する生成線間の角度ですか?

そうは言っても、これが私の実際の問題です。線上の長方形からの投影である形状を描きたいのです。窓とそれを通過する光が床に当たると考えてください。

ここに画像の説明を入力してください

それを達成するために、私は光源の位置が変化する可能性があり、そのような結果をもたらす可能性があることを考慮に入れる必要があります:

ここに画像の説明を入力してください

この2番目の写真では、私が直面している問題をすでに確認できます。形を描くために、私は別々に「描画」しました(理解:座標ベクトルに数字を配置します)図のさまざまな部分:投影したい実際の長方形、左側から投影された光、投影された光その下側から、そしてその右側から投影された光。

左上から曲がり角を同じにするように心がけていますが、中央部分が側面部分と重なる度に形が崩れるので、どうやら間違っているようです。そこで空になり、両側のパーツが重なるたびに同じことが起こります。

ここに書いていると、突然いくつかの啓示が私を襲いました。そして今、私の形状が機能するためには、座標ベクトル内のすべてのポイントを同じ巻き方向に並べ替える必要があると思いますか?...(小さなものだけでなく)別々に頭の中で描いているパーツ^^)

私が正しい場合(私が正しくない場合、または私が何か間違ったことを理解した場合は私を訂正してください?...)、それは私が次のいずれかをしなければならないことを意味します:

  • ポイントを並べ替えて正しい巻き方向に配置します(複雑で、描画APIに提供されると、奇妙な描画形状になる可能性がありますか?...)

  • シェイプの実際のシェイプ(現在予想しているよりも複雑なもの)に応じて、最も外側のポイントからのみシェイプを描画します。

ここの誰かが私の最後の仮定を確認または確認し、ここで何が起こっているのか、そしてそれを解決する方法についての手がかりを私に与えることができますか?...

どうもありがとう :-)

4

1 に答える 1

1

3本のプロジェクターラインで1つの形状を構成したいですか?さて、あなたは2つの下のポイントの位置を決定しました、そしてあなたはあなたのウィンドウの4つのポイントを持っています。次に、次のようなリストを作成します。

  • あなたがあなたの光が常に窓から落ちると書くので、2つの一番上のポイントは常にリストにあります。したがって、コマンドに0を、ウィンドウの左上のポイント座標をパスに、1をコマンド(lineTo)に、ウィンドウの右上のポイントをパスに配置します。
  • ここで、両方のフロアポイントのXがウィンドウの直角よりも小さい場合は、ウィンドウのポイントをパスに追加します。
  • 次に、右端のフロアポイントを追加し、次に左端を追加します。
  • 次に、両方のフロアポイントのXがウィンドウの左下隅よりも大きい場合は、それをリストに追加します。

完了です。そして、3つのプロジェクションは不要になり、一番下のプロジェクションのみを計算して(フロアの両方のポイントが得られます)、リストを作成します。する必要があります。コメントしてください。

于 2012-10-06T17:15:46.793 に答える