mirror of
https://github.com/SFML/SFML.git
synced 2024-11-28 22:31:09 +08:00
431 lines
30 KiB
HTML
431 lines
30 KiB
HTML
|
<html>
|
|||
|
<title>RubySFML Documentation</title>
|
|||
|
<style type="text/css">
|
|||
|
h4,h5,ul {margin: 5px}
|
|||
|
pre {background: #F0F0F0}
|
|||
|
.comment {color: #8080FF}
|
|||
|
.text {color: green}
|
|||
|
.keyword {color: purple}
|
|||
|
</style>
|
|||
|
<head>
|
|||
|
</head>
|
|||
|
<body>
|
|||
|
<h1>Introduction</h1>
|
|||
|
<p>Cette documentation est assez courte, mais <20>tant donn<6E> que cette extension n'est qu'une simple encapsulation des classes C++ de SFML, il est conseill<6C> de se baser sur la documentation SFML pour obtenir plus de d<>tails sur les classes et les fonctions. Cette documentation a simplement pour but de d<>tailler les classes et fonctions qui sont pr<70>sentes dans l'extension RubySFML, ainsi que de d<>crire les changements qui ont <20>t<EFBFBD> effectu<74>s durant la traduction C++ vers Ruby.</p>
|
|||
|
<p>Etant donn<6E> que Ruby ne supporte pas les threads et poss<73>de ses propres classes pour le r<>seau, seules certaines classes des modules syst<73>me, fen<65>trage, graphisme et audio sont expos<6F>es. Pour la plupart des classes, les seuls changements effectu<74>s ont <20>t<EFBFBD> de faire d<>buter les noms des fonctions par une minuscule. Pour les classes poss<73>dant des accesseurs simples, ceux-ci ont souvent <20>t<EFBFBD> abandonn<6E>s pour utiliser une syntaxe plus simple (par exemple sprite.left = ...). Quelques fonctions to_i, to_f et to_s ont <20>talement <20>t<EFBFBD> ajout<75>es l<> o<> cela semblait pertinent. Enfin, un it<69>rateur "each" a <20>t<EFBFBD> ajout<75> <20> VideoMode.</p>
|
|||
|
<p>En plus des classes C++ expos<6F>es, deux classes utiles ont <20>galement <20>t<EFBFBD> ajout<75>es <20> RubySFML.rb, l'une pour afficher des sprites <20> base de tuiles, et l'autre pour g<>rer les sprites utilisant des calculs de vitesse / acceleration (respectivement TSprite et VSprite).</p>
|
|||
|
|
|||
|
<h3>Astuces pour les utilisateurs Windows</h3>
|
|||
|
<p>Pour les utilisateurs Windows, nous regrettons de ne pas pouvoir <20>tre compatibles avec l'installeur "one-click", mais celui-ci est compil<69> avec Visual Studio 6.0, qui est ridiculeusement vieux et incompatible avec les biblioth<74>ques SFML. Il existe une version gratuite de Visual Studio 2005, et les sources de Ruby compilent parfaitement avec celle-ci, on ne peut donc trouver aucune bonne excuse <20> l'installeur pour toujours utiliser Visual C++ 6.0.</p>
|
|||
|
<p>La bonne nouvelle est que vous pouvez distribuer vos applications dans une archive qui se suffit <20> elle-m<>me, en incluant les r<>pertoires "bin" et "lib" qui sont inclus dans la version Windows de cette extension. Ajoutez un installeur simple qui cr<63>e une ic<69>ne du menu d<>marrer ex<65>cutant "%install_path%\bin\ruby.exe %install_path%\my_game.rb", et tout sera parfait. Oh, encore une chose, OpenAL doit <20>tre install<6C> pour ex<65>cuter les programmes utilisant RubySFML. Heureusement, il s'agit d'un installeur extr<74>mement petit et simple, et vous pourrez sans probl<62>me le fournir dans vos installations ou donner un lien pour le t<>l<EFBFBD>charger. Tout ceci <20>vite <20> vos utilisateurs d'avoir <20> t<>l<EFBFBD>charger / ex<65>cuter l'installeur "one-click", installer toutes les extensions n<>cessaires, s'occuper des probl<62>mes de compatibilit<69>, etc. Il est probable que tr<74>s peu d'utilisateurs Windows utilisent vos applications si vous ne leur fournissez pas tout ce dont ils ont besoin, c'est donc probablement mieux de cette mani<6E>re.</p>
|
|||
|
<p><b>Note :</b> cette compilation perso de Ruby ne contient pas gems et zlib (qui est recquis par gems), mais aucune autre extension n'est install<6C>e. N'h<>sitez pas <20> installer n'importe quelle autre gems / extension dont vous auriez besoin (les gems mswin32 compil<69>s avec Visual Studio 6.0 ne fonctionneront probablement pas). Gardez en t<>te que beaucoup de gems ont une documentation cons<6E>quente, des exemples et des r<>pertoires de test. Supprimer ces r<>pertoires innutiles, ainsi que le r<>pertoire cache des gems, peut r<>duire de mani<6E>re significative la taille des fichiers que vous distribuez.</p>
|
|||
|
|
|||
|
<h3>Exemple de code RubySFML</h3>
|
|||
|
<pre>
|
|||
|
<span class="comment"># On inclut l'extension RubySFML</span>
|
|||
|
<span class="keyword">require</span> "<span class="text">RubySFML</span>"
|
|||
|
<span class="keyword">include</span> SFML
|
|||
|
|
|||
|
<span class="comment"># On cr<63>e la fen<65>tre principale</span>
|
|||
|
mode = VideoMode.new 800, 600, 32
|
|||
|
window = RenderWindow.new mode, "<span class="text">RubySFML Test</span>", false
|
|||
|
|
|||
|
<span class="comment"># On charge un sprite <20> afficher</span>
|
|||
|
image = Image.new "<span class="text">cute_image.jpg</span>"
|
|||
|
sprite = Sprite.new image
|
|||
|
|
|||
|
<span class="comment"># On cr<63>e une cha<68>ne graphique <20> afficher</span>
|
|||
|
text = Text.new "<span class="text">Hello SFML</span>", "<span class="text">arial.ttf</span>", 50
|
|||
|
|
|||
|
<span class="comment"># On charge une musique et on commence <20> la jouer</span>
|
|||
|
music = Music.new "<span class="text">nice_music.ogg</span>"
|
|||
|
music.play
|
|||
|
|
|||
|
<span class="comment"># On d<>marre la boucle principale</span>
|
|||
|
running = true
|
|||
|
<span class="keyword">while</span> running
|
|||
|
<span class="keyword">while</span> event = window.getEvent
|
|||
|
running = false <span class="keyword">if</span> event.type == Event::Close
|
|||
|
<span class="keyword">end</span>
|
|||
|
|
|||
|
<span class="comment"># On dessine le sprite, le texte, puis on met <20> jour la fen<65>tre</span>
|
|||
|
window.draw sprite
|
|||
|
window.draw text
|
|||
|
window.display
|
|||
|
<span class="keyword">end</span>
|
|||
|
</pre>
|
|||
|
|
|||
|
<h3>Modules RubySFML</h3>
|
|||
|
<ul>
|
|||
|
<li><b><a href="#global">SFML</a</b> - Contient toutes les classes, modules et fonctions globales SFML</li>
|
|||
|
<li><b>SFML::Event</b> - Contient les constantes associ<63>es aux <20>v<EFBFBD>nements SFML.</li>
|
|||
|
<li><b>SFML::Key</b> - Contient les constantes pour tous les codes de touches clavier SFML.</li>
|
|||
|
<li><b>SFML::Mouse</b> - Contient les constantes pour tous les codes de boutons souris SFML.</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<h3>Classes RubySFML</h3>
|
|||
|
<ul>
|
|||
|
<li><a href="#clock">SFML::Clock</a> - Une horloge syst<73>me utilisant les timers haute performance lorsqu'ils sont accessibles</li>
|
|||
|
<li><a href="#color">SFML::Color</a> - Une classe de couleurs RGBA tr<74>s simple</li>
|
|||
|
<li><a href="#drawable">SFML::Drawable</a> - Une classe abstraite repr<70>sentant les objets 2D utilis<69>s dans une Renderwindow </li>
|
|||
|
<li><a href="#event">SFML::Event</a> - Une classe repr<70>sentant les diff<66>rents <20>v<EFBFBD>nements syst<73>me (clavier, souris, etc.)</li>
|
|||
|
<li><a href="#floatrect">SFML::FloatRect</a> - Un simple rectangle compos<6F> de 4 coordonn<6E>es flottantes</li>
|
|||
|
<li><a href="#image">SFML::Image</a> - Une classe pour g<>rer les fichiers images et les textures</li>
|
|||
|
<li><a href="#input">SFML::Input</a> - Une classe pour r<>cup<75>rer l'<27>tat des p<>riph<70>riques d'entr<74>e (clavier, souris, joystick)</li>
|
|||
|
<li><a href="#intrect">SFML::IntRect</a> - Un simple rectangle compos<6F> de 4 coordonn<6E>es enti<74>res</li>
|
|||
|
<li><a href="#music">SFML::Music</a> - Une classe pour jouer des musiques en streaming</li>
|
|||
|
<li><a href="#postfx">SFML::PostFX</a> - Une classe pour g<>rer les shaders post-rendu</li>
|
|||
|
<li><a href="#renderwindow">SFML::RenderWindow</a> - Une sous-classe de Window wui permet d'afficher les objets 2D tels que sprites et texte</li>
|
|||
|
<li><a href="#sound">SFML::Sound</a> - Une classe pour jouer des sons</li>
|
|||
|
<li><a href="#soundbuffer">SFML::SoundBuffer</a> - Une classe pour stocker des <20>chantillons audio</li>
|
|||
|
<li><a href="#soundbufferrecorder">SFML::SoundBufferRecorder</a> - Une classe pour enregistrer du son <20> partir d'un p<>riph<70>rique de capture audio, comme un microphone</li>
|
|||
|
<li><a href="#sprite">SFML::Sprite</a> - Une classe pour g<>rer et afficher des sprites 2D</li>
|
|||
|
<li><a href="#text">SFML::Text</a> - Une classe pour g<>rer et afficher du texte 2D</li>
|
|||
|
<li><a href="#videomode">SFML::VideoMode</a> - Une classe pour g<>rer les diff<66>rents modes vid<69>o</li>
|
|||
|
<li><a href="#view">SFML::View</a> - Une classe pour g<>rer la cam<61>ra 2D dans une RenderWindow</li>
|
|||
|
<li><a href="#window">SFML::Window</a> - Une classe pour cr<63>er et g<>rer une fen<65>tre capable d'afficher un rendu OpenGL (g<>re <20>galement les entr<74>es et les <20>v<EFBFBD>nements)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<h3>Fonctions RubySFML (par module / classe)</h3>
|
|||
|
<hr/>
|
|||
|
<h4><a name="global">SFML</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>checkExtension(str)</b> - Renvoie vrai si l'extension OpenGL donn<6E>e est support<72>e.</li>
|
|||
|
<li><b>getMaxTextureSize</b> - Renvoie la taille maximum de texture.</li>
|
|||
|
<li><b>getMaxTextureUnits</b> - Renvoie le nombre maximum d'unit<69>s de textures utilisables.</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="clock">SFML::Clock</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>reset</b> - Remet <20> z<>ro l'horloge</li>
|
|||
|
<li><b>elapsedTime,to_f</b> - Renvoie le nombre de secondes <20>coul<75>es depuis le dernier appel <20> reset</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="color">SFML::Color</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(n)</b> - Construit l'objet <20> partir d'une couleur 32 bits enti<74>re non sign<67>e (0x12345678 donne r=0x78, g=0x56, b=0x34, a=0x12)</li>
|
|||
|
<li><b>initialize(r, g, b, a=255)</b> - Construit la couleur <20> partir de ses composantes</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>r, g, b, a</b> - Renvoie les composantes r, g, b et a (respectivement)</li>
|
|||
|
<li><b>r=, g=, b=, a=</b> - Affecte les composantes r, g, b et a (respectivement)</li>
|
|||
|
<li><b>toRGBA</b> -Renvoie les 4 composantes de la couleur sous forme d'entier RGBA 32 bits non sign<67> (0x12345678 donne r=0x78, g=0x56, b=0x34, a=0x12)</li>
|
|||
|
<li><b>to_i</b> - Alias pour toRGBA</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="drawable">SFML::Drawable</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize(left=0, top=0, scale=1, rotation=0, color=Color.White)</b> - Initialise les diff<66>rents membres (scale peut <20>tre un nombre ou un tableau de deux nombres)</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>left, left=</b> - Modifie / r<>cup<75>re la position x de l'objet</li>
|
|||
|
<li><b>top, top=</b> - Modifie / r<>cup<75>re la position y de l'objet</li>
|
|||
|
<li><b>scale, scale=</b> - Modifie / r<>cup<75>re le facteur d'<27>chelle de l'objet (renvoie un tableau, mais peut <20>tre initialis<69> <20> partir d'un tableau ou d'un seul nombre)</li>
|
|||
|
<li><b>color, color=</b> - Modifie / r<>cup<75>re la couleur de l'objet</li>
|
|||
|
<li><b>rotation, rotation=</b> - Modifie / r<>cup<75>re l'angle de rotation (en degr<67>s)</li>
|
|||
|
<li><b>upVector</b> - R<>cup<75>re le vecteur "haut" de l'objet (bas<61> sur son angle de rotation)</li>
|
|||
|
<li><b>rightVector</b> - R<>cup<75>re le vecteur "droite" de l'objet (bas<61> sur son angle de rotation)</li>
|
|||
|
<li><b>setRotationCenter(x, y)</b> - Change le centre de rotation de l'objet</li>
|
|||
|
<li><b>move(x, y)</b> - D<>place l'objet horizontalement et verticalement</li>
|
|||
|
<li><b>rotate(a)</b> - Fait tourner l'objet</li>
|
|||
|
<li><b>render(window)</b> - (virtuelle) <20> red<65>finir pour personnaliser le rendu de l'objet</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="event">SFML::Event</a></h4>
|
|||
|
<h5>Pour tous les types d'<27>v<EFBFBD>nements</h5>
|
|||
|
<ul>
|
|||
|
<li><b>initialize</b> - Ne prend aucun param<61>tre</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>type</b> - Renvoie le type de l'<27>v<EFBFBD>nement</li>
|
|||
|
</ul>
|
|||
|
<h5>Pour les <20>v<EFBFBD>nements de type Event::TextEntered</h5>
|
|||
|
<ul>
|
|||
|
<li><b>char</b> - Renvoie le caract<63>re entr<74> (uniquement pour les <20>v<EFBFBD>nements Event::TextEntered)</li>
|
|||
|
</ul>
|
|||
|
<h5>Pour les <20>v<EFBFBD>nements de type Event::KeyPressed et Event::KeyReleased</h5>
|
|||
|
<ul>
|
|||
|
<li><b>code</b> - Renvoie le code de la touche (uniquement pour les <20>v<EFBFBD>nements Event::KeyPressed et Event::KeyReleased)</li>
|
|||
|
<li><b>alt</b> - Renvoie vrai si la touche Alt est enfonc<6E>e (uniquement pour les <20>v<EFBFBD>nements Event::KeyPressed et Event::KeyReleased)</li>
|
|||
|
<li><b>control</b> - Renvoie vrai si la touche Control est enfonc<6E>e (uniquement pour les <20>v<EFBFBD>nements Event::KeyPressed et Event::KeyReleased)</li>
|
|||
|
<li><b>shift</b> - Renvoie vrai si la touche Shift est enfonc<6E>e (uniquement pour les <20>v<EFBFBD>nements Event::KeyPressed et Event::KeyReleased)</li>
|
|||
|
</ul>
|
|||
|
<h5>Pour les <20>v<EFBFBD>nements de type souris et joystick</h5>
|
|||
|
<ul>
|
|||
|
<li><b>delta</b> - Renvoie le d<>placement de la molette souris (uniquement pour les <20>v<EFBFBD>nements Event::MouseWheelMoved)</li>
|
|||
|
<li><b>buttons</b> - Renvoie l'<27>tat des boutons de la souris (uniquement pour les <20>v<EFBFBD>nements souris)</li>
|
|||
|
<li><b>button</b> - Renvoie l'<27>tat des boutons du joystick (uniquement pour les <20>v<EFBFBD>nements joystick)</li>
|
|||
|
<li><b>x</b> - Renvoie la position x (uniquement pour les <20>v<EFBFBD>nements souris et joystick)</li>
|
|||
|
<li><b>y</b> - Renvoie la position y (uniquement pour les <20>v<EFBFBD>nements souris et joystick)</li>
|
|||
|
<li><b>z</b> - Renvoie la position z (uniquement pour les <20>v<EFBFBD>nements joystick)</li>
|
|||
|
</ul>
|
|||
|
<h5>Pour les <20>v<EFBFBD>nements de type Event::Resize</h5>
|
|||
|
<ul>
|
|||
|
<li><b>width</b> - Renvoie la nouvelle largeur de la fen<65>tre (uniquement pour les <20>v<EFBFBD>nements Event::Resize)</li>
|
|||
|
<li><b>height</b> - Renvoie la nouvelle hauteur de la fen<65>tre (uniquement pour les <20>v<EFBFBD>nements Event::Resize)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="floatrect">SFML::FloatRect</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(left, top, right, bottom)</b> - Initialise les coordonn<6E>es du rectangle (gauche, haut, droite, bas)</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>left, l</b> - Renvoie la position x gauche</li>
|
|||
|
<li><b>left=, l=</b> - Modifie la position x gauche</li>
|
|||
|
<li><b>top, t</b> - Renvoie la position y haute</li>
|
|||
|
<li><b>top=, t=</b> - Modifie la position y haute</li>
|
|||
|
<li><b>right, r</b> - Renvoie la position x droite</li>
|
|||
|
<li><b>right=, r=</b> - Modifie la position x droite</li>
|
|||
|
<li><b>bottom, b</b> - Renvoie la position y basse</li>
|
|||
|
<li><b>bottom=, b=</b> - Modifie la position y basse</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur du rectangle</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur du rectangle</li>
|
|||
|
<li><b>contains(x, y)</b> - Renvoie vrai si le point (x, y) est <20> l'int<6E>rieur du rectangle</li>
|
|||
|
<li><b>intersects(rect)</b> - Renvoie l'intersection de deux rectangles (nil s'il n'y a aucune intersection)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="image">SFML::Image</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize</b> - Cr<43>e une image vide</li>
|
|||
|
<li><b>initialize(image)</b> - Cr<43>e une copie d'une image</li>
|
|||
|
<li><b>initialize(path)</b> - Charge une image <20> partir du fichier sp<73>cifi<66> (l<>ve une erreur RuntimeError si <20>choue)</li>
|
|||
|
<li><b>initialize(w, h, c=Color.Black)</b> - Cr<43>e une image vide avec les dimensions et la couleur donn<6E>es</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>getValidTextureSize(s)</b> - (statique) Renvoie la taille de texture valide la plus proche >= s</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur de l'image</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur de l'image</li>
|
|||
|
<li><b>smooth=, setSmooth(bool)</b> - Modifie les param<61>tres de lissage de l'image (true pour activer, false pour d<>sactiver)</li>
|
|||
|
<li><b>repeat=, setRepeat(bool)</b> - Modifie les param<61>tres de r<>p<EFBFBD>tition de l'image (true pour activer, false pour d<>sactiver)</li>
|
|||
|
<li><b>loadFromFile(path)</b> - Charge l'image <20> partir du fichier sp<73>cifi<66> (renvoie faux si <20>choue)</li>
|
|||
|
<li><b>saveToFile(path)</b> - Sauvegarde l'image dans le fichier sp<73>cifi<66></li>
|
|||
|
<li><b>create(w, h, c=Color.Black)</b> - Cr<43>e une image vide avec les dimensions et la couleur donn<6E>es</li>
|
|||
|
<li><b>createMaskFromColor(color, a=0)</b> - Remplace la valeur alpha (transparence) de tous les pixels ayant la couleur sp<73>cifi<66>e, par la valeur de transparence donn<6E>e</li>
|
|||
|
<li><b>resize(w, h, c=Color.Black)</b> - Redimensionne l'image. Si celle-ci est agrandie, les nouveaux pixels ont la couleur sp<73>cifi<66>e</li>
|
|||
|
<li><b>getPixel(x, y), [x,y]</b> - Renvoie la couleur du pixel (x, y)</li>
|
|||
|
<li><b>setPixel(x, y, c), [x,y]=</b> - Change la couleur du pixel (x, y) par la couleur sp<73>cifi<66>e</li>
|
|||
|
<li><b>update</b> - Met <20> jour l'image en m<>moire vid<69>o (<28> appeler apr<70>s toute modification manuelle des pixels)</li>
|
|||
|
<li><b>bind</b> - Utilise l'image pour le rendu (<28> appeler si vous utiliser l'image en tant que texture pour un rendu OpenGL)</li>
|
|||
|
<li><b>getTexCoords(rect)</b> - Convertit des coordonn<6E>es enti<74>res en pixel, en coordonn<6E>es flottantes de texture</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="input">SFML::Input</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>isKeyDown(key)</b> - Renvoie vrai si la touche sp<73>cifi<66>e est enfonc<6E>e</li>
|
|||
|
<li><b>isMouseButtonDown(button)</b> - Renvoie vrai si le bouton souris sp<73>cifi<66> est enfonc<6E></li>
|
|||
|
<li><b>isJoystickButtonDown(n, button)</b> - Renvoie vrai si le bouton du joystick n sp<73>cifi<66> est enfonc<6E></li>
|
|||
|
<li><b>getMouseX</b> - Renvoie la position x actuelle de la souris</li>
|
|||
|
<li><b>getMouseY</b> - Renvoie la position y actuelle de la souris</li>
|
|||
|
<li><b>getJoystickX(n)</b> - Renvoie la position x actuelle du joystick n</li>
|
|||
|
<li><b>getJoystickY(n)</b> - Renvoie la position y actuelle du joystick n</li>
|
|||
|
<li><b>getJoystickZ(n)</b> - Renvoie la position z actuelle du joystick n</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="intrect">SFML::IntRect</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(left, top, right, bottom)</b> - Initialise les coordonn<6E>es du rectangle (gauche, haut, droite, bas)</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>left, l</b> - Renvoie la position x gauche</li>
|
|||
|
<li><b>left=, l=</b> - Modifie la position x gauche</li>
|
|||
|
<li><b>top, t</b> - Renvoie la position y haute</li>
|
|||
|
<li><b>top=, t=</b> - Modifie la position y haute</li>
|
|||
|
<li><b>right, r</b> - Renvoie la position x droite</li>
|
|||
|
<li><b>right=, r=</b> - Modifie la position x droite</li>
|
|||
|
<li><b>bottom, b</b> - Renvoie la position y basse</li>
|
|||
|
<li><b>bottom=, b=</b> - Modifie la position y basse</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur du rectangle</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur du rectangle</li>
|
|||
|
<li><b>contains(x, y)</b> - Renvoie vrai si le point (x, y) est <20> l'int<6E>rieur du rectangle</li>
|
|||
|
<li><b>intersects(rect)</b> - Renvoie l'intersection de deux rectangles (nil s'il n'y a aucune intersection)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="music">SFML::Music</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize(bufSize=44100)</b> - Permet de sp<73>cifier la taille du tampon interne (<28> modifier si vous rencontrez des probl<62>mes de performances ou de saccades)</li>
|
|||
|
<li><b>initialize(path)</b> - Ouvre la musique <20> partir du fichier sp<73>cifi<66> (l<>ve une erreur RuntimeError si <20>choue).</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>loop, loop=</b> - Renvoie / modifie un bool<6F>en indiquant si la musique doit boucler lorsqu'elle est termin<69>e</li>
|
|||
|
<li><b>duration</b> - Renvoie la dur<75>e totale de la musique, en secondes</li>
|
|||
|
<li><b>channels</b> - Renvoie le nombre de canaux de la musique (1 = mono, 2 = stereo).</li>
|
|||
|
<li><b>sampleRate</b> - Renvoie le taux d'<27>chantillonnage de la musique (44100 = qualit<69> CD).</li>
|
|||
|
<li><b>status</b> - Renvoie l'<27>tat de lecture de la musique (Sound::Stopped, Sound::Paused, Sound::Playing).</li>
|
|||
|
<li><b>open(path)</b> - Ouvre la musique <20> partir du fichier sp<73>cifi<66> (renvoie faux si <20>choue).</li>
|
|||
|
<li><b>play</b> - D<>marre la lecture de la musique</li>
|
|||
|
<li><b>stop</b> - Stoppe la lecture de la musique</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="postfx">SFML::PostFX</a></h4>
|
|||
|
<ul>
|
|||
|
<li>(H<>rite de toutes les fonctions de <a href="#drawable">SFML::Drawable</a>)</li>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(path)</b> - Charge le fichier effet sp<73>cifi<66></li>
|
|||
|
<li><b>initialize(postFX)</b> - Cr<43>e une copie d'un objet PostFX</li>
|
|||
|
<li><b>loadFromFile(path)</b> - Charge le fichier effet sp<73>cifi<66> (renvoie faux si <20>choue)</li>
|
|||
|
<li><b>setParameter(name, x, y=nil, z=nil, w=nil)</b> - Change la valeur d'un param<61>tre de l'effet</li>
|
|||
|
<li><b>setTexture(name, image)</b> - Change une texture de l'effet</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="renderwindow">SFML::RenderWindow</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize(mode, title, style=Window::Resizable, antialias=0)</b> - Cr<43>e une fen<65>tre de rendu 2D en utilisant le mode vid<69>o, le titre et le style sp<73>cifi<66>s</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur de la fen<65>tre</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur de la fen<65>tre</li>
|
|||
|
<li><b>input</b> - Renvoie l'objet <a href="#input">SFML::Input</a> associ<63> <20> cette fen<65>tre</li>
|
|||
|
<li><b>frameTime</b> - Renvoie le temps <20>coul<75> depuis le dernier rafra<72>chissement</li>
|
|||
|
<li><b>stencilBits</b> - Renvoie le nombre de bits allou<6F>s au tampon stencil</li>
|
|||
|
<li><b>depthBits</b> - Renvoie le nombre de bits allou<6F>s au tampon de profondeur</li>
|
|||
|
<li><b>view, view=</b> - Renvoie / modifie l'objet <a href="#view">SFML::View</a> courant (camera 2D)</li>
|
|||
|
<li><b>backgroundColor=</b> - Modifie la couleur de fond de la fen<65>tre</li>
|
|||
|
<li><b>getEvent</b> - Renvoie le prochain <20>v<EFBFBD>nement en attente dans la file d'<27>v<EFBFBD>nements (ou nil s'il n'y en a aucun)</li>
|
|||
|
<li><b>useVerticalSync(bool)</b> - Active / d<>sactive la synchronisation verticale</li>
|
|||
|
<li><b>showMouseCursor(bool)</b> - Affiche / cache le curseur souris sur la fen<65>tre</li>
|
|||
|
<li><b>display</b> - Met <20> jour la fen<65>tre <20> l'<27>cran</li>
|
|||
|
<li><b>beginOpenGL</b> - Sauvegarde les <20>tats OpenGL internes avant que vous ne placiez des appels OpenGL</li>
|
|||
|
<li><b>endOpenGL</b> - Restaure les <20>tats OpenGL internes apr<70>s que vous ayiez plac<61> des appels OpenGL</li>
|
|||
|
<li><b>capture</b> - Prend une capture d'<27>cran et la renvoie sous forme d'image</li>
|
|||
|
<li><b>draw(obj)</b> - Affiche dans la fen<65>tre tout objet d<>rivant de <a href="#drawable">SFML::Drawable</a></li>
|
|||
|
<li><b>setFramerateLimit</b> - Fixe une limite de rafra<72>chissement, en images par seconde (0 pour d<>sactiver)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="sound">SFML::Sound</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize(sound)</b> - Cr<43>e une copie d'un objet son</li>
|
|||
|
<li><b>initialize(buffer=nil, loop=false, pitch=1, volume=100, x=0, y=0, z=0)</b> - Cr<43>e un objet son en utilisant le tampon audio et les autres param<61>tres sp<73>cifi<66>s</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>buffer, buffer=</b> - Renvoie / modifie le <a href="#soundbuffer">SFML::SoundBuffer</a> de cet objet</li>
|
|||
|
<li><b>loop, loop=</b> - Renvoie / modifie l'<27>tat de bouclage du son</li>
|
|||
|
<li><b>pitch, pitch=</b> - Renvoie / modifie le pitch du son</li>
|
|||
|
<li><b>volume, volume=</b> - Renvoie / modifie le volume du son</li>
|
|||
|
<li><b>position, position=</b> -Renvoie / modifie la position du son (utilise un tableau de 3 valeurs)</li>
|
|||
|
<li><b>status</b> - Renvoie l'<27>tat de lecture du son (Sound::Stopped, Sound::Paused, Sound::Playing).</li>
|
|||
|
<li><b>playingOffset</b> - Renvoie la position de lecture courante du son (en secondes).</li>
|
|||
|
<li><b>play</b> - D<>marre la lecture du son</li>
|
|||
|
<li><b>pause</b> - Met ne pause le son</li>
|
|||
|
<li><b>stop</b> - Stoppe la lecture du son</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="soundbuffer">SFML::SoundBuffer</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(soundBuffer)</b> - Cr<43>e une copie d'un objet SoundBuffer</li>
|
|||
|
<li><b>initialize(path)</b> - Charge le tampon sonore <20> partir du fichier sp<73>cifi<66> (l<>ve une erreur RuntimeError si <20>choue).</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>samples</b> - Renvoie les <20>chantillons sonores bruts sous forme de cha<68>ne Ruby</li>
|
|||
|
<li><b>samplesCount</b> - Renvoie le nombre d'<27>chantillons sonores du tampon</li>
|
|||
|
<li><b>samplesRate</b> - Renvoie le taux d'<27>chantillonnage (nombre d'<27>chantillons par seconde pour chaque canal)</li>
|
|||
|
<li><b>channels</b> - Renvoie le nombre de canaux (1 = mono, 2 = stereo)</li>
|
|||
|
<li><b>duration</b> - Renvoie la dur<75>e du tampon sonore (en secondes)</li>
|
|||
|
<li><b>loadFromFile(path)</b> - Charge le tampon sonore <20> partir du fichier sp<73>cifi<66> (renvoie faux si <20>choue)</li>
|
|||
|
<li><b>saveToFile(path)</b> - Sauvegarde le tampon sonore dans le fichier sp<73>cifi<66> (renvoie faux si <20>choue)</li>
|
|||
|
<li><b>loadFromMemory(samples, samplesCount, channels, sampleRate)</b> - Construit le tampon sonore <20> partir d'<27>chantillons bruts en m<>moire</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="soundbufferrecorder">SFML::SoundBufferRecorder</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>canCapture</b> - (statique) Renvoie vrai si le syst<73>me est capable d'effectuer les captures audio</li>
|
|||
|
<li><b>start(sampleRate=44100)</b> - D<>marre la capture audio</li>
|
|||
|
<li><b>stop</b> - Stoppe la capture audio</li>
|
|||
|
<li><b>buffer</b> - Renvoie l'objet SoundBuffer contenant le son captur<75></li>
|
|||
|
<li><b>sampleRate</b> - Renvoie le taux d'<27>chantillonnage utilis<69> pour la capture</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="sprite">SFML::Sprite</a></h4>
|
|||
|
<ul>
|
|||
|
<li>(H<>rite de toutes les fonctions de <a href="#drawable">SFML::Drawable</a>)</li>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(image, left=0, top=0, scale=1, rotation=0, c=Color.White)</b> - Construit le sprite <20> partir de l'image et des autres param<61>tres donn<6E>s (le param<61>tre scale peut <20>tre un nombre simple ou un tableau de deux nombres)</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur du sprite (affect<63>e par subRect et scale)</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur du sprite (affect<63>e par subRect et scale)</li>
|
|||
|
<li><b>right, right=</b> - Renvoie / modifie la position x droite du sprite</li>
|
|||
|
<li><b>bottom, bottom=</b> - Renvoie / modifie la position y basse du sprite</li>
|
|||
|
<li><b>x, x=</b> - Renvoie / modifie la position x centrale du sprite</li>
|
|||
|
<li><b>y, y=</b> - Renvoie / modifie la position y centrale du sprite</li>
|
|||
|
<li><b>image, image=</b> - Renvoie / modifie l'image utilis<69>e par le sprite</li>
|
|||
|
<li><b>subRect, subRect=</b> - Renvoie / modifie le sous-rectangle de l'image source utilis<69> pour le sprite</li>
|
|||
|
<li><b>getPixel(x,y), [x,y]</b> - Renvoie la couleur d'un pixel du sprite relativement <20> son sous-rectangle ([0, 0] serait le pixel haut-gauche du sous-rectangle)</li>
|
|||
|
<li><b>radius</b> - Renvoie le rayon du cercle englobant du sprite (bas<61> sur sa hauteur et sa largeur)</li>
|
|||
|
<li><b>distance(sprite)</b> - Renvoie la distance entre les centres de deux sprites</li>
|
|||
|
<li><b>render(window)</b> - (virtuelle) A red<65>finir pour effectuer un rendu personnalis<69></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="text">SFML::Text</a></h4>
|
|||
|
<ul>
|
|||
|
<li>(H<>rite de toutes les fonctions de <a href="#drawable">SFML::Drawable</a>)</li>
|
|||
|
<li><b>initialize(str="", font="", size=32)</b> - Initialise l'objet Text avec le texte, la police et la taille sp<73>cifi<66>s</li>
|
|||
|
<li><b>preloadFont(font, size)</b> - (statique) Force le chargement de la police avant sa premi<6D>re utilisation</li>
|
|||
|
<li><b>text, text=</b> - Renvoie / modifie la cha<68>ne <20> afficher</li>
|
|||
|
<li><b>font, font=</b> - Renvoie / modifie la police de caract<63>res <20> utiliser</li>
|
|||
|
<li><b>size, size=</b> - Renvoie / modifie la taille du texte</li>
|
|||
|
<li><b>getRect</b> - Renvoie le rectangle englobant de la cha<68>ne graphique</li>
|
|||
|
<li><b>render(window)</b> - (virtuelle) A red<65>finir pour effectuer un rendu personnalis<69></li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="videomode">SFML::VideoMode</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(w, h, bpp=32)</b> - Cr<43>e un mode vid<69>o avec les dimensions et la profondeur (bits par pixel) sp<73>cifi<66>es</li>
|
|||
|
<li><b>desktop</b> - (statique) Renvoie le mode vid<69>o actuel du bureau</li>
|
|||
|
<li><b>each</b> - (statique) It<49>re sur tous les modes vid<69>o plein <20>cran valides</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>width, w, width=, w=</b> - Renvoie / modifie la largeur du mode vid<69>o</li>
|
|||
|
<li><b>height, h, height=, h=</b> - Renvoie / modifie la hauteur du mode vid<69>o</li>
|
|||
|
<li><b>bitsPerPixel, bpp, bitsPerPixel=, bpp=</b> - Renvoie / modifie la profondeur (bits par pixels) du mode vid<69>o</li>
|
|||
|
<li><b>isValid</b> - Renvoie vrai si le mode est un mode plein <20>cran valide</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="view">SFML::View</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize()</b> - Constructeur par d<>faut</li>
|
|||
|
<li><b>initialize(left, top, width, height, zoom=1)</b> - Initialise la vue avec la position, taille et le zomm sp<73>cifi<66>s</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>left, l, left=, l=</b> - Renvoie / modifie la position x gauche de la vue</li>
|
|||
|
<li><b>top, t, top=, t=</b> - Renvoie / modifie la position y haute de la vue</li>
|
|||
|
<li><b>width, w, width=, w=</b> - Renvoie / modifie la largeur de la vue</li>
|
|||
|
<li><b>height, h, height=, h=</b> - Renvoie / modifie la hauteur de la vue</li>
|
|||
|
<li><b>zoom, zoom=</b> - Renvoie / modifie le facteur de zoom de la vue</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<hr/>
|
|||
|
<h4><a name="window">SFML::Window</a></h4>
|
|||
|
<ul>
|
|||
|
<li><b>initialize(mode, title, style=Window::Resizable, antialias=0)</b> - Cr<43>e une fen<65>tre en utilisant le mode vid<69>o, le titre et le style sp<73>cifi<66>s</li>
|
|||
|
<li><b>to_s</b> - Renvoie une cha<68>ne format<61>e d<>crivant l'objet (pour d<>boguage)</li>
|
|||
|
<li><b>width, w</b> - Renvoie la largeur de la fen<65>tre</li>
|
|||
|
<li><b>height, h</b> - Renvoie la hauteur de la fen<65>tre</li>
|
|||
|
<li><b>input</b> - Renvoie l'objet <a href="#input">SFML::Input</a> associ<63> <20> cette fen<65>tre</li>
|
|||
|
<li><b>frameTime</b> - Renvoie le temps <20>coul<75> depuis le dernier rafra<72>chissement</li>
|
|||
|
<li><b>stencilBits</b> - Renvoie le nombre de bits allou<6F>s au tampon stencil</li>
|
|||
|
<li><b>depthBits</b> - Renvoie le nombre de bits allou<6F>s au tampon de profondeur</li>
|
|||
|
<li><b>getEvent</b> - Renvoie le prochain <20>v<EFBFBD>nement en attente dans la file d'<27>v<EFBFBD>nements (ou nil s'il n'y en a aucun)</li>
|
|||
|
<li><b>useVerticalSync(bool)</b> - Active / d<>sactive la synchronisation verticale</li>
|
|||
|
<li><b>showMouseCursor(bool)</b> - Affiche / cache le curseur souris sur la fen<65>tre</li>
|
|||
|
<li><b>display</b> - Met <20> jour la fen<65>tre <20> l'<27>cran</li>
|
|||
|
<li><b>setCurrent</b> - Rend la fen<65>tre courante active pour le rendu</li>
|
|||
|
<li><b>setFramerateLimit</b> - Fixe une limite de rafra<72>chissement, en images par seconde (0 pour d<>sactiver)</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|