|
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;
//Assigne
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. |