1 - Я хочу использовать ocaml sdl под Windows, чтобы кто-нибудь мог помочь, как я могу его скомпилировать (я уже сдался и установил Linux на виртуальный компьютер)
Можете ли вы заставить SDL работать под Windows и компилировать с ним программы на языке C? В таком случае вам следует сразу же приступить к чтению главы о компиляции ocaml. с программами на c в руководстве.
2 - Есть ли документация по использованию OCAML SDL?
В пакете есть документация. Я полагаю, что это не лучший вариант, поскольку в ocaml действительно нет ни одного пакета с приличной документацией - я могу преувеличивать, не так ли?
Чтобы обойти это, вам нужно изучить, какие функции вам нужны в SDL, а затем найти соответствующую функцию в файлах MLI в исходном каталоге ocamlSDL. Это не должно быть так уж плохо. Вроде все довольно организовано. Пришлось проделать это с другими пакетами. У программистов есть некоторые стандартные соглашения об именах, и тогда вам действительно просто нужно знать сигнатуру функций, и все готово.
Я бы постарался изо всех сил заниматься вашими делами, делая вид, что вы просто вызываете SDL напрямую - по большей части это должно быть так просто.
3 - Я использую окно 800x600, и я хочу изобразить некоторую графику внутри, например, этот пиксель представляет собой фон, другой - камень и т. Д., Как лучше всего представить это окно (800x600)? в общем случае я использую массив из 800 * 600 ячеек, я знаю, что это самое уродливое представление, но любые предложения, пожалуйста
Hashtbls в ocaml довольно эффективны --ocaml фактически использует их для переменных. Кроме того, любые конфликты хешей приводят к появлению списка элементов, что может быть удобно для нескольких уровней данных.
В остальном вы можете использовать спрайты. Но я думаю, что вам следует освоить основы, а затем реализовать спрайты позже - извините за самонадеянность, это мой метод реализации.
ИЗМЕНИТЬ:
Основываясь на ваших комментариях и вашем текущем опыте, я хочу сделать последнее предложение ... Не используйте ocamlSDL. Для того, что вы делаете, нет причин, особенно для тех, кто просто изучает язык - как я понял, пожалуйста, поправьте меня, если я ошибаюсь. Я рекомендую использовать модуль Graphics, который машинно-независимый, встроенный в ocaml! В нем есть все функции, которые вам понадобятся, чтобы делать то, что вам нужно для этой простой игры. Модуль довольно прост, и вы сможете сразу приступить к настройке.
person
nlucaroni
schedule
23.02.2009