Formas e primitivas da SFML

Yaê cambada de doido! Tudo de boina? Depois do post do milênio passado você deve tá se perguntando como usar a janela mágica. Portanto,  neste post vamos dar utilidade a essa janela ao usar as formas e primitivas da SFML.

A SFML disponibiliza a implementação de círculis, cadadis, formis convexis, linhis e pontis. E caso precise de algo mais milaborante você pode estender a classe sf::Shape. Na prática não tem muito o que aprender desses troço não. Depois que você criou e definiu algumas propriedades da forma, é só chamar um window.draw(minhaFormaMarota) e crew.

— Então pra quê tá fazendo o post? Ò,ó

— Só pra mostrar que existe 😀
mas vamos falar de cada uma detalhadamente.

Continuar lendo Formas e primitivas da SFML

Pong em SFML com Box2D

Êta carai! Hoje trago para vocêses um jogo de pong implementado em SFML e um pouco de C++11. Quase que não terminava esse projeto besta. Eu comecei ele em dezembro de 2015 e só terminei agora em maio de 2016. Pense num priguiça dos cachorros ._.

Para quem conhece o jogo, sabe que ele é formado por dois taco, uma bola, duas paredes e muita pegação 😀
Nóias a parte, ele é um jogo de pong como outro qualquer. Porém a bola não reflete perfeitamente nas paredes ou nas raquetes. A bola é quadrada e se comporta como um quadrado. Assim, há vezes que você rebate a bola esperando fazer um ponto, mas ela bate na parede e volta pra você sem aviso e o adversário ganha o ponto 😀

Eu tive o “trabalho monstruso” de compilar uma versão pra Windows. Só pra ficar mais fácil pra quem quiser ver. Segue os links do código e do executável para Windows.

Código no GitHub
Executável para Windows

SFMLDebugDraw para Box2D

Eu comecei um projeto besta ano passado usando SFML e Box2D. Na época eu passei muito tempo tentando implementar um DebugDraw para a Box2D do zero. Certo dia, toquei o foda-se e fui ver se achava um pronto na web. Eu achei a implementação do usuário MrPlow442. Depois de um tempo quando fui aprendendo algumas coisas sobre a SFML, eu resolvi reimplementar do meu jeito. Isso resultou neste Gist maroto. Então caso esteja procurando algo do tipo, taí um lugar pra começar 😀

Aviso: A minha implementação eu tirei de um projeto meu e deu priguiça de deixar bunitinho. Então se você jogar no seu projeto não vai funcionar. Você vai ter que atualizar os includes e caso não goste namespace é só remover 😛

A janela mágica da SFML

Sim, tratemos de magia! Hoje vamos ver um pouquinho da Hogwarts dos bruxos da SFML. O módulo Graphics, em específico a classe RenderWindow. Então, bora lá? 😀

Vimos que o módulo Window define uma janela simples sem nenhuma firula que você pode usar para fazer seus paranauêses com OpenGL. Porém há uma versão mágica, cheia de glitter e frufrus. Ela é a RenderWindow.

Diferente da janela simples, essa janela mágica possui meios para desenhar qualquer coisa do tipo Drawable. Resumindo uma réca de comando OpenGL em um simples:

— Armaria, só podia ser bruxaria mesmo. Yo no creo que eso esta a acontecer (espanhol nois sabe).

Então créa! De um VertexArray até uma forma personalizada basta um simples window.draw(meuDesenho).

— Vixi e tem mais o que? o,o

Se você olhar a API da RenderWindow, você vai ver uma ruma de coisa que você num sabe pra que serve e o método window.clear(), que substitui o glClear. O resto das coisas para essa janela está em outras classes, como: CircleShape, ConvexShape, RectangleShape, Sprite, Text, VertexArray, View, etc. Eu vou falar sobre essas classes mais pra frente 😛

— …certo… e como que eu uso esse troço?

Essa é a parte mais complicada. Quando você cria uma janela normal você faz algo parecido com isso:

Tudo certo né? Agora vem o pulo do gato preto de rabo cromado. Você posiciona o cursor do texto entre sf:: e Window e digita Render, que finda nisso aqui:

É um negócio tão complicado que chega faz medo 😀

— Pooorraaannn o,o

Então jovi, muito simples né? A partir de agora só vou usar a RenderWindow nos exemplos. Exceto em casos que seja muito simples e eu queira ficar apenas com a implementação da Window. Tudo beleza? Então inté a próxima 😀

Minhas configurações do Vim

Digaê mundiça vimer!

vi-gang-sign

É jovens, hoje mostrarei pra vocês as minhas configurações do Vim

— Purquê djabo você usa esse troço de mais de 40 anos de idade?!

Num sei, só sei que foi assim ._.
Eu uso ele desde a faculdade e naquele tempo não tinha esses editores (Sublime) que a galera da zuêra usa hoje em dia. Então… eh ._.

Bem, vamos ao que interessa.

Aqui está a minha configuração do Vim.

E o mais importante dele são os plugins 😀
Veja abaixo a lista dos que eu tô/tava usando quando escrevi este post :b

Por hoje é só, té mais pessuar Yo/