Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

obiekty klas jako argumenty

Ostatnio zmodyfikowano 2013-07-05 10:42
Autor Wiadomość
Mr.J
Temat założony przez niniejszego użytkownika
obiekty klas jako argumenty
» 2013-07-05 09:59:11
Witam,

Zastanawiam sie czy przypadkiem czegos nie myle, bo program sie kompiluje, ale pewne rzeczy nie dzialaja tak jak powinny.
Mam taka funkcje:

C/C++
void set_OBJ( object obj1, OBJ obj2 )
{
    obj2.set_occupied( true );
    obj2.set_ID( obj1.get_ID() );
    obj2.set_walls( obj1.get_walls() );
    obj2.set_texture_box( obj1.get_texture_box().x, obj1.get_texture_box().y, obj1.get_texture_box().w, obj1.get_texture_box().h );
}

gdzie object obj1 to jakis tam obiekt ktory ustawiam podczas pisania kodu, OBJ obj2 to "slot" ktory przyjmuje postac tego obiektu,
 a funkcja jak widac ma wykonywac ta czynnosc

w innej czesci kodu uruchamiam funkcje w ten sposob:
C/C++
set_OBJ( tree1, objSlot[ 5 ][ 5 ] );

jak widac powyzej ow "slot" nalezy do tablicy, objSlot[5][5] wyswietla sie na ekranie jako odpowiedni obiekt, ale bez id, nie zabiera miejsca na mapie gry, a tekstury sa w nieodpowiednim miejscu wiec wydaje mi sie ze cos jest nie tak w tej funkcji.

Pozdrawiam i z gory dziekuje za pomoc. 

Zapomnialem zadac najwazniejsze pytanie... czy argumenty funkcji moge zadeklarowac jako obiekty klas? Czy w przypadku kiedy argument ma przyjmowac
dane od obiektu ktory jest czescia tablicy nie powinienem przypadkiem w jakis sposob uzyc wskaznikow? 
P-87026
Mr.J
Temat założony przez niniejszego użytkownika
» 2013-07-05 10:42:09
Poradzilem sobie,

...za dlugo juz nad tym siedze i popelniam bardzo glupie bledy.
Dlatego sam sobie odpowiadam, mozna w ten sposob deklarowac typy argumentow.

Kod powinien wygladac tak:
C/C++
void set_OBJ( object obj1, int i, int j )
{
    objSlot[ i ][ j ].set_occupied( true );
    objSlot[ i ][ j ].set_ID( obj1.get_ID() );
    objSlot[ i ][ j ].set_walls( obj1.get_walls() );
    objSlot[ i ][ j ].set_texture_box( obj1.get_texture_box().x, obj1.get_texture_box().y, obj1.get_texture_box().w, obj1.get_texture_box().h );
}
P-87028
« 1 »
  Strona 1 z 1