问题标签 [gloss]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1795 浏览

haskell - Haskell Gloss - 每按下帧键就做一些事情

我想在按下键的每一帧移动 Haskell Gloss 中的对象,而不仅仅是开始按下键的那一帧。(示例:按下“w”键时,每帧加速对象)

编辑:我尝试使用 EventKey 的第二个参数,但无济于事。

我的代码:

0 投票
1 回答
158 浏览

haskell - How to hide the mouse cursor in Haskell Gloss

Is it possible to hide the cursor using Gloss in Haskell? We want to replace the player with the mouse position.

0 投票
0 回答
484 浏览

haskell - 如何在 playIO 功能中退出游戏?

我正在用 Haskell Gloss 制作 Pacman。现在我正试图退出游戏,一旦游戏板上的所有筹码都被吃豆人吃掉了。我有检查是否是这种情况的功能,但在那之后我找不到退出游戏的方法。

这是因为我没有返回 IO a 的函数(因为 exitWith 输出)。

这是我的 Main.hs 的代码:

playIO 函数具有以下类型签名:

我可能忽略了一些东西,但是一旦有赢家,我想退出 playIO 函数的循环。以下功能可能会有所帮助:

非常感谢任何建议,我还是 Haskell/Gloss 的新手。

0 投票
2 回答
281 浏览

haskell - IO(可能是图片)-> 图片

我正在用 Gloss 创建一个游戏。我有这个功能:

如何获取此 IO(可能是图片)并将其转换为图片?

0 投票
1 回答
853 浏览

haskell - Haskell:尝试渲染文本时出现光泽错误

我正在尝试运行此示例: https ://raw.githubusercontent.com/elisehuard/game-in-haskell/master/src/Shapes.hs

但我收到错误“freeglut 错误:在没有先调用 'glutInit' 的情况下调用函数。”

我设法将问题隔离到第 39 行:“颜色(亮洋红色)$ translate 0 (-100) $ scale 0.2 0.2 $ text "Boo!""

当我将其更改为:“颜色(亮洋红色)$ translate 0 (-100) $ scale 0.2 0.2 $ blank

它工作正常。

我正在开发 linux mint 19;光泽版 1.13.0.1;光泽渲染 1.13.0.2。


在克隆光泽、构建并将新克隆的库添加到我的堆栈之后

这些模块作为全局模块存在(在这个堆栈目录之外编译的东西)。但是它们不存在于光泽克隆中。

本地图形分支不应该遮蔽现有分支吗?似乎它试图完全取代它。


请指教!

干杯!

0 投票
2 回答
71 浏览

haskell - 从列表中选择特定图片

我有以下功能:

如果n==0我要选择pic1,如果n==1我要选择pic2。否则我想选择pic3. 问题是当其中一张图片没有加载时,它不会出现在列表中。而不是[pic1,pic2,pic3]我有类似的东西[Pic1,Pic3]。当功能是supposed选择不在列表中的图片时,我希望它改写"X"。为此,我将使用该功能 text "X"。问题是我不知道如何让它写"X"而不是选择错误的图片。

编辑:我创建了以下函数,但由于某种原因,我在图片中收到错误“变量不在范围内”。

0 投票
1 回答
113 浏览

haskell - Haskell Gloss 和 STM 并发集成

我想从多个线程(4 个线程)更新 Haskell Gloss GUI。我正在研究一个应用程序,其中 Haskell GlossGUI 上的事件触发一系列步骤,最终创建线程,每个线程都可以并且应该在需要时更改 GUI。我正在使用光泽play功能。

Gloss GUI 函数play类型:

注意(Event -> world -> world)处理键盘事件的函数的参数。

如果我单击键盘上的xhandleKeys::Event -> world -> world ,然后捕获 this event,获取 a world(我的应用程序模型,它是 Gloss 显示的数据结构)并返回world有或没有更改的 a。

根据handleKeys::Event -> world -> world其他线程处理的事件,可能会使用forkIO :: IO () -> IO ThreadId. 这些产生的线程还应该操作world并返回 aworld以供显示。也就是说,每个线程运行一个类型的函数world->world。然后我会使用 STM 原语进行并发。这些原语是:

正如你已经猜到的那样,Haskell 类型检查器让我头痛。是否有可能在不违反类型的情况下运行依赖 STM 并发更新 GUI 的 Gloss 应用程序?

0 投票
1 回答
150 浏览

haskell - 在 Haskell 中运行 Gloss 代码时发布消息

Haskell playIO 有以下类型:

一旦你playIO在里面调用main,它就会不断运行更新由world. 如果在处理事件的代码(参见代码注释)或更新世界的函数中发生了某些事情,并且您想输出一条消息(不一定是错误),使用什么方法不违反类型?是否必须打破功能playIO来显示我的信息,如果是这样,人们将如何做到这一点?

0 投票
1 回答
1053 浏览

image - 如何在haskell中导入图像?

我是haskell的初学者,正在尝试制作游戏。目前正在学习光泽图形。我想知道如何在 haskell 中导入 BMP(JPG 或 PNG)图像?(作为角色或背景等)。我希望图像显示在图形窗口 IO() 中。但不能让它工作。我应该为此使用除光泽之外的其他模块吗?

谢谢你的帮助

0 投票
1 回答
159 浏览

haskell - 如何在 Haskell 中从计算机加载 GIF 图像?

我想在游戏背景中循环播放 GIF 图像(例如使用 Gloss Juicy 或模块 Codec.Picture.Gif)

设法使用这样的 BMP 图像:

但现在我想对 GIF 图像做同样的事情:

无法让它工作。

感谢任何提示如何做到这一点。