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.
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";
};
};
};
- La class RscPicturePerso permet de paramétrer un élément de type "image".
- La class RscTypePerso permet de paramétrer les class "enfants" de la class "RscTitles".
- La class RscTitles contient les différents éléments à afficher.
- La class titre1 englobe toutes les images à afficher en même temps. On fera appel à cette class pour l'affichage de notre image.
- La class image1 correspond à notre image.
Les choses les plus intéressantes du code :
Code | Description |
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
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).