Créé le 29/09/2002
Dernière mise à jour le 23/11/2003
Ils existent 2 endroits où déclarer les variables, de façon "globale" et de façon "locale":
Déclaration globale
La déclaration globale se fait juste aprés
la déclaration de la classe en utilisant le mot clef var.
Cette
variable est accessible dans toute la classe et ses sous-classes et aussi par
"Actor/Référence".
Déclaration locale
La déclaration locale se fait juste aprés une
déclaration de function en utilisant le mot clef local.
Cette
variable est accessible uniquement dans la function.
Nom-de-l'Actor Nom-de-la-référence: Déclare
une variable qui réfère un actor. (on peut directement utilisé la constante
self pour déclaré cet actor)
bool: Déclare une valeur qui peut être soit
True (vrai) soit False (faux).
byte: Déclare un nombre avec une valeur
qui va de 0 à 255.
color: Déclare une couleur. Une structure de variable byte R,
G, B, A
ce qui veut dire Red (rouge), Green (vert), Blue (bleue)
et Alpha (alpha) spécial pour une transparence sinon mettre 255.
class<Nom-d'Actor> Nom-de-la-référence: Déclare une
classe d'actor.
enum: Déclare une variable a une où plusieurs
valeurs de noms prédéfinis.
float: Déclare un nombre flottant. (de
6 chiffres aprés la virgule)
int: Déclare un nombre entier.
material: Déclare tous type de texture. (Combiner,
FinaBlend, Modifier, Shader
etc...)
name: Déclare une chaîne de caractères. (sans
espace, mais trés rapide)
rotator: Déclare une rotation. (une structure
de variable flottante Pitch, Roll,
Yaw)
sound: Déclare un son.
string: Déclare une chaîne de caractères. (généralement
utilisé pour les menus et messages)
vector: Déclare un vecteur. (une structure
de variable flottante X, Y, Z)
Toute les variable sont initialisé a 0 pour
les nombres (byte, float,
int), a False pour les bool,
"a-la-première-valeur" pour les enum et
a "none" pour class, material,
name, sound
et string.
On peut faire plusieurs déclaration
dans la même ligne en mettant une virgule a chaque fois puis en finissant par
un point virgule, exemples:
var bool bTest, bOtherTest;
var int i, j, k;
3) Les types de déclaration avancées
const: La variable est constante et ne
peut être modifiée. (A déclarée globalement avec ou sans utiliser var)
private ou protected:
La variable ne peut être accéssible que par le script qui la déclare. (a mettre
avant le type de variable)
Exemples:
const Pi = 3.1415926535897932; // comme dans object
const
EndMessage = "Fin de partie!";
var private byte BlueTeam = 1;
var
private class<Weapon> StartWeapon;
4) Déclaration d'une variable éditable
Réservé aux déclarations globale de variable, ouvrir et fermer une parenthèse juste aprés le mot clef var.
Exemple:
var() bool MyBool;
Les déclarations de variable éditable sont modifiable dans les propriétés
par défault sous UnrealEd.
Pour y accéder, faite un [click-droit] sur la classe puis un [click-gauche]
sur Default Properties....
Par défault cette nouvelle option serra dans le nom-de-cette-classe.
2ème Exemple:
var(MyOptions) strings WinMessage;
L'option est accessible dans MyOptions et non plus dans le-nom-de-cette-classe.
5) Déclaration d'une chaîne de variables
A la fin d'une déclaration de variable, sans mettre d'espace, mettre entre 2 crochets la valeur indiquant la longueur de la chaîne.
Exemple:
var int MyNumbers[10];
Cet exemple déclare les nombres entiers: MyNumbers[0], MyNumbers[1], MyNumbers[2] etc... jusqu'a MyNumbers[9].
Comme une chaîne commence par 0 et non pas par
1, elle se termine une unité avant, soit 10 nombres
entiers déclaréent d'un seul coup.
Ce type de déclaration est trés pratique
pour être balançé dans des boucles For par exemple.
Note:
dans les propriétés par défault, les crochets deviennent des parenthèses.
6) Déclaration d'une structure de variables
Exemple:
struct MyStructure
{
var
bool bMyBool;
var int MyNumber;
};
Dans cet exemple on voit qu'on peut mettre plusieurs type de variable
dans une même structure.
Il est important de noté, le point virgule a la fin.
Pour accéder a la variable bMyBool par exemple,
on fait: MyStructure.bMyBool.
7) Déclaration d'une structure de variables éditables
Exemple:
struct _MyStructure
{
var()
bool bMyBool;
var() int
MyNumber;
};
var() _MyStructure MyStructure;
Pour qu'on voit bien dans les propriétés de cet actor dans MyStructure,
j'ai diffirencié le nom réel de la structure en rajoutant un "_" devant,
car la déclaration ne peut avoir le même nom.
Pour les variables de la structure que vous voulez déclaré, mettre aussi
des parenthèses mais avec rien dedans car il y aurra une erreur sinon, de toute
facon la déclaration réelle est MyStructure et c'est
dans cette déclaration qu'on peut changer le nom d'accessibilité. (comme dans
le 2ème exemple du chapitre 4 avec MyOptions par exemple)