:: PlayerAdvance.org ::

:: PlayerAdvance.org :: (http://www.playeradvance.org/forum/index.php)
-   Tutoriels (http://www.playeradvance.org/forum/forumdisplay.php?f=245)
-   -   Wii Dévelloper sur Wii avec la libwiisprite [Day 2] Les bases (http://www.playeradvance.org/forum/showthread.php?t=26969)

Cortes48 13/08/2008 15h04

Dévelloper sur Wii avec la libwiisprite [Day 2] Les bases
 
Dévelloper sur Wii avec la libwiisprite [Day 2]Les bases



Alors vous êtes toujours là ;)?! Alors bravo :bravo:!!!



1 - Observation du template

Alors voilà le template d'un projet libwiisprite :

Code PHP:

#include <wiisprite.h>

// On utilise la libwiisprite comme namespace
using namespace wsp;

int main(int argcchar **argv)
{
    
// Création de la fenêtre de jeux et initilisation de la video
    
GameWindow gwd;
    
gwd.InitVideo();
    
    
gwd.SetBackground((GXColor){ 255255255255 });//On met l'écran tout noir

    
    
while(1){
        
        
gwd.Flush();//On rafraichie l'écran à 50 frames par seconde ou 60 selon l'option choisie dans le menu systeme
    
}
    return 
0;


La libwiisprite est une librairie C++, il n'est pas obligatoire de connaitre ce language (Moi même je n'ai jamais apris le C++, je n'ai apris que le C).
Il vous ai conseillé de connaitre le jour 2 du wiki PAlib sur le C .

Code PHP:

#include <wiisprite.h> 

On inclus évidemment la libwiisprite.


Code PHP:

using namespace wsp

Pour ceux qui ne connaisse pas le C++,cela veux dire en quelque sorte que nous utilisont les classes du namespace wsp qui est celui de la libwiisprite.


Maintenant la fonction main()

Code PHP:

GameWindow gwd;
gwd.InitVideo(); 

Ici, on créé une fenêtre de jeu qui est indispensble pour pouvoir joué.
Puis on l'initialise.



La fonction InitVideo est une fonction membre.
Les fonctions membres sont une particularité du C++.
Elle ne vas pas initialiser la video d'un GameWindow passé en parametre mais l'objet à qui elle est rataché. Ici elle est rataché à gwd.

Code PHP:

gwd.SetBackground((GXColor){ 255255255255 }); 

Encore une fonction membre comme vous avais pus le deviner.
Elle vas attribuer une couleur de fond a notre fenêtre de jeu gwd.
Cette fonction membre prends en paramètre le type GXColor.

Mais d'abord quelque explication sur ces crochets, ces 255 et ce GXColor entre parenthèse.

Imaginons qu'une fonction function() prenne en parametre un tableau de 4 élément

Nous pourons faire ça:

Code PHP:

int tab[4]={1,2,3,4};
function(
tab); 

Mais pour évité de déclarer une nouvelle variable on peux faire ça :

Code PHP:

function({1,2,3,4}); 

Mais imaginons que nous créons un nouveau type "nb" qui est exactement la même chose que le type int.

On écrira :
Code PHP:

typedef int nb

Et imaginons encore que la fonction function prenne en parametre un tableau de nb à la place d'un tableau de int.
Nous devons donc convertir des int en nb.
Pour convertir:

Code PHP:

int var=2;
nb var2=(nb)var; 

Et voila, il suffit de mettre entre parenthèse le type voulue avant le type de départ.

Revenons à notre fonction SetBackground

Code PHP:

gwd.SetBackground((GXColor){ 255255255255 }); 

Ici on converti seulement un tableau de int en GXColor.

Pour les 255 , je pense que vous avez deviné, il correspondent aux valeur ARGB (alpha,red,green,blue).

Et voilà pour cette longue explication d'une fonction assez simple.

Maintenant rentrons dans la boucle infini while.

Code PHP:

gwd.Flush(); 

Cette fonction va simplement rafraichir l' écran.
C'est l'équivalent de PA_WaitForVBL

Et voila pour le jour 2, la prochaine fois nous verrons comment affichez un sprite:D

Freeben666 13/08/2008 18h05

Bonnes explications, mais vérifie un peu ton orthographe, ça pique les yeux par endroits :D


Fuseau horaire GMT +2. Il est actuellement 03h15.

Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone