WIKI ADO

Accueil > ArmA3 > Edition de missions > Afficher une image

Afficher une image

- Publié le 20 Mai 2013 à 11h02 - Modifié le 20 Mai 2013 à 11h26
Nous allons apprendre à afficher une image personnalisée dans le jeu.
L'image peut être de format .jpg ou .paa. La taille et la position de l'image sont configurables.

Je vais vous expliquer à la fin de ce tutoriel comment afficher plusieurs images simultanément ou décalées.

Erreur Image

Afficher une image


Dans un premier temps, vous devez placer votre image dans le dossier de votre mission.
Ensuite, dans ce même dossier, vous devez créer les deux fichiers suivants :

Sous Vista/Seven :
C:\Users\monNom\Documents\ArmA 3 Other Profiles\monPseudo\missions\maMission.x\
Sous XP :
C:\Documents and Settings\monNom\Mes documents\ArmA3 Other Profiles\monPseudo\missions\maMission.x\
Si vous utilisez le profil d'origine,
il faut remplacer "ArmA3 Other Profiles" par "ArmA3" :

C:\Users\monNom\Documents\ArmA 3\monPseudo\

description.ext


Ce fichier va nous permettre de configurer les images que nous voulons afficher.

Pour chaque modification apportée dans ce fichier,
vous devez recharger votre mission pour qu'elles soient prises en compte !

#define FONT_Z          "PuristaMedium"
#define CT_STATIC       0
#define ST_PICTURE      48

class RscPicturePerso
{
        idc = -1;
        type = CT_STATIC;
        style = ST_PICTURE;
        font = FONT_Z;
        colorBackground[] = {0,0,0,0};
        colorText[] = {1,1,1,1};
        sizeEx = 0.02;
};

class RscTypePerso
{
        idd = -1;
        movingEnable = 0;
        duration = 6;
};

class RscTitles
{
        titles[] = {"titre1"};

        class titre1 : RscTypePerso
        {
                controls[] = {"image1"};

                class image1: RscPicturePerso
                {
                        x = 0.4;
                        y = 0.3;
                        w = 0.2;
                        h = 0.25;
                        text = "ado.paa";
                };
        };
};

Les choses les plus intéressantes du code :

CodeDescription
duration = 6;Durée d'affichage d'un élément (en secondes)
text = "ado.paa";nom de l'image (Pensez à mettre le bon lien si jamais vous la mettez dans un sous-dossier)
x = 0.4;pour changer la position horizontale de l'image
y = 0.3;pour changer la position verticale de l'image
w = 0.2;pour changer la largeur de l'image
h = 0.25;pour changer la hauteur de l'image

init.sqf


Maintenant, insérer le code suivant dans le fichier "init.sqf" qui vous permettra d'afficher votre image au démarrage de votre mission.
Vous pouvez introduire ce code dans n'importe quel fichier/script.

TitleRsc ["titre1","Plain"];

Afficher plusieurs images


Erreur Image

Deux images qui s'affiche en même temps


Si vous voulez mettre une seconde image qui s'affiche en même temps que la première, vous devez ajouter une nouvelle class image2 dans la class titre1.
Surtout il ne faut pas oublier de rajouter la nouvelle class dans controls[].

// ...
 
class RscTitles
{
        titles[] = {"titre1"};

        class titre1 : RscTypePerso
        {
                controls[] = {"image1","image2"};

                class image1: RscPicturePerso
                {
                        x = 0.33;
                        y = 0.3;
                        w = 0.15;
                        h = 0.1;
                        text = "france.jpg";
                };
               
                class image2: RscPicturePerso
                {
                        x = 0.52;
                        y = 0.3;
                        w = 0.15;
                        h = 0.1;
                        text = "belgique.jpg";
                };
        };
};

Deux images qui s'affiche une après l'autre


Si vous voulez mettre une seconde image mais qui s'affiche après la première, vous devez ajouter une nouvelle classe titre2 dans la class RscTitles.
Surtout il ne faut pas oublier de rajouter la nouvelle class dans titles[].

// ...
 
class RscTitles
{
        titles[] = {"titre1","titre2"};

        class titre1 : RscTypePerso
        {
                controls[] = {"image1"};

                class image1: RscPicturePerso
                {
                        x = 0.4;
                        y = 0.3;
                        w = 0.15;
                        h = 0.1;
                        text = "france.jpg";
                };
        };
       
        class titre2 : RscTypePerso
        {
                controls[] = {"image1"};

                class image1: RscPicturePerso
                {
                        x = 0.4;
                        y = 0.3;
                        w = 0.15;
                        h = 0.1;
                        text = "belgique.jpg";
                };
        };
};

Pour cet exemple, il faudra modifier le code dans le fichier init.sqf :

TitleRsc ["titre1","Plain"];
sleep 3;
TitleRsc ["titre2","Plain"];

On appellera la seconde image 3 secondes après la première (sleep 3).