제목이 다소 모호하지만 여기서 더 잘 설명하겠습니다.공개 된 공간을 통해 두 몸체의 연결성 확인
나는 많은 게임 LIMBO의 수위처럼, 약간의 물 수준 시뮬레이터를 프로그래밍하기 위해 노력하고있어
설정. 개구부가 만들어져 두 물체 사이에 물이 흐르도록 허용하면 레벨이 동일 해집니다. 내가 지금 가지고있는 설치는 수위를 나타내는 내부에 파란색 블록이있는 두 개의 컨테이너입니다. 내 마우스는 지형의 덩어리를 제거하므로 신체 사이에 개구가 생기면 조정해야하며 Y 값이 일치하도록 이동해야합니다.
이미지 예 :
세미 채워진 탱크 :
균등화 탱크 : 이제
, 나는 약간의 수학이 얼마나을 알아 내기 위해 할 수있는 알고 서로 다른 크기의 탱크 사이의 수위와 비율을 조정하십시오. 내가 생각하는 부분은 꽤 솔직하다. 그러나 나는 두 개의 물이 연결되어 있는지 그리고 언제 연결되는지를 결정하는 좋은 방법을 이해할 수 없다.
모든 알고리즘, 의사 코드 또는 참조 사항을 보내 주시면 감사하겠습니다.
자세한 설명이 필요하면 언제든지 문의하십시오. 모든 의견을 기다리고 구체적인 설명을 위해 내 게시물을 편집합니다.
감사합니다.
~ natebot13
BTW : 나는 C++, SFML 및 Box2D의을 (Box2D의 내가 반드시이 예를 들어 필요하지, 필요한 다른 물리와 관련된 것들입니다) 사용하고 있습니다.
이미지가 변경되면, 즉; 그들이 연결될 때, 그것을하지 마십시오. 네가 묻고있는거야? – ChiefTwoPencils
@ChiefTwoPencils 내가 의미하는 바가 아닙니다. 내 말은, 두 탱크가 거기에 앉아서 지형을 가로 질러 마우스를 끌면 검정색이 제거되고 두 탱크가 아직 연결되었는지 여부를 계산하는 알고리즘을 원합니다. 수위를 올리거나 내림으로써 "물의 흐름". 또한 여러 곳에 탱크가있을 수 있으며 지형이 제거되면 어느 탱크가 연결되었는지 확인할 수 있습니다. 다행히도이 말이 맞았습니다. (내 머리 속에 의미가 있습니다.) : P – natebot13
코드에서 이러한 영역이 어떻게 정의되어 있는지 알지 못해서 어떤 아이디어도 제공하기가 어렵습니다. 질문에 Box2D 태그가 붙어 있기 때문에 먼저 영역이 체인 모양으로 정의 된 것으로 가정합니다.이 영역은 종종 파괴 가능한 지형이 어떻게 수행되는지입니다. 그러나 다른 사람들은 당신이 어떤 유형의 그리드를 다루고 있다고 가정하고있는 것 같고 다이어그램은 어느 한쪽으로 많은 힌트를주지 않습니다. – iforce2d