ocaml - 有关于 OCaml Sdl 的文档吗?

标签 ocaml sdl

我正在为此使用 OCaml SDL 开发一个小游戏。我没有找到任何关于它的文档,所以我有三个问题:

  1. 我想在 windows 下使用 OCaml SDL,所以任何人都可以帮助我如何编译它,(我已经放弃并在虚拟 pc 上安装了 linux)
  2. 是否有关于如何使用 OCaml SDL 的文档?
  3. 我正在使用一个 800x600 的窗口,我想在里面表示一些图形,例如一个像素代表背景,另一个像素代表一 block 石头等等,那个(800x600)窗口的最佳表示是什么?作为一般情况,我使用 800 * 600 个单元格的数组。

最佳答案

1 - I want to use ocaml sdl under windows, so anyone can help how can I compile it, (I already gave up and installed linux on a virtual pc)

你能得到在windows下工作的SDL并用它编译C程序吗?如果是这样,那么您应该开始阅读有关 compiling ocaml with c programs in the manual. 的章节

2 - Is there any documentation on how to use OCAML SDL?

包中有文档。我想这不是最好的,因为在 ocaml 中确实没有一个包具有像样的文档——我可以夸大其词,不是吗?

要解决这个问题,您需要探索 SDL 中需要哪些函数,然后在 ocamlSDL 源目录中的 MLI 文件中找到相应的函数。应该不会太差。看起来它很有条理。我不得不用其他包来做这个。程序员有一些标准的命名约定,然后您真的只需要知道函数签名就可以了。

我会尽可能努力地假装您只是直接调用 SDL 来处理您的业务——在大多数情况下,这应该很容易。

3 - I am using a 800x600 window, and i wanna represent some graphics inside, for example that pixel represents the background, the other represents a rock and so on, what is the best representation of that (the 800x600) window? as a general case am using an array of 800 * 600 cells, I know it's the ugliest representation, but any suggestions please

ocaml 中的 Hashtbls 非常高效——ocaml 实际上将它们用于变量范围。此外,任何哈希冲突都会产生一个元素列表,这对于多层数据来说可能很好。

除此之外,您可能想要使用 Sprite 。但我认为您应该先了解基础知识,然后再实现 sprite——抱歉冒昧,这是我的实现方法。

编辑:

根据您的意见和您当前的经验,我想提出最后的建议...不要使用 ocamlSDL。对于你正在做的事情没有理由,特别是那些刚刚学习语言的人 - 这是我收集的,如果我错了请纠正我。我的建议是使用 Graphics内置于 ocaml 中的机器独立模块!它具有您需要为这款简单游戏做的所有功能。该模块非常简单明了,您应该能够直接开始设置。

关于ocaml - 有关于 OCaml Sdl 的文档吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/578192/

相关文章:

ocaml - 参数采用 OCaml 中柯里化(Currying)函数的顺序

c++ - SDL基本程序不工作但代码没问题

compiler-errors - OCaml 警告 31、编译器库和 ppx

ocaml - 警告 8 : Incomplete pattern matching warning in a let statement

c - 在我的程序中调用 atexit() 的位置是否重要?

C++ SDL,为什么 SDL_LoadBMP() 返回 NULL?

c++ - 如何在不使用外部库的情况下使用 SDL 绘制线条

iphone - 苹果是否在Appstore上批准了任何基于SDL的iPhone应用程序?

f# - "Ordered power set"/"Graph coloring"套

ocaml - 将字符返回到 Ocaml 中的标准输入