2016-04-03 11 views
1

pygameに非表示のColorを定義する方法はありません。そのため、screen.fill(invisibleColor,pygame.mouse.get_pos())での呼び出しは、その背後の図をカバーしませんか?Pygame invisible Color

+0

透明度100%のRBGAカラーをお試しください。 – Oisin

+0

どのように透明度を100%にすることができますか? (255,255,255,255)のような色を使っても助けにならない – amirteymuri

+0

255のアルファは完全に不透明です。代わりに(255,255,255,0)を試してみてください。 – SteJ

答えて

2

Pythonの透明度には3つの異なる方法があります。 The documentation for fillを見ると、最後のパラメータに特別なフラグを渡して、使用している透過方法をサポートする必要があるようです。

役に立つとわかったのは、私の表面にconvertではなくconvert_alpha()ファンクションDocumented hereを使用することでした。私は私の場合、普通のものを使用していたので、透明性は機能していないことを発見しましたconvert

追加:

私はあなたが達成しようとしているかについては100%明確でないんだけど、あなたがマウスでのみ矩形が見えるようにしたい意味するかもしれないし、あなたが使用することを意味することを私に起こりますそれを行う透明性。その場合は問題がいくつかあります:

  • 透明色がまさにそれである - 透明 - 既存の販売四角形の上に描画することは、あなたの透明色によってその固体の長方形を見ることができるようになります。つまり、最初に描画された矩形を持たないのとまったく同じになります。
  • 画面全体を描画してから覆います。これは遅くなります。

これが達成しようとしているのであれば、小さな表面(マウスの下にあるビット)をレンダリングして、堅実な背景の上にスクリーンに描画する方がよい場合があります。

あなたが本当にマウスの下穴と固体四角形を描画したい場合は、(ASCIIアートのため申し訳ありませんが)このような4つの四角形描画する必要があります。

+------------------+ 
|  1   | 
+------+---+-------+ 
| 2 | m | 3 | 
+------+---+-------+ 
|  4   | 
+------------------+ 

その方法のビットを(図中のmと表示されています)はソリッドカラーで覆われませんが、1,2,3 & 4の矩形はすべて1つの実線の四角形(マウスの下に穴があります)のように見えます。

ご希望の答えを絞り込むのに役立ちます。

+0

'convert'と' convert_alpha'は 'Surface'オブジェクトで動作します。 '' pygame.draw.rect(screen、COLOR、pygame.Rect) 'のように、' Rect'を描画する際に透明な色を使いたいのですが? – amirteymuri

+1

透明な矩形を描画することは、最初に矩形を描画しないこととまったく同じです。それは計算の無駄です(そして、私は得ることができるパイゲームからパフォーマンスのすべてのビットを絞ろうとしています)。半透明(つまり、α> 0)にしたいということですか? – SteJ