• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C::B #SFML tylko 2 sprite!

VPS Starter Arubacloud
0 głosów
286 wizyt
pytanie zadane 8 października 2016 w C i C++ przez Emil Panecki Bywalec (2,100 p.)

Dlaczego mogę dać tylko 2 sprite a potem nie?

Pracuje se w C::B i wszystko ok robię sobie grę do szkoły mam i nagle dodaje 3 sprite i niemożna !!!

#include <SFML/Graphics.hpp>
#include <windows.h>
#inlcude <iostream>


int main()
{
    sf::RenderWindow Win( sf::VideoMode( 640, 480, 32 ), "GalaXy" );

    Sleep(2500);



    sf::Texture tekstura;
    tekstura.loadFromFile( "Statek-X.png" );
    sf::Sprite obrazek;
    obrazek.setTexture( tekstura );


    sf::Texture tlo;
    tlo.loadFromFile( "Space-X.png" );
    sf::Sprite tlo2;
    tlo2.setTexture( tlo );

    sf::Texture Blok;
    Blok.loadFromFile( "Bloczek.png" );
    sf::Sprite Blok2;
    Blok2.setTexture( Blok );


obrazek.setPosition( 220, 350 );

    while( Win.isOpen() )
    {
        sf::Event zdarzenie;
        while( Win.pollEvent( zdarzenie ) )
        {

            if( zdarzenie.type == sf::Event::Closed )
                 Win.close();

            if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::Escape )
                 Win.close();

            if( zdarzenie.type == sf::Event::MouseButtonPressed && zdarzenie.mouseButton.button == sf::Mouse::Middle )
                 Win.close();

            if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::D )
               obrazek.move( 30,0 );

            if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::A )
               obrazek.move( -30,0 );

            if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::S )
               obrazek.move( 0,30 );

            if( zdarzenie.type == sf::Event::KeyPressed && zdarzenie.key.code == sf::Keyboard::W )
               obrazek.move( 0,-30 );



        }
        obrazek.setScale( 0.3, 0.3 );
        Win.draw( obrazek, Blok, tlo2 );
        Win.display();
    }
    return 0;
}

takie info otrzymuje! ( zamiast informacji napisałem nazwa ponieważ nie chce by ktoś widział moje imię i nazwisko)

C:\Users\Nazwa\Documents\Galaxy\main.cpp||In function 'int main()':|
C:\Users\Nazwa\Documents\Galaxy\main.cpp|62|error: no matching function for call to 'sf::RenderWindow::draw(sf::Sprite&, sf::Texture&, sf::Sprite&)'|
C:\Users\Nazwa\Documents\Galaxy\main.cpp|62|note: candidates are:|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|236|note: void sf::RenderTarget::draw(const sf::Drawable&, const sf::RenderStates&)|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|236|note:   candidate expects 2 arguments, 3 provided|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|247|note: void sf::RenderTarget::draw(const sf::Vertex*, std::size_t, sf::PrimitiveType, const sf::RenderStates&)|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|247|note:   no known conversion for argument 1 from 'sf::Sprite' to 'const sf::Vertex*'|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 1 seconds) ===|

 

komentarz 8 października 2016 przez criss Mędrzec (172,590 p.)

> ( zamiast informacji napisałem nazwa ponieważ nie chce by ktoś widział moje imię i nazwisko)
>Emil Panecki
>lost faith in humanity
>kill me plox
>schowac sie pod kocyk i juz nigdy z pod niego nie wychodzic

komentarz 8 października 2016 przez criss Mędrzec (172,590 p.)

Pracuje se w C::B i wszystko ok robię sobie grę do szkoły mam i nagle dodaje 3 sprite i niemożna !!!

 takie info otrzymuje! 

!!!!!!!!!!!!!!!!!!!!!!!!!!

PRZESTAN WSZYSTKO KOŃCZYĆ WYKRZYKNIKAMI !!!!!!!!!!!!!!!!!!!!!! I NAUCZ SIE PISAĆ ZROZUMIALE PO POLSKU !!!!!!!!!!!!!!!!!!!!!

!!! 

komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)
Nie po prostu zrobiłem se tak dla zabawy z tym zamiast nazwy.
komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)

"!" Najczęściej go używam w szkole by ktoś mnie zrozumiał DRĘ RYJA!!!!!! cheeky

1 odpowiedź

0 głosów
odpowiedź 8 października 2016 przez Dash Nałogowiec (29,650 p.)
wybrane 8 października 2016
 
Najlepsza

Window.draw() potrafi wyrenderować tylko jeden obrazek, jest funkcją która przyjmuje jeden argument, więc powinno być tak :

Win.clear(); 
Win.draw(obrazek); 
Win.draw(tlo2);
Win.draw(blok2); 
Win.display(); 

 

 

 

komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)
Tak też niedziała bo tak też prubowałem....
komentarz 8 października 2016 przez Dash Nałogowiec (29,650 p.)
Ten sam error wyskakuje?
komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)
trochę się zmienił.....

C:\Users\Nazwa\Documents\Galaxy\main.cpp||In function 'int main()':|
C:\Users\Nazwa\Documents\Galaxy\main.cpp|64|error: no matching function for call to 'sf::RenderWindow::draw(sf::Texture&)'|
C:\Users\Nazwa\Documents\Galaxy\main.cpp|64|note: candidates are:|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|236|note: void sf::RenderTarget::draw(const sf::Drawable&, const sf::RenderStates&)|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|236|note:   no known conversion for argument 1 from 'sf::Texture' to 'const sf::Drawable&'|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|247|note: void sf::RenderTarget::draw(const sf::Vertex*, std::size_t, sf::PrimitiveType, const sf::RenderStates&)|
..\..\Desktop\SFML-2.3.2\include\SFML\Graphics\RenderTarget.hpp|247|note:   candidate expects 4 arguments, 1 provided|
||=== Build finished: 1 errors, 0 warnings (0 minutes, 1 seconds) ===|
komentarz 8 października 2016 przez criss Mędrzec (172,590 p.)
... Próbujesz narysować teksture. Dlaczego nie zrobisz po prostu tego, co ci napisał Dash?
komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)
Raczej jest lepiej bo mam 1 error zamiast całej litanii.
komentarz 8 października 2016 przez Emil Panecki Bywalec (2,100 p.)
Nareszcie zmieniłem trochę ten kod i działa!!!
komentarz 8 października 2016 przez Dash Nałogowiec (29,650 p.)
Niech zgadnę, próbowałeś zrobić Win.draw(blok) zamiast Win.draw(blok2) (bądź analogicznie z tłem, nie? Wyciągnij nauczkę na przyszłość i następnym razem nazywaj sobie czytelniej zmienne ;).
komentarz 12 października 2016 przez Emil Panecki Bywalec (2,100 p.)
Zgadłeś (a raczej spojrzałeś na kod).

Podobne pytania

0 głosów
1 odpowiedź 173 wizyt
pytanie zadane 3 października 2016 w C i C++ przez Emil Panecki Bywalec (2,100 p.)
–1 głos
1 odpowiedź 143 wizyt
+1 głos
2 odpowiedzi 128 wizyt
pytanie zadane 15 maja 2016 w C i C++ przez niezalogowany

92,453 zapytań

141,262 odpowiedzi

319,087 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...