samedi 19 août 2017

#01 Tuto AppGameKit 2 - Création d'un sprite


EDITO
Je vais commencer une série de tutos pour programmer sur AppGameKit 2 , le logiciel que j'utilise pour "fabriquer" mes applications.
Il y a très peu de tutos en Français et c'est donc pour cela que je vais essayer de vous aidez.

N'hésitez pas à me proposer des tutos ou à proposer vos codes!

CE QUE NOUS VOULONS FAIRE
Afficher simplement un sprite carré sur notre écran comme sur notre exemple.


MISE EN PLACE
Tout d'abord, nous allons créer un nouveau projet en cliquant sur "NEW"
Je l'ai appellé "Sprite" mais vous faites comme vous voulez. Vous pouvez l'appeller "Patate" ou " Poireau" ça fonctionne aussi.


CODE
_____________________________________________________________________________________

// Project: Sprite
// Created: 2017-08-19

// show all errors

SetErrorMode(2)

// set window properties
SetWindowTitle( "Sprite" )
SetWindowSize( 1024, 768, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window

// set display properties
SetVirtualResolution( 1024, 768 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
SetSyncRate( 60, 0 ) // 30fps instead of 60 to save battery
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts

    Sprite = CreateSprite(0)
    SetSpriteSize        (Sprite,50,50)
    SetSpritePosition  (Sprite,100,100)
    SetSpriteColor      (Sprite,255,255,255,255)
    SetSpriteVisible    (Sprite,1)


do
    Print( ScreenFPS() )
    Sync()
loop

_____________________________________________________________________________________ 

EXPLICATIONS
Les lignes noires sont des lignes de codes
Les lignes grisées sont des lignes de commentaires, elles servent donc à commenter la ligne de code car on peut vite se perdre quand on dépasse un certain nombre de lignes.
Les lignes bleues sont des lignes de codes. Ce sont les lignes que j'ai ajouter pour le tuto.


    Sprite = CreateSprite(0) 

"Sprite" est une valeur entière (integer). 
C'est le nom que l'on donnera à notre sprite dans tout notre programme.
Il n'y aura donc pas plusieurs valeur "Sprite" différentes
Le 0 signifie que l'on veut un sprite blanc. 
Nous verrons dans un autre tuto que l'on peut mettre une image à la place. 

    SetSpriteSize        (Sprite,50,50)

Nous lui donnons une dimension. 50 pixels de coté
 
    SetSpritePosition  (Sprite,100,100)

La position de notre sprite sera de 100 pixels en X et 100 pixels en Y 
Le point d'origine étant en haut et a gauche de notre écran de travail.
 
    SetSpriteColor      (Sprite,255,255,255,255)

Bien que nous avons demandé un sprite blanc avec le 0  du CreateSprite(0), nous pouvons modifier sa couleur et sa transparence.
SetSpriteColor (Sprite, Rouge, Vert, Bleu, Transparence Alpha) 
Rouge est compris entre 0 et 255
Vert est compris entre 0 et 255
Bleu est compris entre 0 et 255
Alpha est compris entre 0 et 255
Amusez vous à modifier ces valeurs une par une ou toutes d'un coup pour voir ce que cela donne.
 
    SetSpriteVisible    (Sprite,1)

Pas de surprise, cette commande permet de rendre visible ou invisible votre sprite sur l'écran.
Par défaut et sans appeler cette commande, votre sprite apparaitra mais vous verrez par la suite qu'il est intéressant de ne pas afficher votre sprite de suite sinon vous risquez de le voir s'afficher dans les menus de votre jeu dans le cas ou vous en mettrez un.

CONCLUSION
On commence doucement et j'imagine que beaucoup son déjà à un niveau largement supérieur. 
Dans les tutos suivants spéciales AppGameKit 2, nous ferons bouger ce sprite avec plusieurs moyens. (Joystick, clavier, accéléromètre , etc...)
Nous verrons également les animations de sprites.
On le fera tomber aussi avec la gravité. 

En attente de vos commentaires!

#AGK2 

2 commentaires:

  1. Merci à toi, continue c'est très utile !!!
    AU pire monte un forum dédié !

    RépondreSupprimer
    Réponses
    1. Et bien merci à toi. Je ne sais pas s'il y a vraiment beaucoup de français qui programment sur AGK 2
      L'idée du forum pourquoi pas c'est intéressant.

      Supprimer