问题标签 [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 投票
2 回答
101 浏览

haskell - 将精灵包含到二进制文件中——光泽库

我正在尝试在 Haskell 中制作一个飞扬的小鸟游戏,我想知道是否有办法将 .bmp 文件“编译”成二进制文件?所以我只能共享可执行文件,不需要包含精灵的文件夹。

我正在使用gloss-1.13.0.1并将 bmp 加载为

我知道unsafePerformIO这不是好的做法,但这还不是我关心的问题。我应该使用不同的方法以便编译器知道我需要该图像还是没有办法做到这一点?

可以在GitHub 上找到整个代码

0 投票
1 回答
220 浏览

haskell - 有没有办法将两组图片合并为一组?

我正在尝试显示一个网格线,其中包含一组填充所述线中的正方形的单元格。

我已经尝试将它们像简单的列表一样连接起来。

这是线的网格。它会自行正确显示。

这是在线条之间绘制的一组单位,也可以单独正确显示。

我的主要方法:

我可以在这个地方用网格交换单位,它工作正常。我也试过这个:

它抛出了以下错误:

0 投票
1 回答
220 浏览

haskell - Why doesn't Gloss render in native resolution?

On OSX (with 2560 x 1600 native resolution), Gloss displays everything at zoom-factor 2x. Giving a window size of 300 x 300 to the display function creates a window of 600 x 600. All content in that window is also twice as big (in each dimension), regardless of whether drawn with Gloss or loaded as a sprite (I'm using Juicy for that). Scaling the content down does not give the same clean result as when displayed in the actual native resolution. Is there a way to make Gloss render in full native resolution?

I'm still new to Gloss and hope I haven't missed anything obvious.

Here is the code...

... and the corresponding render:

Screenshot of the render

Update: This seems to be a general issue with OpenGL and retina displays (actually the way OSX pixels are calculated internally). Since, as I understand, Gloss doesn't really allow low-level access my guess is that this is not fixable.

Update 2: This seems to be a particular issue with GLUT as the underlying backend for Gloss. Rebuilding Gloss enabling GLFW and disabling GLUT should fix the issue.

0 投票
2 回答
297 浏览

haskell - 无法将类型“IO”与“[]”匹配

我编写了一个函数来生成两个随机数,然后我将其传递给另一个函数以在那里使用它们。代码是:

该函数在其“do”块中调用的函数是:

whereinitialBoard是列表列表,C 是预定义的数据类型。我lens用来更改列表中的值。运行它会给我错误:

对于 r 和 r2 线。我完全不知道这里发生了什么,或者我做错了什么,所以我将非常感谢任何帮助。

0 投票
1 回答
559 浏览

haskell - 如何在光泽度中找到文本图片的宽度?

在 Haskell Gloss 库中,使用 Picture 类型的 Text 构造函数绘制文本。但是,如何找到这样一张图片的宽度(和高度)?

0 投票
0 回答
109 浏览

haskell - 如何在光泽中绘制图片的边界矩形?

光泽度中是否有一个函数,给定图片返回包含图片的最小矩形的宽度、高度和坐标?如果没有,可以写一个吗?

0 投票
0 回答
172 浏览

haskell - 如何在 playIO 步骤事件中退出 Gloss?

所以我一直在尝试在 Gloss 上找到一些可以替代 state 的东西,所以当 state 为 2 时,Gloss 会退出。(我正在使用 Graphics.Gloss.Interface.Pure.Game)

我知道 exitWith 但不确定在这种情况下如何使用它,任何建议都值得赞赏。

0 投票
0 回答
475 浏览

macos - 我无法在 Mac OS Catalina (Haskell) 中安装库光泽

我正在尝试在 Mac OS Catalina 上安装Haskell 光泽库,但我遇到了很多问题。

我从该页面下载了 tar.gz 文件。

我做的第一件事就是按照这个步骤安装 Haskell。

已经安装了 cabal(上一个链接下载了它),我使用了这个命令cabal install gloss。但是报如下错误:

我已经做到了cabal update。然后再一次cabal install gloss,但没有。

然后我做了cabal v2-update,一切都好。而且cabal v2-install --lib gloss,但这里的报告是:

0 投票
1 回答
57 浏览

haskell - 用光泽制作地图

在 PL 课上,我们被要求用Gloss制作一个 pacman 克隆,但我在制作地图时遇到了困难。

我的方法是采用经典 pacman 第一级的 .png,并将其粘贴到渲染函数中,这样我就不需要手动绘制所有内容。

尽管如此,通过这样做,游戏会严重滞后,我假设这是因为游戏在每一步都渲染了地图。

有没有办法将地图一次渲染为背景,或者避免巨大的滞后?还是我采取了不好的方法,如果我使用图片模块手动绘制组件会更好?

我附加了渲染功能,以防万一我接线不好:

在哪里pacmanMap :: IO Picture

0 投票
0 回答
163 浏览

haskell - 使用 cabal 安装光泽和其他软件包的困难

我正在尝试安装光泽,但我不知道为什么 ghci 找不到模块。

当我做 cabal 安装光泽时,它说:

当我做 cabal install -lib gloss 它给了我这个错误:

这很奇怪,因为我第一次使用此命令时它运行良好,但是当我尝试在 ghci ´´´import ...´´´ 上执行时,它说:找不到模块。

我尝试了其他模块,它给了我同样的错误。我认为问题可能是 ghc 无法在保存包的 cabal 文件夹中搜索,但我不再确定。

我怎样才能解决这个问题?谢谢