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!
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.
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
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.
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: