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:

  1. 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)
  2. Existe alguma documentação sobre como usar OCaml SDL?
  3. 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.
Foi útil?

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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top