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

(irrlicht) Problem z klawiszami

Ostatnio zmodyfikowano 2010-03-31 23:43
Autor Wiadomość
Gronek8624
Temat założony przez niniejszego użytkownika
(irrlicht) Problem z klawiszami
» 2010-03-29 22:43:15
Witam
Mam problem polegający na tym że gdy komplikuje to wychodzą mi błędy z "Klawisze aktywne;" i inne które się pojawiły gdy dodałem kod źródłowy z III. Klawiszologia
Jak by co to mam wersje 1.3 irrlicha.
C/C++
#include <irrlicht.h>

using namespace irr;
using namespace core;
using namespace scene;
using namespace video;

// Tworzymy klase
class Klawisze
    : public IEventReceiver
{
public:
    virtual bool OnEvent( const SEvent & event )
    {
        //  Zapamiętuje położenie klawisza (klucza) (góra/dół)
        if( event.EventType == irr::EET_KEY_INPUT_EVENT )
             KeyIsDown[ event.KeyInput.Key ] = event.KeyInput.PressedDown;
       
        return false;
    }
    // Sprawdza czy klawisz (klucz) został użyty
    virtual bool IsKeyDown( EKEY_CODE keyCode ) const
    {
        return KeyIsDown[ keyCode ];
    }
    Klawisze()
    {
        for( u32 i = 0; i < KEY_KEY_CODES_COUNT; ++i )
             KeyIsDown[ i ] = false;
       
    }
   
private:
    // Używamy by zgromadzić aktualny stan każdego klawisza (klucza)
    bool KeyIsDown[ KEY_KEY_CODES_COUNT ];
};


int main()

{
    // Tworzymy urządzenie
    Klawisze aktywne;
   
    IrrlichtDevice * device = createDevice( EDT_OPENGL, core::dimension2d < s32 >( 640, 480 ),
    32, false, false, false, & aktywne );
   
    video::IVideoDriver * video = device->getVideoDriver();
    scene::ISceneManager * menage = device->getSceneManager();
    scene::ICameraSceneNode * kam = menage->addCameraSceneNodeFPS();
    device->getCursorControl()->setVisible( false );
    kam->setPosition( core::vector3df( 0, 0, - 100 ) );
   
    //Wczytywanie modelu
    IAnimatedMesh * pudlo = menage->getMesh( "media/mesh/pudlo.md2" );
    IAnimatedMeshSceneNode * pud = menage->addAnimatedMeshSceneNode( pudlo );
    pud->setScale( core::vector3df( - 300, - 300, - 300 ) );
   
    pud->setPosition( core::vector3df( 0, 0, 900 ) );
    pud->setMaterialFlag( video::EMF_LIGHTING, false );
    pud->setMaterialTexture( 0, video->getTexture( "media/img/pudlo.png" ) );
   
    while( device->run() )
   
    {
       
        //Poruszanie do przodu i do tyłu
        if( aktywne.IsKeyDown( irr::KEY_KEY_W ) )
        {
            core::vector3df v = pud->getPosition();
            v.Z += 0.1f;
            pud->setPosition( v );
        }
        else if( aktywne.IsKeyDown( irr::KEY_KEY_S ) )
        {
            core::vector3df v = pud->getPosition();
            v.Z -= 0.1f;
            pud->setPosition( v );
        }
        //Powiększanie obiektu
        else if( aktywne.IsKeyDown( irr::KEY_F2 ) )
        {
            core::vector3df v = pud->getScale();
            v.X -= 0.01f;
            v.Y -= 0.01f;
            v.Z -= 0.01f;
            pud->setScale( v );
        }
        //Obracanie obiektu
        else if( aktywne.IsKeyDown( irr::KEY_F1 ) )
        {
            core::vector3df v = pud->getRotation();
            v.Y += 0.04f;
            pud->setRotation( v );
        }
        else if( aktywne.IsKeyDown( irr::KEY_ESCAPE ) )
        {
            device->drop();
            return 0;
        }
        video->beginScene( true, true, video::SColor( 255, 0, 10, 200 ) );
        menage->drawAll();
        video->endScene();
    }
}
P-15598
malan
» 2010-03-29 23:41:17
Jaki to błąd?
P-15603
DejaVu
» 2010-03-30 03:10:24
Komplikacja = nieoczekiwany problem
Kompilacja = tworzenie programu/biblioteki ze źródeł
Kompilacja != Komplikacja
P-15607
Elaine
» 2010-03-30 08:07:40
Biorąc pod uwagę to, co podczas tego procesu się dzieje, nazywanie kompilacji komplikacją nawet ma sens...
P-15609
Gronek8624
Temat założony przez niniejszego użytkownika
» 2010-03-30 08:22:48
<< delete >>
P-15610
DejaVu
» 2010-03-30 11:56:56
A tak nawiązując do Twojego błędu to być może on wynika z tego, że masz inną wersję Irrlicht'a zainstalowaną lub nie zlinkowałeś biblioteki. Wersja Irrlicht'a, która była użyta w przykładach w kursie znajduje się na repozytorium.
P-15611
Gronek8624
Temat założony przez niniejszego użytkownika
» 2010-03-30 14:59:34
no chetnie bym se załadował nowszą wersje ale gdy istaluje 1.4.1 to wogule mi znika
jedynie w packmanie pisze ze mam wersje 1.4.1 :(
Jak mam zainstalować nowszą wersje

P-15616
malan
» 2010-03-30 23:01:53
Pobrać i rozpakować...
P-15630
« 1 » 2
  Strona 1 z 2 Następna strona