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
(Voir plus bas).
Dans l'exemple ci-dessous, nous allons afficher un logo.
Je vais également vous expliquer à la fin de ce tutoriel comment afficher plusieurs images simultanément ou décalées.
Afficher une image
Dans un premier temps, vous devez placer votre image dans le dossier de votre mission
(Mes documents/[ArmA2\ArmA2 Other Profiles]/VotrePseudo/missions/maMission.*) :
Ensuite, dans celui-ci, vous allez créer deux fichiers :
description.ext
#define FONT_Z "Zeppelin32"
#define CT_STATIC 0
#define CT_SHORTCUT_BUTTON 16
#define ST_PICTURE 48
#define ST_NOBORDER 512
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_SHADOW 0x100
class RscPicture
{
idc = -1;
type = CT_STATIC;
style = ST_CENTER + ST_PICTURE;
colorBackground[] = {0,0,0,0};
colorText[] = {1,1,1,1};
font = FONT_Z;
sizeEx = 0.02;
};
class RscType
{
idd = -1;
movingEnable = 0;
duration = 6;
};
class RscTitles
{
titles[] = {"Image1"};
class Image1 : RscType
{
controls[] = {"Image1_1"};
class Image1_1: RscPicture
{
text = "ado.paa";
x = 0.4;
y = 0.3;
w = 0.2;
h = 0.25;
};
};
};
- La classe RscPicture est généralement toujours la même. Dans cet exemple, il n'est pas nécessaire de modifier quelque chose dedans.
- La classe RscTitles contient les différents éléments à afficher. Ici, nous mettons notre image.
- La classe Image1 englobe toutes les images à afficher en même temps.
- La classe Image1_1 correspond à notre logo. C'est ici que nous modifierons les paramètres de notre image.
Code | Description |
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 de l'image (horizontal) |
y = 0.3; | pour changer la position de l'image (vertical) |
w = 0.2; | pour changer la largeur de l'image |
h = 0.25; | pour changer la hauteur de l'image |
init.sqf
Insérer la commande suivante dans le fichier
init.sqf :
TitleRsc ["Image1","Plain",2];
Cette ligne va faire apparaitre ce qui se trouve dans la classe
image, donc dans cet exemple sa va afficher notre logo.
Vous pouvez introduire ce code dans n'importe quel fichier/script.
Afficher plusieurs images
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 classe
Image1_2 dans la classe
Image1.
Surtout il ne faut pas oublier de rajouter la classe dans
controls[].
// ...
class RscTitles
{
titles[] = {"Image1"};
class Image1 : RscType
{
controls[] = {"Image1_1","Image1_2"};
class Image1_1: RscPicture
{
text = "ado.paa";
x = 0.4;
y = 0.3;
w = 0.2;
h = 0.25;
};
class Image1_2: RscPicture
{
text = "ado2.paa";
x = 0.2;
y = 0.1;
w = 0.2;
h = 0.25;
};
};
};
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
image2 dans la classe
RscTitles.
Surtout il ne faut pas oublier de rajouter la classe dans
titles[].
// ...
class RscTitles
{
titles[] = {"Image1","Image2"};
class Image1 : RscType
{
controls[] = {"Image1_1"};
class Image1_1: RscPicture
{
text = "ado.paa";
x = 0.4;
y = 0.3;
w = 0.2;
h = 0.25;
};
};
class Image2 : RscType
{
controls[] = {"Image2_1"};
class Image2_1: RscPicture
{
text = "ado2.paa";
x = 0.2;
y = 0.1;
w = 0.2;
h = 0.25;
};
};
};
Pour cet exemple, il faudra modifier le code dans le fichier
init.sqf :
TitleRsc ["Image1","Plain",2];
sleep 5;
TitleRsc ["Image2","Plain",2];
On appellera la seconde image 5 secondes après la première
(sleep 5).