Haskell Gloss: создание зума, панорамирования и всех подобных эффектов для модуля Graphics.Gloss.Interface.Pure.Game

Недавно я работал над созданием игры на Haskell, и мы использовали библиотеку Gloss для завершения графической части. Как вы, наверное, знаете, чтобы сделать игру с Gloss, вы должны использовать Graphics.Gloss.Interface.Pure.Game (или IO-игру, которая не является основной целью). Мои сомнения просты. Как говорится в описании этого модуля: "Нажатие ESC все равно прервет программу, но вы не получите автоматическое управление панорамированием и масштабированием, как с displayInWindow.". Я пытался создать эти два эффекта, но безуспешно. Я сделал аккумулятор в своем состоянии, называемый v, который получает значение 1, когда 'ReactionEvent (EventKey (MouseButton WheelUp) Down _ _) ((px,py),p,mapas,i, игроки,b,c,d,v) = ((px,py),p,mapas,i, Players,b,c,d,1)', а затем функция, которая заставляет изображение появляться, вернет его к 0 после применения необходимого эффекта, создавая Цикл. В чем ошибка в моей логике? Редактировать: добавлены распечатки, вот что я пытаюсь заставить работать. Кроме того, если у кого-то есть подсказка о том, как сделать разные углы обзора камеры, я также был бы признателен за помощь.

https://imgur.com/3PAqO2x https://imgur.com/jk93lzQ

0 ответов

Другие вопросы по тегам