IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Gosu : une bibliothèque pour faire des jeux avec Ruby

Image non disponible

Gosu : une bibliothèque pour faire des jeux avec Ruby

Image non disponible


précédentsommairesuivant

V. Notes générales sur Gosu

Toutes les fonctions et les classes sont contenues dans le module Gosu.

Lorsqu'un paramètre de type Gosu::Color est demandé, on peut mettre à la place un entier de la forme : 0xAARRGGBB (ici en hexadécimal).

  • A = Code alpha (255 : aucune transparence, 0 : transparence totale)
  • R = Code pour le rouge
  • G = Code pour le vert
  • B = Code pour le bleu

On peut utiliser une couleur lors du dessin pour modifier la couleur originale de l'image. Néanmoins, cela ne peut que réduire les codes A, R, G, B de ces images : pour R, G, B cela aura tendance à faire tendre l'image vers le sombre et pour A cela fera tendre l'image vers la transparence. Cet effet peut être utilisé pour changer la couleur d'une image blanche (voir l'exemple final, où des étoiles blanches sont dessinées de toutes les couleurs).

Pour les paramètres de mode pour les fonctions de dessins, les valeurs possibles sont :

  • :default
  • :additive

Profondeur d'un dessin : lorsque deux dessins occupent la même place, il faut déterminer lequel écrase l'autre : pour cela certaines fonctions permettent de spécifier une profondeur : le dessin de profondeur la plus grande sera dessinée sur tous les autres. Si deux dessins ont la même priorité, le dernier dessiné écrasera l'autre (voir l'axe de profondeur).

Paramètre facultatif : tous paramètres ayant une valeur par défaut (=valeur) peut être ignoré lors de l'appel : il aura alors sa valeur par défaut. Néanmoins, seuls les derniers paramètres d'une fonction peuvent être ignorés :

 
Sélectionnez
f(a, b=0, c=3)
L'appel peut être :
f(4)		# a = 4, b = 0, c = 3
f(2, 3)		# a = 2, b = 3, c = 3
f(4, 5, 2)	# a = 4, b = 5, c = 2
On ne peut pas donner une valeur à c tout n'en donnant pas à b !

Les angles dans Gosu:

Image non disponible

Gosu n'utilise pas les radians comme la bibliothèque C standard. Les angles dans Gosu sont compris entre 0 et 360 (automatiquement une valeur négative ou supérieur à 360 est transformée). Un angle de 0 signifie " orienté vers le haut ". Les angles augmentent dans le sens des aiguilles d'une montre.

L'axe de profondeur (Z-Ordering) : toutes les opérations de dessins dans Gosu accepte en plus des arguments de position x et y un argument de profondeur appelé z : c'est un entier entre 0 et 255. Les objets dessinés avec une profondeur plus grande seront dessinés sur les objets ayant une profondeur plus petite. Si deux objets ont la même position z, ils seront dessinés dans l'ordre d'appel des fonctions. Si vous ne voulez pas utiliser l'axe des profondeurs, mettez simplement z à 0 tout le temps.

Bordure floue ou nette : lors du chargement des images, on peut spécifier si les contours de l'image doivent rester nette ou pas. En effet, à cause de l'accélération 3D, les contours des images ont tendances à devenir flou et à " fondre " avec le décor. Cela est parfois est un désavantage (par exemple pour les tests). Généralement, pour obtenir une image plus belle, on prendra des bordures floues. Ce paramètre est sous la forme d'un booléen :

  • Vrai = bordure nette
  • Faux = bordure floue

Coins d'une image : Certaines fonctions attendent des arguments pour les 4 coins d'un rectangle (exemple : Window#draw_quad). L'ordre des coins est important lors du passage des paramètres. Le coin n°1 sera celui en haut à gauche, le coin n°2 en haut à droite, le coin n°3 en bas à gauche et la 4ème en bas à droite (sens de lecture normale : de haut en bas, de droite à gauche).

Image non disponible

Couleurs transparentes : lorsque l'on affiche une image, on veut généralement qu'elle se fonde dans le décor. Parfois notre image (toujours contenue dans un rectangle) n'occupe pas tout le rectangle : que faire des pixels en trop pour qu'il ne s'affiche pas ?

Image non disponible

Et bien tout simplement un utilisant la couleur de code RGB (255,0,255) (violet-rose). Cette couleur, généralement peu utilisé dans les jeux, sera considérée par Gosu comme transparente ! (pour les images de type bitmap. Pour les images de type png, on mettra l'alpha à 0).


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 Xitog. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.