Para aqueles que curtem Desenvolvimento de Jogos e já sabem PHP e também desejam unir essas duas paixões em uma só.
RayLib é muito útil para garantir sua empreitada .
Vamos ver o passo à passo para atingir essa meta!
01. Dependências
Exemplo no Ubuntu 23.10
sudo apt update
sudo apt install libasound2-dev mesa-common-dev libx11-dev build-essential \
libxrandr-dev libxi-dev xorg-dev libgl1-mesa-dev pkg-config \
libglu1-mesa-dev php-cli php-dev git make gcc g++ cmake
Para outros sistemas: Windows , macOS e outras distros veja nesse link o procedimento.
02. Instale a Raylib
Clone o repositório e entre no mesmo:
git clone https://github.com/raysan5/raylib
cd raylib
cmake -DBUILD_SHARED_LIBS = ON . -B build
cd build
make
sudo make install
Veja os caminhos onde são instalados os arquivos
Install the project...
-- Install configuration: "Debug"
-- Installing: /usr/local/lib/libraylib.so.4.5.0
-- Installing: /usr/local/lib/libraylib.so.450
-- Installing: /usr/local/lib/libraylib.so
-- Installing: /usr/local/include/raylib.h
-- Installing: /usr/local/include/rlgl.h
-- Installing: /usr/local/include/raymath.h
-- Installing: /usr/local/lib/pkgconfig/raylib.pc
-- Installing: /usr/local/lib/cmake/raylib/raylib-config-version.cmake
-- Installing: /usr/local/lib/cmake/raylib/raylib-config.cmake
Limpe os arquivos:
cd ../..
rm -rf raylib
OPCIONAL: CASO TENHA ERRO AO COMPILAR CRIE ESSE ARQUIVO .
sudo vim /usr/lib64/pkgconfig/raylib.pc
E cole isso dentro e depois salve:
prefix = /usr
exec_prefix = ${ prefix }
libdir = /usr/lib64
includedir = ${ prefix } /include
Name: raylib
Description: A simple and easy-to-use library to enjoy videogames programming
URL: https://github.com/raysan5/raylib
Version: 4.5.0
Libs: -L " ${ libdir } " -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
Libs.private: -lGL -lm -lpthread -ldl -lrt -lX11
Cflags: -I " ${ includedir } " -I /usr/local/include
Arquivo baseado em: raylib.pc.in .
03. Instale a Raylib-PHP
git clone https://github.com/joseph-montanez/raylib-php
cd raylib-php/
Eu detectei um BUG na versão atual e para resolver isso eu alterei o commit . Se você quiser pular essa etapa e quiser tentar com a versão atual certifique-se que se não der certo você terá de remover esse repositório clonado e depois clonar novamente e então fazer esse passo de alterar o commit .
Altere o commit :
git checkout 2968648
Esse commit refere-se a linha: Initial Support for RayLib 4.0 Fonts need testing
, caso queira vê-lo rode: git log --oneline
.
Prepare a extensão, rode o Make , entre no build
, construa e instale:
phpize # Prepara a extensão
./configure
make
sudo make install
Limpe os arquivos utilizados:
cd ..
rm -rf raylib-php
Crie um arquivo de teste, exemplo: vim main.php
.
Adicione o código abaixo que só imprime uma frase na janela que se abrirá:
<?php
use raylib\Color ;
use raylib\Draw ;
use raylib\Text ;
use raylib\Timming ;
use raylib\Window ;
$screenWidth = 800 ;
$screenHeight = 450 ;
$lightGray = new Color ( 245 , 245 , 245 , 255 );
$gray = new Color ( 200 , 200 , 200 , 255 );
$black = new Color ( 0 , 0 , 0 , 255 );
Window :: init ( $screenWidth , $screenHeight , "raylib PHP basic window" );
Timming :: setTargetFps ( 60 );
while ( ! Window :: shouldClose ()){
Draw :: begin ();
Draw :: clearBackground ( $lightGray );
Text :: draw ( "RayLib com PHP uhuulll" , 190 , 200 , 20 , $black );
Draw :: end ();
}
Window :: close ();
Para rodar use o comando:
php -dextension = raylib main.php
Resultado do teste!
Para aprender Raylib e PHP veja os links:
php
raylib
gamedev
Marcos Oliveira
Desenvolvedor de software