화면에 빨간색과 파란색 Shapes
이 움직이는 게임을 만들고 있습니다. 나는 그들이 다른 색깔 (보라색)과 겹치는 곳을 하는 방법에 대해 높고 낮게 보았다. 나는 자바 2D만을 사용하고 있는데, 셰이더를 지원하지 않는다. 나는 하나의 BufferedImage
에 빨간 도형을 그리고 다른 하나는 파란색으로 그려 넣은 다음, AlphaComposite
을 사용하여 색상을 결합하고 화면에 그려 보았지만 올바른 결과를 얻지는 못했습니다. 내 생각에 255,0255가 보라색으로보기에 끔찍하기 때문에 255 대신 빨간색과 파란색으로 127,0,0과 0,0,127을 사용하고 있습니다. 나는 효과적으로 this을 좋아할 것입니다.겹치는 도형을 새로운 색상으로 만드는 방법은 무엇입니까?
1
A
답변
0
copeg의 제안에 감사드립니다.
//Attacks
BufferedImage attackImg = new BufferedImage(S_WIDTH, S_HEIGHT, BufferedImage.TYPE_INT_ARGB);
Graphics2D ag = (Graphics2D) attackImg.getGraphics();
//Make all of attackImg a transparent image
ag.setComposite(AlphaComposite.Clear);
ag.fillRect(0, 0, S_WIDTH, S_HEIGHT);
ag.setComposite(AlphaComposite.SrcOver);
//Render red attacks to attackImg
ag.setColor(new Color(127, 0, 0, 255));
for(Shape s : redAttacks)
ag.fill(s);
//Render overlap areas using composites to attackImg
ag.setColor(new Color(127, 0, 127, 255));
ag.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN));
g.setColor(new Color(0, 0, 127, 255));
for(Shape s : blueAttacks)
{
ag.fill(s);
g.fill(s); //Render blue attacks
}
//Render red and purple attacks
g.drawImage(attackImg, 0, 0, null);
+0
또한 [Area] (https://docs.oracle.com/javase/7/docs/api/java/awt/geom/Area.html) 클래스를 사용하여 2 개의 도형을 교차시킬 수 있습니다 (그리는 데 사용할 수 있음). 교차로 다른 색상) – copeg
관련 문제
- 1. 자바 : 색상으로 ArrayList에서 도형을 채우는 방법은 무엇입니까?
- 2. android - 임의의 색상으로 도형을 그리기
- 3. CSS에서 도형을 만드는 방법은 무엇입니까?
- 4. JavaFX 2.0에서 기하학적 도형을 만드는 방법은 무엇입니까?
- 5. 랜덤 도형을 기반으로 그리드를 만드는 방법은 무엇입니까?
- 6. 텍스트 상자처럼 작동하는 도형을 만드는 방법은 무엇입니까?
- 7. CSS를 사용하여이 도형을 만드는 방법은 무엇입니까?
- 8. 겹치는 막대 그래프를 만드는 방법은 무엇입니까?
- 9. 다른 색상으로 다른 라벨을 만드는 방법은 무엇입니까?
- 10. 파워 포인트 interop에서 색상으로 도형을 채우려면
- 11. 보기를 겹치는 방법은 무엇입니까?
- 12. 캔버스에서 도형을 식별하는 방법은 무엇입니까?
- 13. 지도에 도형을 그리는 방법은 무엇입니까?
- 14. Java에서 도형을 이동하는 방법은 무엇입니까?
- 15. 가장자리에 도형을 지정하는 방법은 무엇입니까?
- 16. YIntervalRenderer에서 도형을 끄는 방법은 무엇입니까?
- 17. Matplotlib을 사용하여 입자로 둘러싸인 도형을 만드는 방법은 무엇입니까?
- 18. {R 그리드} : 색상으로 채워진 다각형 반을 만드는 방법은 무엇입니까?
- 19. 손가락으로 WP7에서 도형을 그리는 방법은 무엇입니까?
- 20. box2d 도형을 올바르게 처리하는 방법은 무엇입니까?
- 21. Matlab에서 겹치는 조각으로 3D 볼륨을 만드는 방법은 무엇입니까?
- 22. Python matplotlib - 빈도를 나타내는 색상으로 파이 차트를 만드는 방법은 무엇입니까?
- 23. 두 가지 색상으로 구성된 android drawable을 만드는 방법은 무엇입니까?
- 24. 다른 색상으로 채색 된 UIAlertView를 만드는 가장 쉬운 방법은 무엇입니까?
- 25. 버튼 색상을 다른 색상으로 희미하게 만드는 방법은 무엇입니까?
- 26. 테이블 행을 겹치는 방법은 무엇입니까?
- 27. HSL 색상으로 채색하는 방법은 무엇입니까?
- 28. 프레임과 색상으로 UIImage를 자동으로 그리는 방법은 무엇입니까?
- 29. 해양에서 새로운 기능을 만드는 방법은 무엇입니까?
- 30. 봄에 새로운 세션을 만드는 방법은 무엇입니까?
'어디 그들이 다른 색을 겹쳐 (보라색)'수동으로 중복 옵션을 색칠 : 다음 코드 세그먼트 (: 나는 그리기있어 모양이 공격이다 컨텍스트)인가? 예를 들어, 각각의 도형을 각각의 색으로 그린 다음 교차점 (있는 경우)과 색상을 개별적으로 찾습니다. – copeg
@copeg 예! 감사! 나는이 질문을하는 다른 사람들을 위해 대답을 할 것입니다. – Ryguy9999