2013-10-03 4 views
0

Sprite Kit 프레임 워크를 사용하여 간단한 게임 (Cocos2d + Box2d로 개발되었습니다)을 다시 작성하려고합니다. Sprite Kit에서는 모든 것이 훨씬 단순 해 보이지만 새로운 프로젝트에서 물리 매개 변수를 조정할 때 문제가 있습니다. Sprite Kit에서 Cocos2d + Box2d보다 4 배 더 작은 질량을 가진 똑같은 그래픽 이미지 (모두 기본 rect 기반 몸체를 가짐)를 사용하여 생성 된 스프라이트가 있음을 발견했습니다. 바디 밀도를 4로 설정하면 문제가 해결되지만, 불행히도 이것이 주요 문제는 아닙니다. 물리학 세계의 모든 부대에 대해 4 배 승수 작업과 동일한 문제가있는 것처럼 보입니다. Sprite Kit에서 몇 가지 테스트를 수행하고 Cocos2d + Box2d보다 질량이 4 배 많은 바디를 만들었으며 Cocos2d + Box2d보다 4 배 더 낮도록 월드 중력을 설정했습니다. 결과적으로 두 프로젝트의 물리 (처음에는 Cocos2d + Box2 사용, 두 번째 Sprite Kit 사용)는 비슷하게 작동합니다. 스프라이트 키트에서 PIXEL_TO_METER_RATIO (Box2에서 사용 가능)와 같은 것을 찾을 수 없습니다. Sprite Kit에서 물리 세계를 조정하여 Cocos2d + Box2d에서 모든 힘, 질량 등을 곱하지 않고 동작하도록하는 옵션이 있습니까? 어쩌면 조정할 수있는 구성 속성이있을 수 있습니다. 내가 Cocos2d + Box2d에서 사용했던 Sprite Kit의 중력, 질량 및 힘에 대해 동일한 값을 남겨두면 게임의 모든 것이 너무 빠르게 시뮬레이션됩니다. 내 질문은 Cocos2d에서 Box2d로 Sprite Kit 프레임 워크로 마이그레이션 할 때 이와 같은 문제를 처리하는 방법입니다.Sprite Kit 물리 변수가 Cocos2d + Box2d와 비교

답변

2

유일한 해결책은 상황이 올바르게 될 때까지 힘과 기타 설정을 다시 조정하는 것입니다.

내부 스프라이트 키트는 Box2D를 사용하지만 Apple이 어떻게 수정했는지 알 수있는 방법이 없습니다. 알려진 것은 Box2D 세계에 다른 기본 설정을 사용한다는 것입니다. 즉, 물리 값을 그대로 이식 할 수없고 동일한 결과를 기대할 수 없습니다.

누군가가 변경된 설정에 대한 실제 수치를 조사한 개발자 포럼 (Sprite Kit)에서이 문제가 논의 된 것으로 생각됩니다. 이것들은 Box2D의 코드에서 대부분의 사용자가 수정을 고려조차하지 않을 것이라는 점에 유의해야합니다. 그래서 우리는 애플이 먼저 그것을 변경해야 할 이유가 있다고 가정해야합니다.

관련 문제