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

[SFML 2.0, C++] Problem z wczytywaniem obrazka do tekstur.

Ostatnio zmodyfikowano 2013-06-03 21:37
Autor Wiadomość
jaupl
Temat założony przez niniejszego użytkownika
[SFML 2.0, C++] Problem z wczytywaniem obrazka do tekstur.
» 2013-06-02 20:16:23
Witam. Postanowiłem dzisiaj napisać prostą gierkę z obrazkami wygenerowanymi w pivocie (jpg i bmp). No więc wybrałem sfml 2.0 jako stosunkowo bardzo łatwą w obsłudze bibliotekę, zainstalowałem sobie dzisiaj visuala 2010 Express zlinkowałem wszystko jak należy i odświeżyłem nieco swoją wiedzę i zacząłem pisać. skończyłem już podstawy kodu został poprawnie skompilowany ale nie wyświetla on mojego "Ludka" jak należy co chwilowo wstrzymuje moją dalszą pracę nad merytoryczną częścią kodu - Na ekranie zamiast ludka pojawiła się jedynie biała plama ;// Konsola wypluła mi to :
An internal OpenGL call failed in Texture.cpp (146) : GL_INVALID_ENUM, an unacce
ptable value has been specified for an enumerated argument
An internal OpenGL call failed in Texture.cpp (147) : GL_INVALID_ENUM, an unacce
ptable value has been specified for an enumerated argument
An internal OpenGL call failed in Texture.cpp (146) : GL_INVALID_ENUM, an unacce
ptable value has been specified for an enumerated argument
An internal OpenGL call failed in Texture.cpp (147) : GL_INVALID_ENUM, an unacce
ptable value has been specified for an enumerated argument

Z góry dzięki za wszelką pomoc!! ;) Pozdrawiam.
P-84680
Mrovqa
» 2013-06-03 08:43:39
Rozumiem ściągnąłeś odpowiednią wersję SFMLa 2.0, tj. "Visual C++ 10 (2010) - 32 bits", tak?
P-84698
jaupl
Temat założony przez niniejszego użytkownika
» 2013-06-03 16:16:55
Dobrze rozumiesz. ;)
P-84714
MrPoxipol
» 2013-06-03 16:27:28
Jak możesz to pokaż kod.
P-84715
jaupl
Temat założony przez niniejszego użytkownika
» 2013-06-03 20:34:06
Proszę bardzo:

-Main.cpp
C/C++
//**!! Język polski dopuszczam jedynie w komętarzach !!**//
#include "Zaplecze.hpp"
Texture xmage;

int main()
{
    xmage.loadFromFile( "C:\\Users\\Dominik\\Documents\\game sources\\stand.jpg" );
    /***Ustawienia okna***/
    RenderWindow Window( VideoMode( 1400, 900, 32 ), "The Game" );
   
    character player1( xmage, 700, 450 );
   
    while( Window.isOpen() )
    {
        /***Tu obsługa zdarzeń !!***/
       
        Event event;
        while( Window.pollEvent( event ) )
        {
            if( event.type == Event::Closed )
                 Window.close();
           
            if( event.type == Event::KeyPressed && event.key.code == Keyboard::Escape )
                 Window.close();
           
        }
       
        // OBSŁUGA KLAWIATURY:
       
        if( Keyboard::isKeyPressed( Keyboard::W ) )
             player1.jump();
       
        if( Keyboard::isKeyPressed( Keyboard::S ) )
             player1.crouch();
       
        if( Keyboard::isKeyPressed( Keyboard::A ) )
             player1.movement( 0, 0 );
       
        if( Keyboard::isKeyPressed( Keyboard::D ) )
             player1.movement( 0, 1 );
       
        if( Keyboard::isKeyPressed( Keyboard::A ) && Keyboard::isKeyPressed( Keyboard::BackSpace ) )
             player1.movement( 1, 0 );
       
        if( Keyboard::isKeyPressed( Keyboard::D ) && Keyboard::isKeyPressed( Keyboard::BackSpace ) )
             player1.movement( 1, 1 );
       
        if( Keyboard::isKeyPressed( Keyboard::H ) )
             player1.attack( 1, 1, 1, 1 );
       
        if( Keyboard::isKeyPressed( Keyboard::K ) )
             player1.defense();
       
        Window.clear( Color( 0, 255, 0, 0 ) ); //Czyszczenie okna
       
        /***Tu rysować***/
        Window.draw( player1.xprite );
        Window.display(); //Wyswietlanie elementow
    }
    return 0;
}

-zaplecze.hpp

C/C++
//**!! Język polski dopuszczam jedynie w komętarzach !!**//
#include <SFML/Graphics.hpp>
//#include <string>//***********************
using namespace sf;
class character
{
public:
   
    int id;
    int posx;
    int posy;
    int hp;
    int mp;
    //std::string name;//****
    int player;
    Sprite xprite;
   
    character( Texture picture, int poz1, int poz2 )
    {
        xprite.setTexture( picture );
        xprite.setPosition( poz1, poz2 );
        xprite.setOrigin( 253, 212 );
    }
   
    void movement( int speed, bool direction )
    {
        if( direction == true )
        { if( speed == 1 )
                 xprite.move( 5, 0 );
           
            if( speed == 0 )
            xprite.move( 2.5, 0 ); }
       
        if( direction == false )
        { if( speed == 1 )
                 xprite.move( - 5, 0 );
           
            if( speed == 0 )
                 xprite.move( - 2.5, 0 ); }
       
       
       
       
    }
    void jump()
    { }
    void crouch()
    { }
    void attack( int RangeX, int RangeY, int Damage /**obrazek**/, int nr )
    { }
    void defense()
    { }
};

Dodam tylko że kod ma być stopniowo rozbudowany i prawdopodobnie nie będę go tworzył sam(stąd np. komentarze odnośnie języka). Chwilowo chciałem stworzyć jedynie jakąś podstawkę przed zaczęciem właściwej części prac. Od czegoś trzeba zacząć ;)
P-84769
Mrovqa
» 2013-06-03 21:00:48
An internal OpenGL call failed in Texture.cpp (146) : GL_INVALID_ENUM, an unacce
ptable value has been specified for an enumerated argument
To jest błąd wewnętrzny biblioteki. Sprawdzałeś na innym komputerze czy działa? Patrzyłeś na oficjalnym repozytorium, czy nie ma przypadkiem jakiegoś zgłoszenia? Na tym forum jest małe prawdopodobieństwo, iż ktoś pomoże Ci z tym błędem (wewnętrznym). Radzę Ci założyć wątek na oficjalnym forum biblioteki i później dla potomnych wrzucić tutaj linka do owego wątku.
P-84774
maly
» 2013-06-03 21:20:14
Odnośnie białego obrazka to do konstruktora klasy character teksturę przekazuj przez referencje.
P-84775
jaupl
Temat założony przez niniejszego użytkownika
» 2013-06-03 21:37:51
Dzięki Mały :) oczywiście pomogło ("Ludek" się wyświetla). Co do pozostałych błędów(Tych które wypluwa konsola)to sprawa będzie faktycznie cięższa ale przynajmniej jak na razie będę mógł kontynuować pracę ;) Jak dojdę do tego co jest na rzeczy oczywiście wrzucę tu rozwiązanie. Jeszcze raz dzięki za pomoc !! ;) pozdrawiam.
P-84776
« 1 »
  Strona 1 z 1