I. Crédits et droits d'auteurs▲
La bibliothèque Gosu et le site présentant Gosu sont : Copyright © 2004 Julian Raschke, Jan Lücker and Alexander Post. Xitog pour la documentation (à partir de la documentation de référence).
- Première version : mardi 31 janvier 2006.
- Version 1.1 mercredi 1er février 2006.
- Version 1.2 jeudi 2 février 2006.
- Version w1.0 dimanche 5 février 2006.
- Version w1.1 lundi 6 février 2006.
- Version 1.3 jeudi 16 février 2006.
II. Introduction▲
Ruby est langage de script (=interprété) puissant, jeune et novateur. Gosu est une librairie pour C++ et Ruby, disponible pour les principaux systèmes d'exploitation pour programmer des jeux. . Le but de Gosu est d'apporter une bibliothèque de haut niveau pour la création de jeux vidéo. Gosu est disponible sur Windows, Linux et Mac OS X.
Elle permet donc l'affichage de graphisme, la gestion de sons et la gestion du clavier, de la souris et même du joystick. Pour la gestion du son, elle se repose sur la librairie FMOD ou OpenAL. L'affichage se base sur DirectX (pour Windows) ou OpenGL, et est accéléré
Page principale : http://www.raschke.de/julian/gosu/
Gosu pour accomplir sa tâche vous propose de manipuler :
- une fenêtre qui sera le lieu où vous afficherez tous vos graphismes ;
- des images ;
- des sons et des musiques : la différence entre les deux se faisant sur la longueur : un son est généralement un effet sonore court (avec généralement plusieurs sons à la fois) comme une explosion alors que les musiques sont généralement longues et il n'y en a qu'une à la fois ;
- des polices de caractères pour afficher du texte à l'écran.
Le chapitre suivant vous indiquera comment installer Gosu sous Windows. Pour installer Gosu sur d'autres systèmes d'exploitation reportez - vous à la page de référence. Le chapitre suivant vous proposera un premier exemple de programme Ruby avec Gosu. Si vous êtes intéressé par plus tutoriels, 5 tutoriels très simples ainsi qu'un programme complet sont proposés à la fin. Au milieu ce trouve la description exhaustive de tout ce qui compose Gosu.
Gosu existe aussi pour C++, mais cela n'est pas le but de la présente documentation. Pour plus d'information sur Gosu/C++, reportez - vous à la page de référence.
Version actuelle de Gosu : 0.6.0
III. Installation▲
III-A. Sous Windows▲
Pour installer Gosu pour Ruby, vous devez télécharger la dernière version de Gosu sur le site. Cette version contiendra normalement une bibliothèque pré - compilée « gosu.so » à mettre dans le répertoire :
(VotreRépertoireRuby)\lib\ruby\site_ruby\1.8\i386-msvcrt.
Pour pouvoir utiliser la partie son avec FMOD, vous aurez aussi besoin de cette bibliothèque, téléchargeable à : http://www.fmod.org/ (vous devez prendre la version 3.75). Vous devez mettre cette bibliothèque dans le répertoire de votre script. Une autre option est de mettre le fichier de la bibliothèque (fmod.dll) dans le répertoire :
(VotreRépertoireRuby)\bin.
Ainsi cette bibliothèque sera accessible pour tous les scripts Ruby sur votre machine.
Et voilà ! Vous êtes prêts pour vous lancer dans Gosu.
III-B. Sous Linux▲
Vous devrez avoir les packages suivants :
- xlibmesa-glu-dev ;
- libpango1.0-dev (Pango with freetype) ;
- X11, xf86 extensions (-lXxf86vm) ;
- libPNG3 (or higher) ;
- Boost (http://www.boost.org) and ;
- OpenGL ;
- Ruby-Dev ;
- FMOD (version >= 3.72).
À part FMOD, ces packages peuvent être obtenus via Apt.
Après il faut obtenir la bibliothèque gosu.so en jouant avec gcc. Pour cela, il faut faire :
chmod u+x configure
./configure
make
III-C. Sous Mac OS X▲
Pour que vos jeux tournent sous Max OS X, il vous faut une copie de Game.app, qui est incluse dans la distribution pour Mac OS de Gosu. C'est une application qui lancera votre jeu.
Copiez simplement les fichiers du jeu dans Game.app/Contents/Ressources. Une fois lancée, Game.app lancera le fichier Main.rb dans ce répertoire. Game.app nécessite que le framework Gosu soit installé (habituellement dans /Library/Frameworks) ainsi que la version dynamique de la bibliothèque libpng (qui n'est pas incluse dans le framework Gosu) qui devra être mise dans /usr/lib.
IV. Premier pas▲
Voici un « Hello World » pour vous montrer la facilité d'utilisation de Gosu :
# va chercher la librairie
require "gosu.so"
# évite de préfixer tous les éléments du module par Gosu::
include Gosu
# Nous définissons la classe de notre fenêtre principale
class MainWindow < Window
# Dans le constructeur, on appelle le constructeur de la classe mère
# Notre fenêtre sera en 640x480 en mode fenêtré
# avec un intervalle d'update de 20.
def initialize
super(640,480, false, 20)
end
# Méthode qui sera appelée lorsqu’on voudra dessiner l'intérieur de notre fenêtre
def update
# on définit la couleur rouge
red = 0xEEEE0000
# On dessine un quadrilatère de couleur rouge
draw_quad(0, 0, red, 0, 10, red, 10, 0, red, 10, 10, red)
end
end
# Création d'une instance de notre fenêtre
window = MainWindow.new()
# Affichage par appel implicite à la fonction update
window.show()