XNA 4.0에서 싱글 플레이어 RPG 플랫 포머를 개발 중입니다. 시간을 "중지"하거나 느리게하는 능력을 추가하고, 플레이어 캐릭터 만 원래 속도로 움직입니다 (Baldur 's Gate 시리즈의 Time Stop 주문과 유사). 정확한 구현이 아니라 일반적인 아이디어와 디자인 패턴을 찾고 있습니다.
편집 : 좋은 의견을 보내 주셔서 감사합니다. 나는 다음과 같은 해결책을 생각해 냈습니다.
public void Update(GameTime gameTime)
{
GameTime newGameTime = new GameTime(gameTime.TotalGameTime,
new TimeSpan(gameTime.ElapsedGameTime.Ticks / DESIRED_TIME_MODIFIER));
gameTime = newGameTime;
또는 이러한 선을 따라 뭔가. 이 방법으로 플레이어 구성 요소에 대해 다른 시간을 설정하고 나머지에 대해 다른 시간을 설정할 수 있습니다. 이와 같은 워핑 시간이 중심 요소가 될 게임에서 작동하기에 충분히 보편적 인 것은 아니지만이 경우에는 효과가 있기를 바랍니다. 나는 그것이 주요 업데이트 루프를 어지럽 힌다는 사실을 싫어하지만 확실히 그것을 구현하는 가장 쉬운 방법입니다. 나는 그것이 테셀로 드가 제안한 것과 본질적으로 같을 것이라고 생각합니다. 그래서 나는 그에게 녹색 진드기를 줄 것입니다 :)