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

[c++] Problem z funkcjami

Ostatnio zmodyfikowano 2013-08-02 09:45
Autor Wiadomość
megatron
Temat założony przez niniejszego użytkownika
[c++] Problem z funkcjami
» 2013-08-01 22:13:46
Witam serdecznie.
Mam mały problem...
Mam dwie klasy oraz wiele funkcji. I teraz gdy chcę umieścić wywołanie jednej funkcji w drugiej w dodatku z innej klasy to wszystko się pięknie kompiluje ale program po uruchomieniu przestaje odpowiadać.
A wygląda to w ten sposób:
C/C++
void Game::RunGame()
{
    ///
   
    Character start_character;
    start_character.ViewCharacter(); /// wywolanie funkcji
   
    ///
    while( device->run() )
    {
        ///
    }
}

W wyłowywanej funkcji jest postać, która ma się wyświetlić.
Nie mam pojęcia co to może być, prosił bym o powiedzenie mi co robię źle.
Z góry dziękuję za pomoc i pozdrawiam.
P-89243
domin568
» 2013-08-02 09:07:36
A czy klasa Character dziedziczy po klasie Game ? // setny post xd
P-89258
megatron
Temat założony przez niniejszego użytkownika
» 2013-08-02 09:10:41
klasa Character nie dziedziczy po klasie Game...
Gratuluję jubileuszu :D
P-89259
RazzorFlame
» 2013-08-02 09:27:20
Jak mi wiadomo, wyświetla się to przy metodzie drawAll tak? Metoda "ViewCharacter" powinna sie inaczej nazywać, konstruktor klasy Character powinien ustawiać początkowe zmienne klasy IAnimatedMeshSceneNode* i IAnimatedMesh*. Wypadałoby też zrobić konstruktor coś w tym stylu:
C/C++
Character::Character( ISceneManager * smgr, IVideoManager * driver, std::string objfname, std::string texturefname )
{
    //w klasie jako składnik powinien znajdować się obiekt typu "IAnimatedMeshSceneNode*" oraz "IAnimatedMesh*":
    m_Mesh = smgr->getMesh( objfname );
    if( !m_Mesh )
    {
        cout << "Nie mozna wczytac mesha!" << endl;
    }
    m_Node = smgr->addAnimatedMeshSceneNode( mesh );
    //dalej już sam wymyśl co zrobić z m_Node
   
}
I pamiętaj, w funkcji nie twórz takich zmiennych (zależy jaka to funkcja). Jak widzisz "smgr" i "driver" to wskaźniki. Całą funkcje ViewCharacter wywal bądź zamien na cos w stylu "setupCharacter(<tutaj te zmienne co w konstruktorze>)". ISceneManager i IVideoManager są dobrze zaplanowane i pomyślane tak byś nie musiał sam wyświetlać. Jak widzisz funkcja addAnimatedSceneNode dodaje do ISceneManager pointer do IAnimatedMesh by ten menadżer mógł wyświetlić go samodzielnie przy wywołaniu "drawAll".
P-89261
megatron
Temat założony przez niniejszego użytkownika
» 2013-08-02 09:45:21
Ok...
jest gites :D
dzięki paweł
P-89262
« 1 »
  Strona 1 z 1