VARIABLE

 

 

Variables
 

Si vous avez jamais fait la programmation avant, je suis sûr que vous avez un concept ferme de ce qu'est une variable, et pour ce qu'ils sont employés. Si c'est le cas, vous devriez sauter probablement vers le bas des "types à la section de variables" ci-dessous. Si la question diable est une variable? flotte dans votre esprit bien que, vous vouliez continuer la lecture.

 

Techniquement parlant, une variable est un endroit dans votre mémoire d'ordinateur qui stocke une information. Cette information peut être de beaucoup de différents types, tels que des nombres ou des mots. Les variables viennent dans maniable toute l'heure tout en écrivant le code. Par exemple, disons vous faites une nouvelle arme, et vous voulez qu'elle tire en "ALT-FIRE". Pour accomplir ceci, vous pourriez employer une variable. Quand le joueur appuie sur ALT-FIRE, l'arme tire. Alors, quand le joueur appuie, le feu imaginaire est lancé et fera une quantité de variable de dommage selon la valeur qui a été stockée dans votre variable de charge.

 

Bien, si tout va bien vous pouvez saisir le concept des variables sans beaucoup d'aide de moi. J'ai constaté que la plupart des personnes n'ont pas beaucoup d'ennui avec ca. Il est juste un de ces choses qui se comprend naturellement.
 

Déclaration de variable

 

Si vous avez fait la programmation en BASIC, ou une langue semblable, vous vous êtes probablement habitués à employer des variables d'une certaine manière. À savoir, pas devant les déclarer. Déclarez-les , demandez-vous? Oui, déclarez-les. Des variables dans UnrealScript, juste comme dans C++, Java, et Javascript, doivent être déclarées avant que vous puissiez les employer. Fondamentalement, vous devez faire Unreal pour savoir que vous allez employer une nouvelle variable. La syntaxe  de base de déclaration variable dans UnrealScript ressemble à ceci:

 

var [vartype] [varname];

 

D'abord le mot-clé "var", puis le type de la variable que vous déclarez, et finalement le nom de la variable. Des variables doivent être déclarées au début d'une classe, après les commandes de déclaration et d'exec de classe, mais avant toutes les fonctions. Il y a beaucoup de différents types de variables, s'étendant des nombres, aux lettres et aux mots, aux valeurs "true" ou "false". Les types disponibles dans UnrealScript sont comme suit:

 

int = Entier

 

Une valeur de nombre de nombre entier. Pour ceux de vous non familier avec les nombre entier est, c'est un nombre entier qui peut également être négatif. En d'autres termes, quelque chose sans décimale. 37 est un nombre entier. 2 est un nombre entier. -674 est un nombre entier. 6,3432 n'est pas un nombre entier.

 

var int myInt;

 

myInt = 3; //Assigne une valeur
myInt++; //Incrémente
myInt--; //Décrémente

 

Notez la syntaxe spéciale que vous pouvez employer pour additionner ou soustraire un d'un nombre entier. Dire "myInt++;" fait la même chose que disant le "myInt = le myInt + 1;", et dire le "--;" de myInt fait la même chose que disant" le myInt = le myInt - 1;".

 

float = Décimal

 

Une valeur de nombre qui, à la différence d'un nombre entier, peut inclure des décimales. 6,3432, 4534243,2, et -0,98 sont tous des nombres de virgule flottante.

 

var float myFloat;

 

myFloat = 3.2453; //Assigne une valeur

 

Vous ne pouvez pas incrémenter et décrémenter un "float" en utilisant la même syntaxe qu'interne. Pour additionner un à un "float", vous devriez dire "myFloat = myFloat + 1;", pas "myFloat++;". Il est également important de maintenir dans l'esprit une autre chose en travaillant avec des nombres entiers et décimal. Jetez un coup d'oeil à ces exemples:

 

var int myInt;
var float myFloat, Result;

 

//Exemple 1
myInt = 5;
myFloat = 0.5;
Result = myFloat * myInt;

 

//Exemple 2
myInt = 5;
myFloat = 2.0;
Result = myInt / myFloat;

 

Dans l'exemple 1, le résultat n'est pas égale à 2,5. Puisque vous multipliez un nombre entier par un "float", vous récupérerez toujours un nombre entier. Si vous vouliez obtenir 2,5, vous devriez déclarer le myInt comme "float", pas un interne. Les mêmes sont par exemple deux vrais. Quoique vous divisiez 5 par 2, et assigniez le résultat à un "float", vous n'obtiendrez pas 2,5, parce que les 5 est un nombre entier. En outre, notez la manière que j'ai déclaré les deux flotteurs dans cet exemple. Vous pouvez déclarer des variables multiples dans le même rapport en séparant simplement les différents noms variables avec des virgules.

 

bool = Valeur booléenne

 

Une valeur qui est "true" ou "false". Ceux-ci n'ont pas toujours été autour, il est possible d'employer simplement un nombre entier, et lui ont placé 0 ou 1. Ceci donnerait même suite. Cependant, il est plus facile de voir et comprendre les mots true et false qu'il doit comprendre un 0 ou un 1, ainsi le bool a été présenté.

 

var bool bMyBool;

 

bMyBool = true; //Assigne une valeur

 

Notez que le préfixe "b" est souvent employé dans des noms variables booléens. C'est juste une convention d'appellation, bien qu'il ne soit pas exigé.

 

byte = byte

 

Une valeur de nombre entier dans la gamme de 0 à 255. L'utilisation de ces derniers ne peut pas être évidente à première vue. Vous dites probablement à vous-même, pourquoi utilisation simplement par nombre entier? Bien, j'honnêtement ne puis pas répondre à cela. Il très rarement (si jamais) l'utilisation ceux-ci, ainsi moi ne suis pas extrêmement claire sur leurs avantages. Je puis vous donner un exemple d'une chose qu'ils sont employés pour, bien que, et ce soit des valeurs de couleur de RVB, qui tombent dans la gamme de 0 à 255.

 

var byte bMyByte;

 

bMyByte = 255; //Assigne une valeur

 

Encore, notez le préfixe "b". Pour quelque raison, l'épopée a choisi pour d'employer la même convention d'appellation des bytes et des bools. Ainsi, fait attention à ne pas confondre les deux en regardant par les textes existants.

 

string = string

 

Un "string" est simplement un groupe de caractères alphanumériques. En d'autres termes... bien, mots. Cordes des lettres et des nombres qui composent des mots et des phrases.

 

var string[32] String1; //Déclare le string
var string[32] String2;
var string[32] Result;

 

String1 = "Blah"; //Assigne une valeur
String2 = "Gah";

 

//Combine deux strings
Result = String1 $ String2;

 

//Trouve à gauche 2 caractères du String1
Result = Left(String1, 2);

//Trouve à droite 2 caractères du String1
Result = Right(String1, 2);

//Trouve le numéro du caractère dans String1
Result = Len(String1);

//Retour du String dans tout les chapeaux
Result = Caps(String1);

Notez que des "String" sont déclarées d'une manière spéciale. Le nombre dans les crochets après que le mot "String" soit le nombre maximum des caractères que peut être le "string". Dans cet exemple, la longueur maximum de String1, String2, seraient un résultat de 32. Il y a également beaucoup d'opérations spéciales qui peuvent être effectuées sur des "String", telles que des "concantations" (ou combinant deux "String" dans une), conclusion des caractères gauches ou bons, ou conclusion de la longueur du "String".

 

name = nom

 

Les noms sont durs. Ils sont à peine jamais employés, et compris par peu. Je ferai mon meilleur pour les expliquer, cependant. La seule application que je puis penser à pour eux est dans les étiquettes. Si vous avez fait n'importe quelle conception de niveau, vous avez probablement employé des étiquettes. Ils sont habitués pour associer un objet à des autres afin de déclencher certains événements. Quoi qu'il en soit, les étiquettes sont les variables simplement nommées. Il peut être facile de confondre des noms avec des "String", mais les noms ne sont pas des "String". Un "String" peut être modifiée dynamiquement, mais un nom est simplement une étiquette pour un objet.

 

var name MyName;

 

MyName = 'Windex'; //Assigne une valeur

 

enum = énumération

 

Les énumérations sont simplement une manière de définir un type de variable qui peut être un d'un certain ensemble prédéfini de valeurs. Comme des bools, elles ne sont pas absolument nécessaires, puisque des nombres entiers pourraient être employés pour obtenir le même effet. Cependant, il est plus facile de voir pour comprendre un ensemble de mots descriptifs au lieu d'un groupe de nombres.

 

//Déclare une nouvelle énumération
enum EColor;
{
CO_Red,
CO_Blue,
CO_Green
};

//Déclare variable du type EColor
var EColor MyColor;

//Assign
e une valeur
MyColor = CO_Blue;

 

Notez que l'"Co _" précédant chacune des valeurs de couleur est simplement une convention d'appellation, et n'êtes pas exigé. Vous pouvez appeler votre énumération évalue n'importe quoi que vous voulez.

 

Actor = Référence de l'acteur

 

Les références d'acteur sont un type de variable spécial qui met en référence un objet réel dans le jeu. Il sera difficile de les saisir entièrement en ce moment, mais je vous donnerai les fondations, en tout cas. Plus tard, une fois que j'ai présenté des fonctions, j'entrerai dans plus de détail au sujet d'elles.

//Déclare une référence à actor
var Actor MyActor;

//Déclare une référence à pawn
var Pawn MyPawn;

//Déclare une référence à weapon
var Weapon MyWeapon;

Vous noterez que je n'ai inclus aucun exemple expliquant comment vous assignez une valeur à une référence d'acteur. C'est parce que vous pouvez seulement placer une référence d'acteur égale à une autre référence d'acteur, ou à un acteur nouvellement engendré en utilisant la fonction de Spawn(). Comme je dit, il est difficile expliquer des références d'acteur en ce moment, mais j'entrerai dans plus de détail plus tard, une fois que vous avez appris un peu davantage.

 

class = référence de classe

 

Classez les références, comme des références d'acteur, soyez un type de variable spécial. En outre comme des références d'acteur, il est difficile les expliquer en ce moment. Je ferai de mon mieux, cependant. Une référence de classe, à la différence d'une référence d'acteur, ne met pas en référence un objet réel dans le monde. Elle met en référence une classe elle-même, ou le moule. Elle met en référence la chose qui crée des objets, au lieu des objets eux-mêmes.

 

//Déclare une référence de classe
var class<Actor> MyClass;

//Assigne une valeur
MyClass = Class'Pawn';

Le mot "acteur"  après le mot "classe" dans la déclaration signifie que l'acteur est la limite supérieure de cette variable. Ce qui est le moyen de ce MyClass ne peut pas être placé égal à n'importe quoi plus haut que l'acteur dans l'arbre de classe. Des références de classe sont assignées des valeurs en employant la classe de mot-clé, suivie du nom d'une classe dans des citations simples.

 

struct = structure

 

Une structure est une manière de définir un nouveau type de "superbe-variable" qui se compose de différents composants. Un struct est réellement semblable à une classe, bien qu'une classe très simple qui peut seulement contenir des variables. Structs définissent un nouveau type de variable qui peut être déclaré et employé juste comme n'importe quelle autre variable. Prenez cet exemple:

 

//Defini une nouvelle structure
struct Box
{
var float Length;
var float Width;
var float Height
};

//Déclare a couple variables of type Box
var Box MyBox, YourBox;

//Assigne une valeur individuel au composants
YourBox.Length = 3.5;
YourBox.Width = 5.43;
YourBox.Height = 2.8;

//Place une égal entre MyBox et YourBox
MyBox = YourBox;

 

Le struct définit un nouveau type de variable, appelé la "box", qui a trois secondaire-variables à lui: longueur, largeur, et taille. Une fois que vous définissez une variable du nouveau type, vous pouvez assigner des valeurs à ses différents composants avec la syntaxe "VarName.ComponentName". Un struct très commun dans UnrealScript est le vecteur, qui se compose des composants de X, de Y, et de Z. Les techniques de travailler avec des vecteurs sont quelque peu complexes, et vous pouvez apprendre plus au sujet d'elles dans les vecteurs d'instruction.