Toda a documentação lá fora sobre OCaml Sdl?
Pergunta
Estou desenvolvendo um pequeno jogo usando OCaml SDL para isso. Eu não encontrei qualquer documentação lá fora sobre isso, então eu tenho três perguntas:
- Eu quero usar OCaml SDL sob janelas, para que qualquer pessoa pode ajudar como posso compilá-lo, (eu já desisti e Linux instalado em um PC virtual)
- Existe alguma documentação sobre como usar OCaml SDL?
- Eu estou usando uma janela de 800x600, e quero representar alguns gráficos dentro, por exemplo, que pixel representa o fundo, o outro representa uma rocha e assim por diante, o que é a melhor representação do que a janela (a 800x600)? como um caso geral que eu estou usando uma matriz de 800 * 600 células.
Solução
1 - Eu quero usar ocaml SDL sob janelas, para que qualquer pessoa pode ajudar como eu posso compilá-lo, (eu já desisti e linux instalado em um PC virtual)
Você pode obter o SDL trabalhando sob janelas e programas de compilação C com isso? Se assim você deve, então, levantar-se na leitura do capítulo sobre compilação ocaml com programas C no manual.
2 - Existe alguma documentação sobre como usar Ocaml SDL
?
No pacote há documentação. Imagino que este não é o melhor, uma vez que não há realmente um único pacote em ocaml que tem documentação decente --Eu sou autorizado a exagerar, não estou?
Para contornar este problema, você precisa para explorar o que as funções que você precisa no SDL em seguida, encontrar o correspondente em arquivos MLI no diretório de origem do ocamlSDL. Não deve ser muito ruim. Parece que é muito organizado. Eu tinha que fazer isso com outros pacotes. Os programadores têm algumas convenções de nomenclatura padrão, e então você realmente só precisa saber a assinatura funções e você é um ir.
Gostaria de tentar, tanto quanto possível, para ir sobre o seu negócio de fingir que estão apenas chamando o SDL diretamente --para a maior parte deve ser tão fácil.
3 - Eu estou usando uma janela de 800x600, e eu quero representar alguns gráficos dentro, por exemplo, que de pixel representa o fundo, o outro representa uma rocha e assim por diante, o que é a melhor representação do que (o 800x600) janela? como um caso am geral usando uma matriz de 800 * 600 células, I sei que é a representação mais feio, mas quaisquer sugestões, por favor
Hashtbls em ocaml são bastante eficiente --ocaml realmente usa-los para o escopo de variáveis. Mais quaisquer colisões de hash resultar em uma lista de elementos, o que poderia ser bom para múltiplas camadas de dados.
Outro então que, você pode querer usar sprites. Mas eu acho que você deve obter o básico indo, em seguida, implementar sprites depois --sorry por ser presunçoso, que é o meu método de implementação.
EDIT:
Com base em seus comentários e sua experiência atual Eu quero fazer uma sugestão final ... Não use o ocamlSDL. Por que você está fazendo não há nenhuma razão, especialmente alguém que está apenas aprendendo a língua --que é o que eu recolhi, por favor me corrija se eu estiver errado. Minha recomendação é usar o módulo Gráficos que é máquina independente que está embutido no ocaml! Ele tem todas as funcionalidades que você precisa para fazer o que você precisa fazer para este jogo simples. O módulo é bastante simples e você deve ser capaz de ir direto para arrumar as coisas.
Outras dicas
Ao contrário do que nlucaroni trollishly sugere, o documentação de ocamlsdl é realmente muito bom.
A documentação gerada ocamldoc ainda tem descrições para a maioria das funções, você muito provavelmente não vai ter que olhar para doc C do SDL.
A página Menciono também tem instruções para compilar no Windows embora eu nunca tentou segui-los.
Por exemplo, aqui é a interface do sorteio módulo, que você pode desenhar os pixels na tela:
val draw_player: int -> int -> unidade
val draw_missile: int -> int -> unidade
val draw_text_center: int -> int -> string -> unidade
tipo de campo de jogo
val empty_playfield: int -> int -> campo de jogo
tipo de pixel = Background | sujeira | Rocha
val set_playfield_pixel: campo de jogo -> int -> int -> pixel -> unidade
val draw_playfield: campo de jogo -> unidade
atualização val: unidade -> unidade
estes são a função que usamos para projetar nosso jogo !!! tão pobre ha! de qualquer forma, para utilizar esse módulo em janelas (que se use ocamlsdl) i deve compilá-lo primeiro, minha pergunta é, é uma boa idéia para desenhar uma tela de 800x600 pixel por pixel? e para representar essa tela, para dizer por exemplo que o pixel (xy) representa um fundo ou outra peça do jogo, o que pode ser a melhor representaion de que? uma matriz de 800x600, peronnaly i não se sentir confortável com isso, o desempenho e ... você kno!