(これはjavaです)私はユニットを表す楕円形をしています。私は、楕円の色がユニットの健康状態を表すことを望みます。完全に健康なユニットはすべて緑色になります。ユニットの体力が低下すると、楕円形が赤く塗りつぶされます。 50%の健康状態では、下半分は赤、上半分は緑色、死んだときは完全に赤色になります。 ここの解決策は明白で些細なものでなければならないと確信していますが、私はそれを見ることができません。 ありがとうたくさんJavaグラフィックス - 2色の図形
0
A
答えて
2
赤い楕円を背景に描いてから楕円形と長方形の緑色の交差点を描画し、楕円形の下から四角形を描き、さらに上に移動してさらに赤色を表示することができます下の楕円形。
あなたが緑を描画するときに、グラフィックの上にクリップを設定することができますどのようなプリミティブhere
0
のうち、複雑な形状を構築する上で、最大読むのが好きかもしれません。クリップ内のものだけが実際にペイントされます。
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D)g.create();
g2d.setColor(Color.RED);
g2d.fillOval(10, 10, 200, 100);
g2d.setColor(Color.GREEN);
g2d.setClip(10, 10, 200, 50);
g2d.fillOval(10, 10, 200, 100);
}
1
オーバーライドこのような塗装方法何か:
public void paint(Graphics graphics)
{
super.paint(graphics);
Rectangle originalClipBounds = graphics.getClipBounds();
try
{
graphics.clipRect(100, 100, 100, 25);
graphics.setColor(Color.RED);
graphics.fillOval(100, 100, 100, 100);
}
finally
{
graphics.setClip(originalClipBounds);
}
try
{
graphics.clipRect(100, 125, 100, 75);
graphics.setColor(Color.BLUE);
graphics.fillOval(100, 100, 100, 100);
}
finally
{
graphics.setClip(originalClipBounds);
}
}
がいくつかダブルバッファリングでそれを強化することがありますが、あなたはその要旨を取得します。
関連する問題
- 1. Javaの2つの図形/領域間の距離は?
- 2. グラフィックスで矩形を透明な色にするには?
- 3. アンドロイド楕円形状2色
- 4. 2次元配列の図形認識
- 5. Javaグラフィックス複数クラス
- 6. キャンバスフリーの図形と図形の追加
- 7. Java、図形が描画されない
- 8. ウィンドウフレームなしでJavaで図形や図形を表示する方法は?
- 9. Python/Pygameの反復による図形の異なる色?
- 10. Excel 2010 - セルと図形の色付け - 私の考え
- 11. 範囲から図形の色をプログラムで変更する
- 12. 異なる背景色のMATLAB図形を保存します
- 13. 図形のスタイル
- 14. Javaコード、クイックレビュー(スイング、グラフィックス2D)
- 15. メインクラス以外のJavaの2次元グラフィックスを使用する
- 16. JAppletのJavaペインティングのグラフィックス
- 17. C#の樹形図
- 18. 図形をバイト[]
- 19. 代替図形
- 20. 3dグラフィックスJava限定アクセス
- 21. 2行の図形タイトルのフォントを変更する
- 22. Three.js - 2つの図形を1つにまとめる?
- 23. 2つのデータフレームボックスプロットをtwinx図形で結合する
- 24. 図形の形状を変更する
- 25. Javaグラフィックスによるクリッピングの内部
- 26. 図形をアニメ化する
- 27. 地図内の地図java
- 28. Javaアプレットユーザ入力による図形の描画
- 29. Javascriptでの図形のペイント
- 30. GWT - ツリーの図形表示
素晴らしい!ちょうど私のようなnoobが必要な:) :)ありがとう – user143602