Jau žinome, kad norint sukurti kintamąjį rašome žodelį new, bet yra ne tik jis ir visi jie skiriasi savo galimybėmis. Plačiau apie kiekvieną:
new - pagrindinis, naudojamas sukurti kintamiesiems. Jis sukuria kintamąjį atmintyje ir pasibaigus funkcijai arba sąlygai jis ištrinamas iš atminties.
new leidžia kurti kiek nori kintamųjų, iš karto, atskiriant juos kableliu. Taip pat iš karto galima ir priskirti reikšmes.
Code: Select all
new health, armor, gravity, times = 2, maxspeed
static naudojamas funkcijose, kurios yra iškviečiamos labai dažnai, pvz tokiose kaip client_PreThink, server_frame ir kitose. Šios funkcijos iškviečiamos mažiausiai 100 kartų per sekundę, dėl to kintamojo kūrimas ir trynimas atimtų bereikalingų resursų. Tam yra static kintamasis, kuris sukuriamas ir visada lieka priklausantis tai funkcijai, kurioje jis buvo sukurtas. Pvz:
Code: Select all
public server_frame(id) {static masyvas[1000]// darom kažką su masyvu}
Kodėl static nenaudojamas visur? Jei jis toks geras, tikriausiai kilo toks klausimas. Dėl to, kad funkcijose, kurios iškviečiamos retai, tarkim 5 kartus per visą programos vykdymo metą, tai mes bereikalingai užkrausime atmintį, nes įvykdžius funkciją, kintamasis iš atminties nedings ir užims atmintį. Tad pagal idėją, static naudojamas tik tose vietose, kur iškvietimų skaičius per sekundę yra labai didelis.
Svarbu! static kintamuosius taip pat galima kurti daug, per kablelį, bet jų reikšmės nustatyti iš karto, kaip su new kintamaisiais nepavyks, jei priskirsime reikšmę tiesiai iš funkcijos. T.y.:
Code: Select all
static kintamasis = funckija(), skaicius
Teisingas būtų taip:
Code: Select all
static kintamasis , skaicius = 5 // Paprastus skaičius priskirti aprašyme galime.kintamasis = funckija()
Code: Select all
const array_dydis = 5new array[array_dydis]
enum - tai jau kiek sudėtingesnis. Jis skirtas kurti kintamųjų grupėms:
Code: Select all
enum {kintamasis1 = 0,kintamasis2,kintamasis3,kintamasis4}
Code: Select all
enum (+= 100) { // Dar nesimokėte gal, bet += reiškia, kad prie esamos reikšmės pridedama kita reikšmėkintamasis1 = 245,kintamasis2,kintamasis3,kintamasis4}
Masyvai (arrays):
Masyvas tai yra toks kintamasis, kuriame gali būti daug reikšmių. Kiek daug mes nustatome. Tai tarsi duomenų saugykla. Kiekvienoje lentelėje galima nustatyti tam tikrus duomenis, o kiekvienas lentelės eilutės numeris turi savo skaičių. Štai kaip jie veikia:
Code: Select all
new array[5]
Svarbu!. Kuriant masyvą skliausteliuose nurodome jo dydį (konstantą). Masyvo lentelių numeriai pradedami skaičiuoti nuo 0, ne vieno, tad paskutinės lentelės numeris bus 4. Parašius 5 bus rodoma klaida, nes 5 tai yra jau tolimesnė lentelės eilutė negu mes nustatėme eilučių skaičių. Tad mūsų kintamasis turi tokias eilutes - 0, 1, 2, 3, 4. Tarkime norime nustatyti porą reikšmių:
Code: Select all
array[1] = 6array[3] = 2
Tad dabar jei padarytume taip:0. | 0 |
1. | 6 |
2. | 0 |
3. | 2 |
4. | 0 |
Code: Select all
new kintamasiskintamasis = array[1]
Galima kurti ir didesnius masyvus, kurie susidaro, ne tik iš eilučių, bet ir stulpelių. Jei darome taip:
Code: Select all
new array[2][5]array[0][0] = 5array[1][3] = 7array[0][2] = 2
![Image](http://img163.imageshack.us/img163/8173/kodas1.png)
Galima kurti ir dar didesnius masyvus. Tada jau bus ir keletą lentelių. Tikslesnis masyvo pavyzdys būtų toks:
![Image](http://img839.imageshack.us/img839/9929/kodas2.png)
Tad masyvai naudojami labai dažnai ir paprastai be jų sunkiai apsieinama.
Kintamųjų tipai:
Liko vienas dalykas, tai kintamųjų tipai. Kintamieji gali būti 4 tipų:
Paprastas kintamasis, skirtas laikyti sveikiesiems skaičiams:
Code: Select all
new kintamasis = 16
Code: Select all
new Float:kintamasis = 1.1272
Code: Select all
new Bool:kintamasiskintamasis = true
Code: Select all
new string[] = "Kazkoks tekstas"
Šis gidas priklauso Amxmodx.lt forumui.
Bet koks šios informacijos platinimas be autoriaus sutikimo yra griežtai draudžiamas.