3

私は UIView サブクラスを持っています - 実際にはパズルのピース - 2 つの異なる CGLayer が initWithFrame で初期化されています。

drawRect では、この 2 つのレイヤーをブレンドする必要があり、最上部にはゲーム ロジックに応じて可変アルファが必要です。

これを行うための最良の (最もパフォーマンスが最適化された) 方法は何ですか? 描画する前にアルファを設定する CGLayer または CGContext 関数はありますか?

4

1 に答える 1

6

-opacityレイヤーの を設定します。レイヤーの-opaque設定は NO でなければならないことに注意してください。デフォルトは NO ですが、パフォーマンス上の理由から、通常は YES に設定されています。

すでに を行っている場合は-drawInContext:、 を試すことができますCGContextSetAlpha()-drawRect:ただし、通常はと レイヤーを同時に使用することはありません。通常、ビューまたはレイヤーのいずれかに描画を任せます。

于 2010-01-06T22:27:54.337 に答える