Noooo, wtedy w klasie Creatures będziesz miał obiekt, jak będziesz miał obiekt to będziesz mógł wywołać jego metodę, a czy to nie jest rozwiązanie problemu?
Wersja do druku
Noooo, wtedy w klasie Creatures będziesz miał obiekt, jak będziesz miał obiekt to będziesz mógł wywołać jego metodę, a czy to nie jest rozwiązanie problemu?
#UP wielkie dzięki xd wyrzuciłem klasę hp bara poza obecną klasę, wrzuciłem w klasie creatures
+ w funkcji spawnujacejKod:public HealthBar zycie;
a następnie w funkcji healthKod:zycie = new HealthBar (s_Object);
zycie.Create ();
//te arkam to tak 4test :DKod:public int Health
{
get
{
return health;
}
set
{
this.health = value;
zycie.arkam();
}
}
Ja polecam zeby ta Twoja funkcja spawn była konstruktorem, poczytaj w necie czym jest konstruktor.
@Kusterek ; wiem czym jest konstruktor tylko w klasie Creature tymczasowo wrzuciłem to jako void bo ogarniałem jeszcze kilka innych rzeczy i jeszcze nie jestem do końca pewien co gdzie najlepiej mi wetknąć :D ale dzięki za pomoc jeszcze raz.
To zadawaj dużo pytań a najlepiej wchodź na naszego IRCa (najwiecej osob w godz 9-17), bo pisząc zdupy możesz sobie narobic złych nawyków i w przyszlości mieć problemy
do seta sobie sprawdzanie dodaj xd
Kod:private int _health;
public int Health
{
get
{
return _health;
}
set
{
if(_health != value)
{
_health = value;
zycie.arkam();
}
}
}
Jeszcze takie pytanie mam :D czy to co opisze niżej jest dobrym sposobem czy lepiej jak zrobię to jakoś inaczej?
Stworzyłem klasę Creatures, ma ona metodę:
Podległe klasie Creatures mam m.in dwie inne klasy tj. Player oraz MonsterKod:public virtual void FillStatistics()
{
Debug.Log("ERROR: Fill the statistics of " + this.name); // tu bedzie critic error pozniej
}
I tutaj moje pytanie, czy wypełnianie statystyk w taki sposób:
Jest dobrym pomysłem? tj. dane te będą pobierane z pliku zapisu ale jest to przykładowe wypełnienie. Czy powinienem użyć jeszcze czegoś innego żeby to lepiej zapisać? :D z góry dzięki.Kod:
public override void FillStatistics()
{
this.Mana = 200;
this.SpecialAttackPoints = 0;
this.Sila = 1;
this.Magic = 1;
this.Agility = 1;
this.Defense = 1;
this.Position = new Vector3 (0, -1, 0);
this.Outfit = 1;
}
//Uprzedzam od razu, że wcześniej miałem wszystko w konstruktorach ale było trochę mało czytelne więc postawiłem na metody.
//W konstruktorach zostawiłem tylko nick i startowe hp
Nie widzę w tym problemu żeby tak zrobić,
wywołanie tej metody będzie w konstruktorze?
@Mickey Mouse ;
Jaki sens (poza tym że wziales kawałek kodu z jednego miejsca, i zrobiles z tego metode) ma ta metoda? Rownie dobrze mogloby to byc 10 metod, ktore robia 1 z tych rzeczy. Przenies to spowrotem do konstruktora (czesc do konstruktora base), bo to jest miejsce inicjalizowania obiektu. Pozatym, to co zrobiles to two-steps initialization (http://stackoverflow.com/q/29209922/4200455).
Trochę źle się wyraziłem :D w sumie racja niepotrzebnie to wyciągnąłem poza konstruktor. Obecnie wrzuciłem tyle ile mogłem do konstruktorów tj np.
Kod:public Player(string Name)
{
this.Mana = 200;
this.SpecialAttackPoints = 0;
this.Sila = 1;
this.Magic = 1;
this.Agility = 1;
this.Defense = 1;
this.Position = new Vector3(0, -1, 0);
this.Outfit = 1;
}
Tutaj przynajmniej narazie zakończe temat klas itd. Zaraz siadam nad napisaniem obsługi plików xml w tym to sobie ułatwię późniejsze aktualizacje.Kod:public Creature()
{
this.maxHealth = 155;
this.health = this.MaxHealth;
}
//Moglibyście mi doradzić czego powinienem się teraz uczyć? o klasach, polimorfizmie itd. obejrzałem już masę tutoriali i została mi chyba tylko praktyka.
Praktyka, a w miedzyczasie wzorce projektowe.
a tak z Waszego doświadczenia, opłaca się kupować jakiekolwiek książki z C#? jeżeli tak to dajcie jakieś ciekawe tytuły, bo z C++ kupowałem kilka i tylko 1 była ogarnięta dość dobrze.
ok to przynajmniej na teraz do końca miesiąca pomęczę jeszcze te klasy w każdym wariancie i spróbuje ogarnąć jakieś tutoriale z tymi wzorcami projektowymi. Widziałem są jakieś video-tutki dla javy ale z tego co wyczytałem wzorce są niezależne od języka programowania a java tak czy tak jest bardzo podobna do C# to zawsze się czegoś naumiem :D
@Wonsz Zabujca ;
Dlaczego "lepiej ucz sie z neta" ? Jakies argumenty za tym?
@Mickey Mouse ;
Oczywiscie, ze sie oplaca. Zakladajac, ze ksiazka to koszt 100zl, a swoja prace wycenisz na 25zl/h, to praca 4h zwroci Ci ksiazke. Anyway.. przetestowalem kilka sposob 'nauki' programowania, i w moim wypadku, najbardziej sprawdza sie ksiazka + praktyka - tj., czytam rozdzial (lub subrozdział), i na podstawie zdoybtej wiedzy cos kodze. W prakryce wyglada to tak, ze 2 dni czytam - 1 dzien kodze. A pozatym, zapraszamy na IRCa.