Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
GTAONLINE.PL
Tematy otagowane jako: selfy
1. selfy dlaczego źle używasz
Siema przyszed?em wyja?ni? na czym polegaj? "selfy" w lua bo z tego co widze to du?o os?b u?ywa ich bez kompletnej wiedzy do czego s?u??.

Wi?c mo?e zaczne od wyja?nienia, co to jest self i sk?d sie wzi??. Selfy s?u?? do obiektowego programowania w klasach w j?zykach typu python itd. Przyk?ad u?ycia selfa w pythonie:

[code]class klasy_dla_debili:
wiek = 21

def sprawdzWiek(self)
return self.wiek

def __init__(self, w):
self.wiek = w

moja_postac = klasy_dla_debili(12)
print(moja_postac.sprawdzWiek())[/code]

Teraz tak, dlaczego nie powiniene? u?ywa? self?w, a napewno nie w taki spos?b (XD)

[lua]self={};
bw.structure=function()
self.tick=getTickCount();
self.time=60; --in seconds
self.rot=0;
self.font=dx:getFont("rbt-l", 11);
end;[/lua]

Og?lnie ten kod nie ma totalnie sensu, selfa u?ywamy wtedy kiedy chcemy zrobi? kilka/kilkana?cie takich samych element?w tylko z innymi danymi, najlepiej jest to zast?pi? createElement, lecz je?eli jeste? bardzo uparty to mo?esz u?y? w selfa w ten spos?b (wymagana biblioteka https://github.com/Yonaba/Lua-Class-System):

[lua]Przycisk = class({name = "Przycisk"}) -- definicja klasy

function Przycisk:init(x, y, w, h) -- konstruktor przycisku, co sie ustawi po wywy?aniu Przycisk(...)
self.x = x
self.y = y
self.w = w
self.h = h
end

function Przycisk:setPosition(x, y) -- funkcja do zmiany pozycji
self.x = x
s...