2013-10-26 1 views
2

나는 11 세이며 Java, HTML 및 CSS로 프로그래밍합니다. 글쎄, 게임과 Minecraft 2D Platformer가 있습니다.이미지가 특정 색과 교차 할 때를 감지합니까?

글쎄, 나는 옆에 물을 가지고 있는데, 내가하고 싶은 것은 플레이어가 그 물을 교차 할 때, 나는 그것이 천천히 가고 싶다는 것이다. 당신이 아직도 나의 목표를 이해하지 못하는 경우에 대비하여, 이것을하는 방법이 있다면 예제가 있습니다.

if (player.intersectsColor("0026FF")) 
    playerSpeed = 2; 
else 
    playerSpeed = 3; 
+0

노아, 다른 사용자가 조언을 제공하거나보다 명확한 질문을하는 대신 여기에서 다른 사용자에게 다운볼링을하고 있습니다. Minecraft가 intersectsColor와 같은 방법을 가지고 있는지 묻고 있습니까? 아니면이 방법이 존재한다면 이것이 올바른 방법 일 수 있는지 묻고 있습니까? –

+0

@BrianReindel 'Image' 클래스에 그러한 메소드가 존재했다면 내가 추가 한 코드가 예제였습니다. 내가 묻는 것은 '이미지'플레이어가 어떤 색과 교차 할 때 코드를 실행하는 것입니다.이 경우 파란색은 24.FF의 색 코드를가집니다. 내가 원하는 것은 플레이어가 물 속으로 들어가서 (24.FF), playerSpeed ​​정수를 하나 줄입니다. 'playerSpeed ​​-'대신'playerSpeed ​​= 2'라고 말하는 이유는 이것이 루프에서 돌아가고 있기 때문이며, 물속에서 보낸 1 밀리 세컨드마다 그 값을 뺍니다. –

+0

http://gamedev.stackexchange.com/ 또는 Minecraft https://minecraft.net/community 커뮤니티 중 하나에서 더 큰 응답을받을 수 있습니다. Minecraft는 자바보다 더 특이한 것처럼 보입니다. –

답변

2

당신이 물감의 색이 아닌 물을 나타내는 것이 좋습니다. 그런 식으로 플레이어가 물을 나타내는 "타일"에 있는지 여부를 확인할 수 있으며 그에 따라 속도를 조정할 수 있습니다.

당신 (이하 "타일"/ "플레이어"의 크기에 따라 조정)는 x/y 좌표에 단순 비교로 할 수있는이를

당신이 좋은 그물코 타일,하지만 곡선/다각형이없는 경우 , 지오메트리와 곡선 교차점 계산 방법을 읽어야합니다. 정확한 알고리즘은 사용 된 곡선에 따라 다릅니다.

내가 교차로 많은 두 가지의 색상 자체를 사용에서 당신을 낙담 이유 : 동적 지형/객체 색상을

  1. 단일 색상 제한의 "교차"당신의 능력 나중에
  2. 당신은 할 수 없습니다 두 개의 다른 지형입니다. 동일한 색상의 대상 유형
  3. 지형/물체의 색상 (예 : 갈색)은 플레이어가 탔던 푸른 지형/물체를 알려주지 않습니다 (예 : 첫 번째 또는 두 번째 가슴).

실제로 지형을 색상으로 나타내려면 플레이어의 게임 좌표를 화면 좌표로 변환하고 화면상의 해당 좌표에서 플레이어가 장면에 렌더링되기 전에 가지고있는 색상 픽셀을 확인할 수 있습니다),하지만 이것은 지저분합니다.

+0

좋아, 글쎄, 나는 배경 이미지에 물을 넣었다. 그리고 그 곡선은, 도움이 필요한 것은 바로 –

+0

에서 마지막 하나를 본다. –