<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem sfml-2-0</title>
<link>https://forum.pasja-informatyki.pl/tag/sfml-2-0</link>
<description>Powered by Question2Answer</description>
<item>
<title>SFML - Błąd ze znalezieniem pliku</title>
<link>https://forum.pasja-informatyki.pl/595039/sfml-blad-ze-znalezieniem-pliku</link>
<description>Cześć, skonfigurowałem Microsoft Visual Studio pod język SFML i wyświetla się błąd iż nie znaleziono pliku sfml-graphics-d-2.dll. Przenosiłem już ten plik do folderu z programem w rozszerzeniu .exe , lecz wtedy wyświetlał się komunikat Program nie został odpowiednio uruchomiony 0xc000007b. Czy jest w stanie &amp;nbsp;ktoś pomóc z tym problemem, gdyż siedzę nad tym już kilka godzin i nie mogę znaleźć rozwiązania.</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/595039/sfml-blad-ze-znalezieniem-pliku</guid>
<pubDate>Fri, 28 Jun 2024 16:25:34 +0000</pubDate>
</item>
<item>
<title>SFML rysowanie kwadratu poprzez klase</title>
<link>https://forum.pasja-informatyki.pl/554422/sfml-rysowanie-kwadratu-poprzez-klase</link>
<description>

&lt;p&gt;Witam,&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Próbuje zapoznać się z bilbioteką SFML testuje różne rozwiązania i przyszedł czas na klasę i tuta mam problem.
&lt;br&gt;
Mianowicie nie wiem jak wywołać rysowanie kwadratu z klasy nie wiem gdzie popełniłem błąd jeśli ktoś mógłby rzucić okiem na mój kod. Szukałem rozwiązań w necie nie wszystkie/wszystko rozumiem stąd też moja decyzja o stworzeniu tego tematu.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Main program :&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt; // blilbio graficzna
#include &amp;lt;SFML/System.hpp&amp;gt;
#include &amp;lt;SFML/Window.hpp&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &quot;obiekt.h&quot;


const int W=800;
const int S=600;
const int a=40;
const int z=10;

void przesun (float PX, float PY, sf::RectangleShape &amp;amp;obiektdo)
{
        obiektdo.move (PX, PY);
        if (obiektdo.getPosition().x&amp;gt;W)
        {
            obiektdo.setPosition(0,S/2-(a/2));
        }
}


int main()
{
    //Rysowanie okna aplikacji
    sf::RenderWindow oknoAplikacji;
    oknoAplikacji.create( sf::VideoMode( W, S, 32 ), &quot;Wielki projekt a&quot; );

    //Klasa rysujaca kwadrat
    Kwadrata kwa;
    // kwa.kwad();

    // Obrazek
    sf::Texture tekstura;
    tekstura.loadFromFile( &quot;obrazek.bmp&quot; );
    sf::Sprite obrazek;
    obrazek.setTexture( tekstura );
    obrazek.setScale( 1.0, 1.0 );
    obrazek.setOrigin( 20, 20 );
    obrazek.setPosition( 280, 80 );

    // Kwadrat
    sf::RectangleShape kwadrat(sf::Vector2f(a,a));
    kwadrat.setOrigin(kwadrat.getGlobalBounds().width/2,kwadrat.getGlobalBounds().height/2);
    kwadrat.setFillColor(sf::Color::Green);
    kwadrat.setPosition(400,300);

    // Tekst
    sf::Font font;
    font.loadFromFile( &quot;arial.ttf&quot; );
    sf::Text text;
    text.setFont(font);
    text.setString(&quot;Zloto :&quot;);
    text.setCharacterSize(24);
    text.setColor(sf::Color::Black);
    text.setPosition( 25, 25 );

    while (oknoAplikacji.isOpen())
    {
            przesun(0.01,0, kwadrat);

        if( sf::Keyboard::isKeyPressed( sf::Keyboard::J ) )
        {
            kwadrat.move (0.01*z, 0);
        }

        if( sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) )
        {
            obrazek.move( 1, 0 );
            //obrazek.setScale(1.2, 1.2);
        }
        if( sf::Keyboard::isKeyPressed( sf::Keyboard::Left ) )
        {
            obrazek.move( -1, 0 );
            //obrazek.setScale(0.8, 0.8);
        }
        if( sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) )
        {
            obrazek.move( 0, -1 );
            //obrazek.scale(0.9,0.9);
        }
        if( sf::Keyboard::isKeyPressed( sf::Keyboard::Down ) )
        {
            obrazek.move( 0, 1 );
        }
        if( sf::Keyboard::isKeyPressed( sf::Keyboard::K ) )
        {
            obrazek.rotate( 0.45 ); // Rotacja
            if( sf::Keyboard::isKeyPressed( sf::Keyboard::L ) )
            {
                obrazek.rotate( 0.45*50 );
            }

        }

        sf::Event zdarzenie;
        while( oknoAplikacji.pollEvent( zdarzenie ) )
        {
            if( zdarzenie.type == sf::Event::Closed )
                {
                    oknoAplikacji.close();
                }
            if( zdarzenie.type == sf::Event::KeyPressed &amp;amp;&amp;amp; zdarzenie.key.code == sf::Keyboard::Escape )
                {
                    oknoAplikacji.close();
                }
            if( zdarzenie.type == sf::Event::MouseButtonPressed &amp;amp;&amp;amp; zdarzenie.mouseButton.button == sf::Mouse::Middle )
                {
                    oknoAplikacji.close();
                }
        }

        oknoAplikacji.clear( sf::Color( 255, 0, 0 ) );
        oknoAplikacji.draw(obrazek);
        oknoAplikacji.draw(text);
        oknoAplikacji.draw(kwadrat);
        oknoAplikacji.draw(kwa); // &amp;lt;- tu mam problem

        oknoAplikacji.display();
    }

    return 0;
}&lt;/pre&gt;



&lt;p&gt;Klasa&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt; // blilbio graficzna
#include &quot;obiekt.h&quot;


    kwad(sf::RectangleShape &amp;amp;elo)
    {
            sf::RectangleShape elo(sf::Vector2f(40,40));
            elo.setOrigin(elo.getGlobalBounds().width/2,elo.getGlobalBounds().height/2);
            elo.setFillColor(sf::Color::Black);
            elo.setPosition(200,200);
    }
&lt;/pre&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt; // blilbio graficzna

class Kwadrata
{

public:
    kwad();
};

&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Z góry dziękuje.&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554422/sfml-rysowanie-kwadratu-poprzez-klase</guid>
<pubDate>Sun, 07 Nov 2021 20:03:15 +0000</pubDate>
</item>
<item>
<title>Nie poprawne wyświetlanie tekstury podczas animacji - SFML.</title>
<link>https://forum.pasja-informatyki.pl/550444/nie-poprawne-wyswietlanie-tekstury-podczas-animacji-sfml</link>
<description>

&lt;p&gt;Witam, stworzyłem klasę, która odpowiada za animację postaci. Teraz próbuję zaimplementować to, że postać będzie zmieniać kierunek tekstury w zależności, w którą stronę idzie. Postać się ładuje, kiedy wciskam przycisk D wszystko działa ok, ale&amp;nbsp; w momencie naciśnięcie przycisku A tekstura się nie zmienia i dodatkowo cały czas miga(pojawia się i znika). Robiłem wszystko na wzór&amp;nbsp;&lt;a href=&quot;https://www.youtube.com/watch?v=kAZVbPF6N4Q&amp;amp;t=207s&amp;amp;ab_channel=HilzeVonck&quot; rel=&quot;nofollow&quot;&gt;tego poradnika&lt;/a&gt; do animacji w SFML dostosowując kod pod moją własną klasę. Dlaczego ta tekstura się psuję ?&lt;/p&gt;



&lt;p&gt;main.cpp&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;

#include &amp;lt;SFML/Graphics.hpp&amp;gt;

#include &quot;Animation.h&quot;

int main()
{
    sf::RenderWindow window(sf::VideoMode(1280, 720), &quot;Animations&quot;);
    window.setVerticalSyncEnabled(true);

    sf::Texture playerTexture;
    if (!playerTexture.loadFromFile(&quot;Ninja.png&quot;));
    sf::Sprite player;
    player.setTexture(playerTexture);

    Animation myAnimation(&amp;amp;playerTexture, sf::Vector2u(0, 0), sf::Vector2u(10, 7), 130.0f);
    player.setTextureRect(myAnimation.textureRect);

    sf::Clock deltaClock;
    sf::Clock animationClock;

    while (window.isOpen())
    {
        float deltaTime = deltaClock.restart().asMilliseconds();

        sf::Event event;
        while (window.pollEvent(event))
        {
            switch (event.type)
            {
            case sf::Event::Closed:
                window.close();
                break;
            case sf::Event::KeyPressed:
                if (event.key.code == sf::Keyboard::Escape)
                    window.close();
                break;
            }
        }
     

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::D) || sf::Keyboard::isKeyPressed(sf::Keyboard::A)
            || sf::Keyboard::isKeyPressed(sf::Keyboard::W) || sf::Keyboard::isKeyPressed(sf::Keyboard::S)) {

            if (sf::Keyboard::isKeyPressed(sf::Keyboard::W))
            {
                player.move(0.0f, -0.5f * deltaTime);
                myAnimation.Update(3, animationClock);
                player.setTextureRect(myAnimation.textureRect);
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::S))
            {
                player.move(0.0f, 0.5f * deltaTime);
                myAnimation.Update(0, animationClock);
                player.setTextureRect(myAnimation.textureRect);
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
            {
                player.move(-0.5f * deltaTime, 0.0);
                myAnimation.Update(2, animationClock, false);
                player.setTextureRect(myAnimation.textureRect);  
                //player.setPosition(player.getPosition().x + oneSprite, player.getPosition().y);
            }

            if (sf::Keyboard::isKeyPressed(sf::Keyboard::D))
            {
                player.move(0.5f * deltaTime, 0.0);
                myAnimation.Update(2, animationClock, true);
                player.setTextureRect(myAnimation.textureRect);
                //player.setPosition(player.getPosition().x + oneSprite, player.getPosition().y);
            }
        }   
        else
        {
            myAnimation.Update(0, animationClock);
            player.setTextureRect(myAnimation.textureRect);
        }

        window.clear();
        window.draw(player);
        window.display();
    }

    return 0;
}&lt;/pre&gt;



&lt;p&gt;Animation.h&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#pragma once

#include &amp;lt;SFML/Graphics.hpp&amp;gt;

class Animation
{
public:
	Animation(sf::Texture* texture, sf::Vector2u defaultPosition, sf::Vector2u rowsAndColumns, float timeElapsed);
	
	void Update(int row, sf::Clock &amp;amp;timeElapsed);
	void Update(int row, sf::Clock&amp;amp; timeElapsed, bool faceRight);

	sf::IntRect textureRect;
	bool faceRight;

private:
	
	sf::Vector2u textureSize;
	sf::Vector2u defaultPos;
	float currentImage;
	float switchTime;
};

&lt;/pre&gt;



&lt;p&gt;Animation.cpp&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;Animation.h&quot;

Animation::Animation(sf::Texture* texture, sf::Vector2u defaultPosition, sf::Vector2u rowsAndColumns, float timeElapsed)
{
	this-&amp;gt;switchTime = timeElapsed;
	this-&amp;gt;defaultPos = defaultPosition;
	this-&amp;gt;textureSize.x = texture-&amp;gt;getSize().x / rowsAndColumns.x;
	this-&amp;gt;textureSize.y = texture-&amp;gt;getSize().y / rowsAndColumns.y;
	this-&amp;gt;textureRect = sf::IntRect(defaultPosition.x * textureSize.x, defaultPosition.y * textureSize.y, textureSize.x, textureSize.y);
}

void Animation::Update(int row, sf::Clock&amp;amp; timeElapsed)
{
	textureRect.top = row * textureSize.y;
	this-&amp;gt;currentImage = textureRect.top;

	if (timeElapsed.getElapsedTime().asMilliseconds() &amp;gt; switchTime)
	{
		if (textureRect.left &amp;gt;= textureSize.x)
			textureRect.left = 0;
		else
			textureRect.left += textureSize.x;

		timeElapsed.restart();
	}

}

void Animation::Update(int row, sf::Clock&amp;amp; timeElapsed, bool faceRight)
{
	textureRect.top = row * textureSize.y;
	this-&amp;gt;faceRight = faceRight;
	this-&amp;gt;currentImage = textureRect.top / textureSize.x;

	if (timeElapsed.getElapsedTime().asMilliseconds() &amp;gt; switchTime)
	{
		if (textureRect.left &amp;gt;= textureSize.x)
			textureRect.left = 0;
		else if (faceRight)
		{
			textureRect.left += textureSize.x;
			textureRect.width = abs(textureRect.width);
		}
		else if (!faceRight)
		{
			textureRect.left += abs(textureSize.x * 2.0f);
			textureRect.width = -abs(textureRect.width);
		}

		timeElapsed.restart();
	}

}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/550444/nie-poprawne-wyswietlanie-tekstury-podczas-animacji-sfml</guid>
<pubDate>Mon, 06 Sep 2021 15:29:39 +0000</pubDate>
</item>
<item>
<title>SFML jak poprawnie wykryć naciśnięcie grupy przycisków.</title>
<link>https://forum.pasja-informatyki.pl/550118/sfml-jak-poprawnie-wykryc-nacisniecie-grupy-przyciskow</link>
<description>

&lt;p&gt;Witam, mam taki kod jak poniżej i chciałbym, żeby włączył się on wtedy gdy podana grupa klawiszy jest wciśnięta. Dlaczego ten kod w konsoli cały czas wypisuje mi, ze klawisz A lub D został wciśnięty jeżeli nie ruszam klawiatury?&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
if (sf::Keyboard::isKeyPressed(sf::Keyboard::A) || sf::Keyboard::isKeyPressed(sf::Keyboard::D));
            std::cout &amp;lt;&amp;lt; &quot;A or D pressed&quot;;&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/550118/sfml-jak-poprawnie-wykryc-nacisniecie-grupy-przyciskow</guid>
<pubDate>Mon, 30 Aug 2021 21:24:52 +0000</pubDate>
</item>
<item>
<title>Jak mam poprawnie rozmieścić obiekty na mapie.</title>
<link>https://forum.pasja-informatyki.pl/549592/jak-mam-poprawnie-rozmiescic-obiekty-na-mapie</link>
<description>

&lt;p&gt;Witam, robię grę która polega na skakaniu w górę po platformach w momencie spadnięcia na ziemię gracz przegrywa. Domyślnie mam 5 platform i mam problem z napisaniem kodu, który wykryje minimalny dystans między platformami. Na razie napisałem coś takiego, jak poniżej ale po odpaleniu programu w okienku gry wyświetla się biały ekran i nic się dzieje. Kiedy usunę linię dodającą platform do wektora gra się odpala, lecz&amp;nbsp; z wiadomych względów widać tylko jedną platformę. Gdzie mam tutaj błąd?&lt;/p&gt;



&lt;p&gt;Kod który odpowiada z generowanie platform i dodawanie ich do wektora:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
 for (int i = 0; i &amp;lt; 5; i++)
    {
        sf::RectangleShape platform(sf::Vector2f(100.0f, 30.0f));
        platform.setPosition(sf::Vector2f(rand() % 730 + 70, rand() % ((int)main_view.getCenter().y+100)));
        platform.setFillColor(sf::Color::Red);
        
        if(i == 0)
            vect_of_platforms.push_back(platform);
        else
        {
            for (int z = 0; z &amp;lt; vect_of_platforms.size(); z++)
            {
                float distance = platform.getPosition().y - vect_of_platforms[z].getPosition().y;

                if (distance &amp;lt;= 100.0f)
                {                    
                    platform.move(0.0f, -100.0f);
                    vect_of_platforms.push_back(platform);
                }
            }
        }
    }&lt;/pre&gt;



&lt;p&gt;Cały kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;vector&amp;gt;

#include &amp;lt;SFML/Graphics.hpp&amp;gt;

const int WINDOW_WIDTH = 800, WINDOW_HEIGHT = 800;
const float GRAVITY = 0.07f;

int index = 0;

float player_velocityX = 0.0f, player_velocityY = 0.0f;
float player_pos_X = 400.0f, player_pos_Y = 600.0f;
float platform_velocity = 0.1f;

bool is_on_ground = true, space_pressed = false, is_colliding = false;
bool touched_platform_down = false, cant_jump = false;

template &amp;lt;typename T&amp;gt;
void remove_at(std::vector&amp;lt;T&amp;gt;&amp;amp; v, typename std::vector&amp;lt;T&amp;gt;::size_type n)
{
    std::swap(v[n], v.back());
    v.pop_back();
}

int main()
{
    sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), &quot;Jumping UP&quot;);
    window.setVerticalSyncEnabled(true);

    std::vector&amp;lt;sf::RectangleShape&amp;gt; vect_of_platforms;
    std::vector&amp;lt;float&amp;gt; platforms_velocity = {
        platform_velocity, platform_velocity, platform_velocity, platform_velocity, platform_velocity,
    };

    sf::View main_view;
    main_view.setSize(800, 800);
    main_view.setCenter(400, 400);

    sf::CircleShape player(30.0f);
    player.setFillColor(sf::Color::Blue);
    player.setPosition(player_pos_X, player_pos_Y);

    srand(time(NULL));

    for (int i = 0; i &amp;lt; 5; i++)
    {
        sf::RectangleShape platform(sf::Vector2f(100.0f, 30.0f));
        platform.setPosition(sf::Vector2f(rand() % 730 + 70, rand() % ((int)main_view.getCenter().y+100)));
        platform.setFillColor(sf::Color::Red);
        
        if(i == 0)
            vect_of_platforms.push_back(platform);
        else
        {
            for (int z = 0; z &amp;lt; vect_of_platforms.size(); z++)
            {
                float distance = platform.getPosition().y - vect_of_platforms[z].getPosition().y;

                if (distance &amp;lt;= 100.0f)
                {                    
                    platform.move(0.0f, -100.0f);
                    vect_of_platforms.push_back(platform);
                }
            }
        }
    }

    sf::Clock game_clock;

    while (window.isOpen())
    {
        float deltaTime = game_clock.restart().asMilliseconds();

        sf::Event event;
        while (window.pollEvent(event))
        {
            switch (event.type)
            {
            case sf::Event::Closed:
                window.close();
                break;
            case sf::Event::KeyPressed:
                if (event.key.code == sf::Keyboard::Escape)
                    window.close();
                else if (event.key.code == sf::Keyboard::Space &amp;amp;&amp;amp; !space_pressed &amp;amp;&amp;amp; (is_on_ground || is_colliding))
                {
                    if (cant_jump);
                    else
                    {
                        space_pressed = true;
                        player_velocityY = -2.5f;
                    }
                }
                break;
            case sf::Event::KeyReleased:
                if (event.key.code == sf::Keyboard::Space &amp;amp;&amp;amp; space_pressed)
                {
                    space_pressed = false;
                }
                break;
            }
        }

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
            player_velocityX = -0.5f;
        else if (sf::Keyboard::isKeyPressed(sf::Keyboard::D))
            player_velocityX = 0.5f;
        else
            player_velocityX = 0.0f;

        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            if (player.getGlobalBounds().intersects(vect_of_platforms[i].getGlobalBounds()))
            {               
                is_colliding = true;              
                if (player.getPosition().y - player.getRadius() &amp;lt; vect_of_platforms[i].getPosition().y + vect_of_platforms[i].getSize().y
                    &amp;amp;&amp;amp; player.getPosition().y - player.getRadius() &amp;gt; vect_of_platforms[i].getPosition().y - vect_of_platforms[i].getSize().y)
                {
                    //when hit botom
                    player.setPosition(player.getPosition().x, vect_of_platforms[i].getPosition().y + vect_of_platforms[i].getSize().y);
                    touched_platform_down = true;
                    cant_jump = true;
                }
                else if (player.getPosition().y + player.getRadius() &amp;gt; vect_of_platforms[i].getPosition().y - vect_of_platforms[i].getSize().y)
                {
                    // when hit up
                    cant_jump = false;
                    player.move(platforms_velocity[i] * deltaTime, 0.0f);
                    player.setPosition(player.getPosition().x, vect_of_platforms[i].getPosition().y - vect_of_platforms[i].getSize().y * 2);
                }
                else
                    cant_jump = false;
                break;
            }
            else
            {
                is_colliding = false;
            }
        }

        if (player.getPosition().y &amp;lt; 600.0f)
        {
            if (!is_colliding)
            {
                is_on_ground = false;
                player_velocityY += GRAVITY;
            }
            else
            {
                if (touched_platform_down)
                {
                    player_velocityY += GRAVITY;
                    touched_platform_down = false;
                }              
            }
        }
        else if (player.getPosition().y &amp;gt; 600.0f)
        {
            is_on_ground = true;
            player.setPosition(player.getPosition().x, 600.0f);
            player_velocityY = 0.0f;
            cant_jump = false;
        }

        player.move(player_velocityX * deltaTime, player_velocityY * deltaTime);

        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            if (vect_of_platforms[i].getPosition().x &amp;lt;= 0.0f)
                platforms_velocity[i] = platform_velocity;
            else if (vect_of_platforms[i].getPosition().x &amp;gt;= (800.0f - vect_of_platforms[i].getSize().x / 2))
                platforms_velocity[i] = -platform_velocity;

            vect_of_platforms[i].move(platforms_velocity[i] * deltaTime, 0.0f);
        }

        window.clear();
        window.setView(main_view);
        window.draw(player);
        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            window.draw(vect_of_platforms[i]);
        }
        window.display();
    }

    return 0;
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/549592/jak-mam-poprawnie-rozmiescic-obiekty-na-mapie</guid>
<pubDate>Sun, 22 Aug 2021 14:53:02 +0000</pubDate>
</item>
<item>
<title>Dlaczego kolizja wykrywana jest tylko dla jednego obiektu ?</title>
<link>https://forum.pasja-informatyki.pl/548765/dlaczego-kolizja-wykrywana-jest-tylko-dla-jednego-obiektu</link>
<description>

&lt;p&gt;Witam, kiedy gracz jest w powietrzy kolizja zostaje powinna być wykryta dla każdego 5 prostokątów które poruszają się raz w prawo raz w lewo. W moim przypadku kolizja wykryta jest tylko dla jednego. Dlaczego? Próbowałem też dodać zmienną &quot;is_colliding&quot; w postaci tablicy, ale z kolei kiedy sprawdzam kolizję dla każdego obiektu w pętli to gracz skaczę na bardzo małą wysokość o praktycznie od razu opada na ziemię.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;vector&amp;gt;

#include &amp;lt;SFML/Graphics.hpp&amp;gt;

const int WINDOW_WIDTH = 800, WINDOW_HEIGHT = 800;
const float GRAVITY = 0.07f;

int index = 0;

float player_velocityX = 0.0f, player_velocityY = 0.0f;
float player_pos_X = 400.0f, player_pos_Y = 600.0f;
float platform_velocity = 0.1f;

bool is_on_ground = true, space_pressed = false, is_colliding = false;
bool touched_platform[] = {
    false, false, false, false, false
};

template &amp;lt;typename T&amp;gt;
void remove_at(std::vector&amp;lt;T&amp;gt;&amp;amp; v, typename std::vector&amp;lt;T&amp;gt;::size_type n)
{
    std::swap(v[n], v.back());
    v.pop_back();
}

int main()
{
    sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT), &quot;Jumping UP&quot;);
    window.setVerticalSyncEnabled(true);

    std::vector&amp;lt;sf::RectangleShape&amp;gt; vect_of_platforms;
    std::vector&amp;lt;float&amp;gt; platforms_velocity = {
        platform_velocity, platform_velocity, platform_velocity, platform_velocity, platform_velocity,
    };

    sf::View main_view;
    main_view.setSize(800, 800);
    main_view.setCenter(400, 400);

    sf::CircleShape player(30.0f);
    player.setFillColor(sf::Color::Blue);
    player.setPosition(player_pos_X, player_pos_Y);

    srand(time(NULL));

    for (int i = 0; i &amp;lt; 5; i++)
    {
        
        sf::RectangleShape platform(sf::Vector2f(100.0f, 30.0f));
        platform.setPosition(sf::Vector2f(rand() % 730 + 70, rand() % (int)main_view.getCenter().y + 100));
        platform.setFillColor(sf::Color::Red);

        vect_of_platforms.push_back(platform);
    }

    sf::Clock game_clock;

    while (window.isOpen())
    {
        float deltaTime = game_clock.restart().asMilliseconds();

        sf::Event event;
        while (window.pollEvent(event))
        {
            switch (event.type)
            {
            case sf::Event::Closed:
                window.close();
                break;
            case sf::Event::KeyPressed:
                if (event.key.code == sf::Keyboard::Escape)
                    window.close();
                else if (event.key.code == sf::Keyboard::Space &amp;amp;&amp;amp; !space_pressed &amp;amp;&amp;amp; is_on_ground)
                {
                    space_pressed = true;
                    player_velocityY = -3.5f;
                }
                break;
            case sf::Event::KeyReleased:
                if (event.key.code == sf::Keyboard::Space &amp;amp;&amp;amp; space_pressed)
                {
                    space_pressed = false;
                }
                break;
            }
        }

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
            player_velocityX = -0.5f;
        else if (sf::Keyboard::isKeyPressed(sf::Keyboard::D))
            player_velocityX = 0.5f;
        else
            player_velocityX = 0.0f;

        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            if (player.getGlobalBounds().intersects(vect_of_platforms[i].getGlobalBounds()))
            {
                //player.setPosition(player.getPosition().x, vect_of_platforms[i].getPosition().y - vect_of_platforms[i].getSize().y * 2);   
                /*std::cout &amp;lt;&amp;lt; &quot;colliison\nindex: &quot; &amp;lt;&amp;lt; index &amp;lt;&amp;lt; std::endl;
                index++;*/
                is_colliding = true;
                //std::cout &amp;lt;&amp;lt; &quot; collision&quot; &amp;lt;&amp;lt; std::endl;

            }
            else
            {
                is_colliding = false;
                //std::cout &amp;lt;&amp;lt; &quot;no collision&quot; &amp;lt;&amp;lt; std::endl;
            }
        }

        if (player.getPosition().y &amp;lt; 600.0f &amp;amp;&amp;amp; !is_colliding)
        {   
            is_on_ground = false;
            player_velocityY += GRAVITY;
        }
        else if (player.getPosition().y &amp;lt; 600.0f &amp;amp;&amp;amp; is_colliding)
        {
            std::cout &amp;lt;&amp;lt; &quot; collision\nindex: &quot; &amp;lt;&amp;lt; index &amp;lt;&amp;lt; std::endl;
            index++;
        }
        else if (player.getPosition().y &amp;gt; 600.0f)
        {
            is_on_ground = true;
            player.setPosition(player.getPosition().x, 600.0f);
            player_velocityY = 0.0f;
        }   

        player.move(player_velocityX * deltaTime, player_velocityY * deltaTime);            

        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            if (vect_of_platforms[i].getPosition().x &amp;lt;= 0.0f)
                platforms_velocity[i] = platform_velocity;
            else if (vect_of_platforms[i].getPosition().x &amp;gt;= (800.0f - vect_of_platforms[i].getSize().x / 2))
                platforms_velocity[i] = -platform_velocity;

            vect_of_platforms[i].move(platforms_velocity[i] * deltaTime, 0.0f);
        }

        window.clear();
        window.setView(main_view);
        window.draw(player);
        for (int i = 0; i &amp;lt; vect_of_platforms.size(); i++)
        {
            window.draw(vect_of_platforms[i]);
        }
        window.display();
    }

    return 0;
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/548765/dlaczego-kolizja-wykrywana-jest-tylko-dla-jednego-obiektu</guid>
<pubDate>Wed, 11 Aug 2021 12:35:43 +0000</pubDate>
</item>
<item>
<title>SFML jak tworzyć skomplikowane mapy?</title>
<link>https://forum.pasja-informatyki.pl/548483/sfml-jak-tworzyc-skomplikowane-mapy</link>
<description>Witam, uczę się biblioteki SFML i chciałbym teraz napisać bardziej skomplikowaną grę gdzie gracz może poruszać się&lt;br /&gt;
&lt;br /&gt;
w prawo, lewo omijać przeszkody przeciwników. I tutaj pojawia mi się problem, ponieważ nie wiem jak rozwiązać rozmieszczanie na mapie i w końcu rysowanie tych wszystkich obiektów. jeżeli na jednym poziomie będę miał np. 20 przeszkód (dla każdej z nich musze wykryć kolizję z graczem itd..) to muszę wszystkie rysować i rozmieszczać na mapie ręcznie z poziomu kodu czy można ten proces jakoś zautomatyzować? Proszę o jakieś sugestię i z góry dziękuję.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/548483/sfml-jak-tworzyc-skomplikowane-mapy</guid>
<pubDate>Fri, 06 Aug 2021 15:47:15 +0000</pubDate>
</item>
<item>
<title>C++ i platformówka 2d</title>
<link>https://forum.pasja-informatyki.pl/535146/c-i-platformowka-2d</link>
<description>Witam, otóż ostatni zacząłem robić platformówkę w języku c++ z użyciem biblioteki sfml i napotkalem problem. Aby wykryć czy postać gracza dotyka jakiejś platformy muszę za każdym razem sprawdzać kolizje każdej platformy w poziomie a tych platform może być nieraz sporo, czy byłaby możliwość zebrania wszystkich obiektów klasy np. platform w programie i za pomocą prostej pętli for sprawdzenia kolizji?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/535146/c-i-platformowka-2d</guid>
<pubDate>Mon, 29 Mar 2021 21:04:59 +0000</pubDate>
</item>
<item>
<title>SFML a pobieranie rozdzielczości ekranu oraz rozmiaru sprite'ów</title>
<link>https://forum.pasja-informatyki.pl/513016/sfml-a-pobieranie-rozdzielczosci-ekranu-oraz-rozmiaru-spriteow</link>
<description>Hej,pisze aplikację w której będzie wyświetlana grafika,mam dwa pytania:&lt;br /&gt;
&lt;br /&gt;
1.Każdy ekran na którym będzie odpalana aplikacja ma różną rozdzielczość, w jaki sposób mogę te rozdzielczość pobrać żeby potem stworzyć w SFML okienko o tej samej rozdzielczości.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
2. Jak to jest z grafiką w aplikacjach,programiści skalują obrazki w stosunku do rozdzielczości czy po prostu na rożnych rozdzielczościach pole widzenia jest większe? Jeśli skalują to w jaki sposób nie tracą na jakości wyświetlanych spirte'ów?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/513016/sfml-a-pobieranie-rozdzielczosci-ekranu-oraz-rozmiaru-spriteow</guid>
<pubDate>Thu, 22 Oct 2020 21:22:22 +0000</pubDate>
</item>
<item>
<title>SFML mapa kafelkowa</title>
<link>https://forum.pasja-informatyki.pl/496586/sfml-mapa-kafelkowa</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Ostatnio zmagam się z zagadnieniem mapy kafelkowej jednak mam z niem duży problem. Stworzyłem klasę Tile i działa ona poprawnie, jednak gdy staram się zainicjować tablicę takich obiektów Tile[64][64] wyskakuje wyjątek.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Z góry dziękuję za pomoc</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/496586/sfml-mapa-kafelkowa</guid>
<pubDate>Mon, 29 Jun 2020 20:22:33 +0000</pubDate>
</item>
<item>
<title>SFML &quot;AL lib: (EE) alc_cleanup: 1 device not closed&quot;</title>
<link>https://forum.pasja-informatyki.pl/487309/sfml-al-lib-ee-alc_cleanup-1-device-not-closed</link>
<description>Witam mam problem otóż aplikacja działa bez zarzutu i wszystko cacy ale gdy wyłączam ją w trybie debug to w oknie z cmd wyskakuje mi ten komunikat : &amp;quot;AL lib: (EE) alc_cleanup: 1 device not closed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Proszę o pomoc bo próbowałem już wszystkiego. Nie wiem &amp;nbsp;czy do rozwiązania błędu będzie potrzebny kod czy nie , ale puki co nie wklejam go bo jest on naprawdę wielki i ciężko byłoby wkleić go całego na raz(ok 15 plików cpp, tyle samo plików hpp + main.cpp)</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/487309/sfml-al-lib-ee-alc_cleanup-1-device-not-closed</guid>
<pubDate>Sat, 09 May 2020 20:12:14 +0000</pubDate>
</item>
<item>
<title>sf::Image setIcon() czy da się załadować obraz ikony bez pliku.</title>
<link>https://forum.pasja-informatyki.pl/468522/sf-image-seticon-czy-da-sie-zaladowac-obraz-ikony-bez-pliku</link>
<description>

&lt;p&gt;Hej mam pytanie odnośnie SFML.&lt;/p&gt;



&lt;p&gt;W pliku resource.rc ustawiłem ikonę programu co działa prawidłowo i jestem zadowolony, ale w lewym górnym rogu okna nie widać ikony programu.
&lt;br&gt;
Ikonę w lewym górnym rogu ustawiam tak:
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
    sf::Image icon; //nowy obraz sfml-a
    icon.loadFromFile(&quot;icon.png&quot;);  //ładowanie konkretnego pliku
    window.setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr()); // ustawianie ikony&lt;/pre&gt;



&lt;p&gt;Działa, tylko że nie do końca. W folderze z aplikacją &quot;sfml.exe&quot; musi być plik icon.png, jak go nie ma to nie załadowuje. Więc moje pytanie da się to jakoś obejść? Czyli czy da się zrobić coś w stylu:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
sf::Image icon;
icon[1]=RGBA(10,10,50,10);&lt;/pre&gt;



&lt;p&gt;Po prostu chce jakoś połączyć ten plik graficzny ze skompilowanym programem i nie musieć go wrzucać obok pliku exe.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/468522/sf-image-seticon-czy-da-sie-zaladowac-obraz-ikony-bez-pliku</guid>
<pubDate>Thu, 23 Jan 2020 20:06:43 +0000</pubDate>
</item>
<item>
<title>Co oznacza Delta Time?</title>
<link>https://forum.pasja-informatyki.pl/462871/co-oznacza-delta-time</link>
<description>Od pewnego czasu uczę się tworzyć gry z użyciem biblioteki SFML i spotkałem się z terminem Delta Time, więc moje pytanie brzmi:&lt;br /&gt;
&lt;br /&gt;
Co to jest Delta Time? Do czego to służy?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/462871/co-oznacza-delta-time</guid>
<pubDate>Sat, 14 Dec 2019 21:33:06 +0000</pubDate>
</item>
<item>
<title>Skąd mam się dowiedzieć jak programować w SFMl dla iOS lub Android?</title>
<link>https://forum.pasja-informatyki.pl/446980/skad-mam-sie-dowiedziec-jak-programowac-w-sfml-dla-ios-lub-android</link>
<description>Witam, ostatnio zacząłem ogarniać SFML dla iOS i Android i sąd mam wiedzieć czego i jak użyć? Nie widzie do tego dokumentacji, ale widzę takie klasy jak sf::Touch i tak dalej, plus jeżeli SFML-Dev udostępnia do zbuildowania Swoją bibliotekę na inne urządzenia to znaczy że ta biblioteka powinna tam jako tako działać i mieć jakieś możliwości, co nie?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/446980/skad-mam-sie-dowiedziec-jak-programowac-w-sfml-dla-ios-lub-android</guid>
<pubDate>Tue, 27 Aug 2019 17:38:20 +0000</pubDate>
</item>
<item>
<title>C++ SFML dynamiczne tworzenie obiektów na przycisk</title>
<link>https://forum.pasja-informatyki.pl/422624/c-sfml-dynamiczne-tworzenie-obiektow-na-przycisk</link>
<description>

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;pch.h&quot;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;SFML\Graphics.hpp&amp;gt;
#include &amp;lt;SFML\Window.hpp&amp;gt;
#include &amp;lt;SFML\System.hpp&amp;gt;

using namespace std;
using namespace sf;

class Flower {
public:
	Flower() {
	}

	void create(float posx, float posy, bool tr, RenderWindow &amp;amp;window, float dt) {

		sprite.setPosition(posx, posy);
		texture.loadFromFile(&quot;data/img/red.png&quot;);

		l += 2 * dt;

		sprite.setTexture(texture);

		if (l &amp;gt;= 2 &amp;amp;&amp;amp; l &amp;lt; 4)
			texture.loadFromFile(&quot;data/img/blue.png&quot;);
		if (l &amp;gt;= 4 &amp;amp;&amp;amp; l &amp;lt; 6)
			texture.loadFromFile(&quot;data/img/green.png&quot;);
		if (l &amp;gt;= 6)
			texture.loadFromFile(&quot;data/img/yellow.png&quot;);


		window.draw(sprite);


	}

	Sprite sprite;
	Texture texture;
	float l = 0;
};

int main()
{
	Flower *flower;

	RenderWindow window(VideoMode(640, 640, 32), &quot;Gra&quot;);
	window.setFramerateLimit(60);

	Clock clock;
	float dt = 0;

	Event e;

	while (window.isOpen())
	{
		dt = clock.restart().asSeconds();

		while (window.pollEvent(e))
		{
			switch (e.type) {
				case Event::Closed:
					window.close();
					break;
			}
			if (e.type == Event::KeyPressed &amp;amp;&amp;amp; e.key.code == Keyboard::A) {
				flower = new Flower;
				flower-&amp;gt;create(200, 200, 1, window, dt);
			}
		}
		

		window.display();
		window.clear();
	}
}
&lt;/pre&gt;



&lt;p&gt;Chciałem zrobić dodatek do prostej gry 2d taki, że po naciśnięciu danego klawisza w miejscu gracza pojawia się nowy obiekt drzewa, jak próbuje dać if(Keyboard::isKeyPressed(Keyboard::Space)) to wyświetla się, ale gdy puszczam to znika. Ma ktoś jakieś rozwiązanie?&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/422624/c-sfml-dynamiczne-tworzenie-obiektow-na-przycisk</guid>
<pubDate>Fri, 29 Mar 2019 18:16:01 +0000</pubDate>
</item>
<item>
<title>Sprajt źle porusza się po ekranie (SFML)</title>
<link>https://forum.pasja-informatyki.pl/402077/sprajt-zle-porusza-sie-po-ekranie-sfml</link>
<description>

&lt;p&gt;Witam. Mój problem polega na tym, że zrobiłem sterowanie (tak dla przetestowania biblioteki SFML) do poruszania sprajtem. Problem polega na tym, że gdy nacisnę np. klawisz W to sprajt leci do góry (i to dobrze) ale gdy kliknę klawisz S to ten sprajt leci jeszcze do góry kilka metrów i dopiero zmienia kurs do tyłu. Podobnie jest z klawiszami A oraz D. Dołączam kod źródłowy.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML\Graphics.hpp&amp;gt;


int main()
{

float position_X=0;
float position_Y=0;

 sf::RenderWindow okno(sf::VideoMode(800, 600, 32), &quot;GUI Test&quot;);

 sf::Event zdarzenie;

 sf::Texture tekstura;
 tekstura.loadFromFile(&quot;Test.png&quot;);

 sf::Sprite sprajt;
 sprajt.setTexture(tekstura);

 sf::Font czcionka;
 czcionka.loadFromFile(&quot;arial.ttf&quot;);

sprajt.setPosition(400, 300);

 while(okno.isOpen())
 {
     while(okno.pollEvent(zdarzenie))
     {
         if(zdarzenie.type == sf::Event::Closed)
         {
             okno.close();
         }

if(zdarzenie.type == sf::Event::KeyPressed &amp;amp;&amp;amp; zdarzenie.key.code == sf::Keyboard::W)
         {

            sprajt.move(position_X=0, position_Y--);

         }
         if(zdarzenie.type == sf::Event::KeyPressed &amp;amp;&amp;amp; zdarzenie.key.code == sf::Keyboard::S)
         {

            sprajt.move(position_X=0, position_Y++);

         }

            if(zdarzenie.type == sf::Event::KeyPressed &amp;amp;&amp;amp; zdarzenie.key.code == sf::Keyboard::A)

            {
                sprajt.move(position_X--, 0);
            }
            if(zdarzenie.type == sf::Event::KeyPressed &amp;amp;&amp;amp; zdarzenie.key.code == sf::Keyboard::D)
            {
                sprajt.move(position_X++, 0);
            }

        okno.draw(sprajt);
         okno.display();


         okno.clear();
     }
 }
}
&lt;/pre&gt;



&lt;p&gt;PS. Wesołych i spokojnych Świąt życzę wszystkim :).&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/402077/sprajt-zle-porusza-sie-po-ekranie-sfml</guid>
<pubDate>Sun, 23 Dec 2018 21:22:21 +0000</pubDate>
</item>
<item>
<title>SFML Xcode - Nic się nie wyświetla.</title>
<link>https://forum.pasja-informatyki.pl/401900/sfml-xcode-nic-sie-nie-wyswietla</link>
<description>

&lt;p&gt;Witam, mam problem ( inaczej by mnie tu nie było ;) ) gdy tworzę nowy projekt SFML to działa, ale jak stworzę okno gry w klasie to nie działa nic, znaczy wyświetla się nazwa okna i rozdzielczość ale nic w oknie nawet&amp;nbsp;kolor okna ( sf::Color::Red ), CO jest nie tak.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;Entity.hpp&quot;

void Entity::SetTexture(){
    
    //textura gracza
    
    PlayerTexture.loadFromFile(&quot;/Users/OPT-s/Desktop/Dev/Sprites/FreeZe-Player.png&quot;);
    PlayerSprite.setTexture(PlayerTexture);
    
    PlayerSprite.setOrigin(800, 800);
    
    PlayerSprite.setScale(0.08, 0.08);
    
    //Textura drzewa
    
    TreeTexture.loadFromFile(&quot;/Users/OPT-s/Desktop/Dev/Sprites/Tree.png&quot;);
    TreeSprite.setTexture(TreeTexture);
    
    TreeSprite.setOrigin(800, 800);
    
    TreeSprite.setScale(0.16, 0.16);
    
    //textura podłoża
    
    SnowTexture.loadFromFile(&quot;/Users/OPT-s/Desktop/Dev/Sprites/SnowMap.png&quot;);
    SnowSprite.setTexture(SnowTexture);
    
    PlayerSprite.setOrigin(800, 800);
    
    PlayerSprite.setScale(0.08, 0.08);
}

void Entity::NewWindow(){
    Window = new sf::RenderWindow(sf::VideoMode(1280, 720), &quot;FreeZe&quot;);
    
    Window -&amp;gt; setFramerateLimit(60);
    
    sf::Image icon;
    icon.loadFromFile(&quot;OPT-s Logo.png&quot;);
    
    //v.setCenter(PlayerSprite.getPosition().x, PlayerSprite.getPosition().y);
    //v.setSize(1280, 720);
    
    //Window -&amp;gt; setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr());
    
    while (Window -&amp;gt; isOpen())
    {
        
        sf::Event event;
        while (Window -&amp;gt; pollEvent(event))
        {
            
            if (event.type == sf::Event::Closed) {
                Window -&amp;gt; close();
            }
            
            if (event.type == sf::Event::KeyPressed &amp;amp;&amp;amp; event.key.code == sf::Keyboard::Escape) {
                Window -&amp;gt; close();
            }
        }
    }
    
    SetTexture();
    
    Window-&amp;gt;clear(sf::Color::Red);
    Window-&amp;gt;draw(PlayerSprite);
    //Window-&amp;gt;setView(v);
    Window-&amp;gt;display();
        
};
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/401900/sfml-xcode-nic-sie-nie-wyswietla</guid>
<pubDate>Sat, 22 Dec 2018 21:05:24 +0000</pubDate>
</item>
<item>
<title>Biblioteka sfml problem!!!</title>
<link>https://forum.pasja-informatyki.pl/398639/biblioteka-sfml-problem</link>
<description>

&lt;p&gt;&lt;span style=&quot;font-size:20px&quot;&gt;&lt;strong&gt;Czesc&lt;/strong&gt;!!!&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:18px&quot;&gt;Przychodze do was z problemem jestem poczatkujacy i chcem pobrac sfml w zasadzie to pobralem i nie wiem jak ją podłączyc do code blocksa&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&lt;span style=&quot;font-size:14px&quot;&gt;Robilem wszystko zgodnie z poradnikiem z&amp;nbsp;&lt;a href=&quot;http://cpp0x.pl/kursy/Kurs-SFML-2-x-C++/Instalacja-i-konfiguracja/Konfiguracja-SFML-2-0-Code-Blocks/464&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://cpp0x.pl/kursy/Kurs-SFML-2-x-C++/Instalacja-i-konfiguracja/Konfiguracja-SFML-2-0-Code-Blocks/464&lt;/a&gt; i program mi sie kompiluje ale mi wychodzi błąd krytyczny ze nie chce mi znalezc&amp;nbsp; libgcc_s_seh-1.dll. szukalem wszedzie w internecie i nie mge znalezc odp. Dodam ze sie męcze z tę biblioteką już drugi dzien probowalem z różnych poradnikow ale nic mysle ze ktos z was mi pomoże&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Dodam że wprowadzalem ten kod ale z innymi tez nie dzialalo:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &amp;lt;cmath&amp;gt;

int main()
{
    sf::RenderWindow okno( sf::VideoMode( 320, 240 ), &quot;Kurs SFML 2.0 - http://cpp0x.pl&quot; );
    sf::Clock stoper;
    while( okno.isOpen() )
    {
        sf::Event event;
        while( okno.pollEvent( event ) )
        {
            if( event.type == sf::Event::Closed )
                 okno.close();

        } //while
        okno.clear();

        sf::CircleShape ksztalt( std::sin( stoper.getElapsedTime().asSeconds() ) * okno.getSize().y / 8 + okno.getSize().y / 4 );
        ksztalt.setOrigin( sf::Vector2f( ksztalt.getRadius(), ksztalt.getRadius() ) );
        ksztalt.setPosition( okno.getSize().x / 2.0f, okno.getSize().y / 2.0f );
        ksztalt.setFillColor( sf::Color::Yellow );
        okno.draw( ksztalt );

        okno.display();
    } //while
    return 0;
}
&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/398639/biblioteka-sfml-problem</guid>
<pubDate>Thu, 06 Dec 2018 17:29:43 +0000</pubDate>
</item>
<item>
<title>Xcode nie może znaleść FLAC.framework</title>
<link>https://forum.pasja-informatyki.pl/396234/xcode-nie-moze-znalesc-flac-framework</link>
<description>

&lt;pre class=&quot;brush:cpp;&quot;&gt;
ditto: can't get real path for source '/FLAC.framework'&lt;/pre&gt;



&lt;p&gt;Niemożna przekopiować FLAC.framework&amp;nbsp;FLAC.framework do /Users/Emil/Library/Developer/Xcode/DerivedData/FreeZe-cixzjojpavlvjibyhooxplsptkjk/Build/Intermediates.noindex/ArchiveIntermediates/FreeZe/BuildProductsPath/Release/FreeZe.app/Contents/Frameworks//FLAC.framework. Nawet niewiem gdzie może być błąd, podobno jest taki błąd jak się do frameworks nie przekopiowało extlibs to występuje taki błąd, tylko że ja przekopiowałem. ( zawartość )&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/396234/xcode-nie-moze-znalesc-flac-framework</guid>
<pubDate>Sun, 25 Nov 2018 21:24:15 +0000</pubDate>
</item>
<item>
<title>Platformówka 2D - pisać w SFML czy w jakimś silniku?</title>
<link>https://forum.pasja-informatyki.pl/393257/platformowka-2d-pisac-w-sfml-czy-w-jakims-silniku</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Chcę zrobić swoją platformówkę 2D i nie wiem czy napisać ją w SFML którego umiem czy w jakimś gotowym silniku (jeśli tak to jakim (chciałbym pisać w nim w C++))?&lt;br /&gt;
&lt;br /&gt;
Pozdrawiam.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/393257/platformowka-2d-pisac-w-sfml-czy-w-jakims-silniku</guid>
<pubDate>Tue, 13 Nov 2018 17:14:14 +0000</pubDate>
</item>
<item>
<title>Nie umiem zrozumieć klas w SFML-u</title>
<link>https://forum.pasja-informatyki.pl/385905/nie-umiem-zrozumiec-klas-w-sfml-u</link>
<description>Czy ktoś może dać jakiegoś linka z jakimś przykładem &amp;nbsp;albo wytłumaczyć jak działają klasy w sfmlu bo nie umiem znaleźć jakiegoś zrozumiałego przykładu a kompletnie nie umiem zrozumieć gdzie dać funkcje które zwykle dawałem w głównej pętli a teraz nie wiem gdzie je wstawić. Pierwszym problemem na którym się zatrzymałem jest np gdzie mam wstawić takie window.draw(...).</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/385905/nie-umiem-zrozumiec-klas-w-sfml-u</guid>
<pubDate>Fri, 12 Oct 2018 18:43:31 +0000</pubDate>
</item>
<item>
<title>c++ sfml podążanie za postacią w labiryncie</title>
<link>https://forum.pasja-informatyki.pl/378103/c-sfml-podazanie-za-postacia-w-labiryncie</link>
<description>Witam&lt;br /&gt;
&lt;br /&gt;
Piszę gre w sfml i c++ polegającą na poruszaniu się w labiryncie. Plansza zbudowana jest na bazie kafli (tablica 1D) i za ich pomocą także się poruszam (tablica 2D). Problem pojawił się gdy chciałem stworzyć przeciwnika, który by mnie gonił. Nigdy nie programowałem AI i nie wiem jak się do tego zabrać, chodzi mi o ogólny zarys jak to ma wyglądać, a nie gotowy program.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/378103/c-sfml-podazanie-za-postacia-w-labiryncie</guid>
<pubDate>Wed, 05 Sep 2018 18:14:56 +0000</pubDate>
</item>
<item>
<title>Void Movement nie działa.</title>
<link>https://forum.pasja-informatyki.pl/374220/void-movement-nie-dziala</link>
<description>Witam! Mam problem z void'em Movement, konkretnie jak umieszczę go w main.cpp to nie dzieje się nic. Nie ma błędu ale też postać się nie rusza. ( Wydaje mi się że to przez to że tam, klasa gracza, jest &amp;quot;Entity e&amp;quot; prywatne a w main globalne ).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
GitHub: &lt;a href=&quot;https://github.com/OurProjectTeamSocket/RPG/tree/master/SFML-Games&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/OurProjectTeamSocket/RPG/tree/master/SFML-Games&lt;/a&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/374220/void-movement-nie-dziala</guid>
<pubDate>Sun, 19 Aug 2018 18:17:03 +0000</pubDate>
</item>
<item>
<title>Sfml android ide</title>
<link>https://forum.pasja-informatyki.pl/372087/sfml-android-ide</link>
<description>Witam&lt;br /&gt;
&lt;br /&gt;
Wiem, że to może głupie pytanie, ale czy da się do ide na urządzeniu z androidem dodać sfml, lub coś podobnego. Jeżeli tak, to w jaki sposób i co. Pytam się, bo fajnie było by programować gry np. na wakacjach bądź w autobusie.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/372087/sfml-android-ide</guid>
<pubDate>Fri, 10 Aug 2018 11:09:32 +0000</pubDate>
</item>
<item>
<title>odtwarzanie muzyki w sfml</title>
<link>https://forum.pasja-informatyki.pl/370859/odtwarzanie-muzyki-w-sfml</link>
<description>

&lt;p&gt;Witam&lt;/p&gt;



&lt;p&gt;Mam taki program:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &amp;lt;SFML/Audio.hpp&amp;gt;
 
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), &quot;SFML works!&quot;);
 
    sf::Music music;
 
    music.openFromFile(&quot;music.ogg&quot;);
    music.setVolume(50);
    music.setLoop(true);
    music.play();
 
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
 
        window.clear();
        window.display();
    }
 
    return 0;
}&lt;/pre&gt;



&lt;p&gt;i przy próbie odtworzenia wyświetla się taki błąd:&lt;/p&gt;



&lt;p&gt;Failed to open sound file &quot;music.ogg&quot; (format not supported)
&lt;br&gt;
Failed to play audio stream: sound parameters have not been initialized (call initialize() first)&lt;/p&gt;



&lt;p&gt;Wie ktoś jak to naprawić?&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/370859/odtwarzanie-muzyki-w-sfml</guid>
<pubDate>Sat, 04 Aug 2018 13:32:05 +0000</pubDate>
</item>
<item>
<title>C++ SFML mapa kafelkowa siarkiewicz</title>
<link>https://forum.pasja-informatyki.pl/369676/c-sfml-mapa-kafelkowa-siarkiewicz</link>
<description>Witam&lt;br /&gt;
&lt;br /&gt;
Mógłby ktoś podać przykład programu mapy kafelkowej i wyjaśnienie z bloga Szymona Siarkiewicza? Niestety już usunięty, a nie rozumiem przykładu z dokumentacji.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/369676/c-sfml-mapa-kafelkowa-siarkiewicz</guid>
<pubDate>Mon, 30 Jul 2018 16:20:37 +0000</pubDate>
</item>
<item>
<title>Serwer SFMl na serwerze VPS</title>
<link>https://forum.pasja-informatyki.pl/368523/serwer-sfml-na-serwerze-vps</link>
<description>

&lt;p&gt;Witam, zadziałał by na serwerze VPS serwer SFML z rozszerzeniem .cgi?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Naprawiłem XD link:&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-use-suexec-in-apache-to-run-cgi-scripts-on-an-ubuntu-vps&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.digitalocean.com/community/tutorials/how-to-use-suexec-in-apache-to-run-cgi-scripts-on-an-ubuntu-vps&lt;/a&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=11611168834533103308&quot; style=&quot;height:155px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/368523/serwer-sfml-na-serwerze-vps</guid>
<pubDate>Wed, 25 Jul 2018 12:52:04 +0000</pubDate>
</item>
<item>
<title>Wczytywanie mapy i interakcja postaci z nią</title>
<link>https://forum.pasja-informatyki.pl/366541/wczytywanie-mapy-i-interakcja-postaci-z-nia</link>
<description>Witam!&lt;br /&gt;
&lt;br /&gt;
Od jakiegoś czasu tworzę grę w języku c++ przy pomocy biblioteki SFML . Nie wiem jak zrobić aby postać wchodziła w interakcje z mapą np. wchodziła po drabinie, nie przechodziła przez ścianę itp. &lt;br /&gt;
&lt;br /&gt;
Z góry dziękuje za pomoc.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/366541/wczytywanie-mapy-i-interakcja-postaci-z-nia</guid>
<pubDate>Tue, 17 Jul 2018 15:08:57 +0000</pubDate>
</item>
<item>
<title>SFML - If wykonujący się gdy nic nie klikamy</title>
<link>https://forum.pasja-informatyki.pl/359867/sfml-if-wykonujacy-sie-gdy-nic-nie-klikamy</link>
<description>

&lt;p&gt;Witam, mam zagwozdkę jak zrobić ifa który będzie się wykonywał gdy&amp;nbsp;przyciski nie będą kliknięte bo gdy nie wpiszę nic do&amp;nbsp;&amp;nbsp;sf::Keyboard::isKeyPressed() to nie działa co jest oczywiste ale nie wpadłem na inny pomysł&lt;img alt=&quot;indecision&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/whatchutalkingabout_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;indecision&quot;&gt; poza wpisaniem wszystkich przycisków ale mam wrażenie że istnieje łatwiejszy sposób na który nie umiem wpaść.&lt;img alt=&quot;sad&quot; src=&quot;https://forum.pasja-informatyki.pl/qa-plugin/ckeditor4/plugins/smiley/images/sad_smile.png&quot; style=&quot;height:23px; width:23px&quot; title=&quot;sad&quot;&gt;
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/359867/sfml-if-wykonujacy-sie-gdy-nic-nie-klikamy</guid>
<pubDate>Thu, 21 Jun 2018 19:57:47 +0000</pubDate>
</item>
<item>
<title>SFML-Prymityw nie chce się przemieszczać.</title>
<link>https://forum.pasja-informatyki.pl/358594/sfml-prymityw-nie-chce-sie-przemieszczac</link>
<description>

&lt;p&gt;Mam problem z przemieszczaniem się shape'a. Program uruchamia się pojawia się&amp;nbsp;koło lecz nie przemieszcza sie podczas klikania strzałek. Oto kod:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;


float x_kola,y_kola;
int main()
{
    sf::RenderWindow oknoAplikacji(sf::VideoMode(600,400,32),&quot;Kulka&quot;);

    while( oknoAplikacji.isOpen() )
    {
        sf::Event zdarzenie;
        while( oknoAplikacji.pollEvent( zdarzenie ) )
        {
            if( zdarzenie.type == sf::Keyboard::isKeyPressed( sf::Keyboard::Up ) )
                y_kola+20;
            if( zdarzenie.type == sf::Keyboard::isKeyPressed( sf::Keyboard::Down ))
                y_kola-20;
            if( zdarzenie.type == sf::Keyboard::isKeyPressed( sf::Keyboard::Left ) )
                x_kola-20;
            if( zdarzenie.type == sf::Keyboard::isKeyPressed( sf::Keyboard::Right ) )
                x_kola+20;

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

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

        }
        oknoAplikacji.clear( sf::Color::Red );
        sf::CircleShape shape(50);
        shape.setFillColor(sf::Color::Green);
        shape.setPosition(100,200);
        shape.move(x_kola,y_kola);
        oknoAplikacji.draw(shape);
        oknoAplikacji.display();
    }
    return 0;
}&lt;/pre&gt;



&lt;p&gt;Z góry dziękuje za pomoc.&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/358594/sfml-prymityw-nie-chce-sie-przemieszczac</guid>
<pubDate>Sat, 16 Jun 2018 13:12:21 +0000</pubDate>
</item>
<item>
<title>SFML - TcpLisener</title>
<link>https://forum.pasja-informatyki.pl/350534/sfml-tcplisener</link>
<description>Witam, jak dodaje TcpLisener to dostaje error'a {ścieżka dostępu} undefined reference to `sf::TcpListener::TcpListener()'. I podobno zmiana &amp;nbsp;kolejności bibliotek miała to naprawić, ale niestety nie działa.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/350534/sfml-tcplisener</guid>
<pubDate>Mon, 14 May 2018 19:47:19 +0000</pubDate>
</item>
<item>
<title>Serwer TCP SFML [C++]</title>
<link>https://forum.pasja-informatyki.pl/347997/serwer-tcp-sfml-c</link>
<description>

&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Network.hpp&amp;gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &amp;lt;iostream&amp;gt;
using namespace std;

int main()
{
    sf::TcpSocket socket;
    sf::TcpListener serwer;
    serwer.listen(25370);
    serwer.accept(socket);

    cout &amp;lt;&amp;lt; &quot;Klient: &quot;&amp;lt;&amp;lt;socket.getRemoteAddress();


    return EXIT_SUCCESS;
}
&lt;/pre&gt;



&lt;p&gt;Gdy ktos wejdzie z&amp;nbsp;maka wywala&amp;nbsp; ;/ nie wiem czemu&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/347997/serwer-tcp-sfml-c</guid>
<pubDate>Thu, 03 May 2018 14:19:19 +0000</pubDate>
</item>
<item>
<title>SFML TCP nauka</title>
<link>https://forum.pasja-informatyki.pl/347763/sfml-tcp-nauka</link>
<description>Witam, prubuję ogarnąć SFML/Network i chiałbym zrobić by serwer obsługiwał tylko 6 graczy na raz. Narazie udało mi się stworzyć Clienta który łączy się z serwerem, a serwer przechwytuje jego IP ( hamachi ) i jestem ciekaw jak zrobić by serwer wysyłał informację o ruchu jednego z Clientów. Użyć send sprite.setposition?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/347763/sfml-tcp-nauka</guid>
<pubDate>Wed, 02 May 2018 11:37:12 +0000</pubDate>
</item>
<item>
<title>SFML C::B na Maku</title>
<link>https://forum.pasja-informatyki.pl/341428/sfml-c-b-na-maku</link>
<description>Witam, na stronie SFML jest tylko jak zainstalować SFML na XCode ( który mi nie służy ), no a ja chce na C::B. Jak do C::B dodaje lib z SFML-2.4.2-osx-clang to mam błąd linkera lub warning: option -s is obsolete and being ignored.&lt;br /&gt;
&lt;br /&gt;
Jeżeli o czymś zapomniałem prosze mi napisać.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/341428/sfml-c-b-na-maku</guid>
<pubDate>Sat, 07 Apr 2018 20:51:40 +0000</pubDate>
</item>
<item>
<title>SFML PixelPerfectTest</title>
<link>https://forum.pasja-informatyki.pl/335300/sfml-pixelperfecttest</link>
<description>

&lt;p&gt;Chciałem skorzystać z tej biblioteki i z funkcji PixelPerfectText, tlyko ja mam dwie klasy w ktorych sa spajty.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#pragma once
#include &amp;lt;SFML\Graphics.hpp&amp;gt;


class TBlocks:public sf::Drawable
{
public: 
	TBlocks(float t_X, float t_Y);
	TBlocks()=delete;
	virtual ~TBlocks() = default;

	void update_block();
	

private:
	void draw(sf::RenderTarget&amp;amp; target, sf::RenderStates states) const override;
	sf::Texture block_texture;
	sf::Sprite blockSprite;
	sf::Texture *bTexture = &amp;amp;block_texture;

	
	std::string blocks[3];


};

&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;TBlocks.h&quot;
#include &quot;Collision.h&quot;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;stdio.h&amp;gt;     
#include &amp;lt;SFML\Graphics.hpp&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;  
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;random&amp;gt;
#include &amp;lt;time.h&amp;gt; 






TBlocks::TBlocks(float t_X, float t_Y)
{
	blocks[0] = &quot;blocks/block_1.png&quot;;
	blocks[1] = &quot;blocks/block_2.png&quot;;
	blocks[2] = &quot;blocks/block_3.png&quot;;

	//RANDOMOWE BLOKI
	std::random_device rseed;
	std::mt19937 rgen(rseed()); 
	std::uniform_int_distribution&amp;lt;int&amp;gt; idist(0, 2); 

	int los = idist(rgen);
	
	
	
	Collision::CreateTextureAndBitmask(block_texture, blocks[los]);
	blockSprite.setTexture(block_texture);
	blockSprite.setPosition(t_X, t_Y);
	blockSprite.setOrigin(sf::Vector2f(blockSprite.getTexture()-&amp;gt;getSize().x * 0.5, blockSprite.getTexture()-&amp;gt;getSize().y * 0.8));
}

void TBlocks::draw(sf::RenderTarget&amp;amp; target, sf::RenderStates states) const
{
	target.draw(this-&amp;gt;blockSprite, states);
}
void TBlocks::update_block()
{
	blockSprite.move(0, 3);
}&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#ifndef TPLAYER_H
#define TPLAYER_H
#include &amp;lt;SFML/Graphics.hpp&amp;gt;


class TPlayer : public sf::Drawable
{
public:

	TPlayer(float t_X, float t_Y);
	TPlayer() = delete;
	virtual ~TPlayer() = default;
	void update();

	float moveRight();
	float moveLeft();

	void draw(sf::RenderTarget&amp;amp; target, sf::RenderStates states) const override;



private:
	
	sf::Texture playerTexture;
	sf::Sprite playerSprite;
	sf::Texture *pTexture = &amp;amp;playerTexture;


	const double playerVelocity{4};
	sf::Vector2f velocity{ playerVelocity, 0.f };




};

#endif // TPLAYER_H
&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;TPlayer.h&quot;
#include &amp;lt;SFML\Graphics.hpp&amp;gt;
#include &quot;Collision.h&quot;
#include &amp;lt;iostream&amp;gt;


TPlayer::TPlayer(float t_X, float t_Y)
{

	
	Collision::CreateTextureAndBitmask(playerTexture, &quot;player_texture.jpg&quot;);
	playerSprite.setTexture(playerTexture);
	playerSprite.setPosition(t_X, t_Y);
	playerSprite.setOrigin(sf::Vector2f(playerSprite.getTexture()-&amp;gt;getSize().x * 0.5, playerSprite.getTexture()-&amp;gt;getSize().y * 0.5));

	

}

void TPlayer::draw(sf::RenderTarget&amp;amp; target, sf::RenderStates states) const
{
	
	target.draw(this-&amp;gt;playerSprite, states);
}

 void TPlayer::update()
{
	
	if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::A) &amp;amp;&amp;amp; this-&amp;gt;moveLeft() &amp;gt;20)
	{
		
		playerSprite.move(-7, 0);
	}
	else if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::D) &amp;amp;&amp;amp; this-&amp;gt;moveRight() &amp;lt; 880 )
	{
		
		playerSprite.move(7, 0);
	}
	else
	{
		
		playerSprite.move(0, 0);
	}
}

float TPlayer::moveLeft()
{
	
	return this-&amp;gt;playerSprite.getPosition().x - playerSprite.getOrigin().x / 2.f;
	
}

float TPlayer::moveRight()
{
	
	return this-&amp;gt;playerSprite.getPosition().x + playerSprite.getOrigin().x / 2.f;
}

&lt;/pre&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &quot;TGame.h&quot;
#include &quot;TBlocks.h&quot;
#include &quot;Menu.h&quot;
#include &quot;Collision.h&quot;
#include &amp;lt;SFML\Graphics.hpp&amp;gt;\

#define WIDTH 900
#define HEIGTH 950




TGame::TGame(TPlayer * player_, TBlocks * block_) : player(player_), block(block_), mWindow(sf::VideoMode(WIDTH, HEIGTH), &quot;GAME&quot;) 
{
	mWindow.setFramerateLimit(60);
	if (Collision::PixelPerfectTest(player, block))
	{
		mWindow.close();
	}
}


void TGame::run()
{
	while (mWindow.isOpen())
	{
		processEvents();
		update_game();
		render();
	}
}

void TGame::processEvents()
{
	sf::Event event;
	while (mWindow.pollEvent(event))
	{
		if (event.type == sf::Event::Closed)
			mWindow.close();
		

		break;
	}
}


void TGame::render()
{
	
	mWindow.clear();

	mWindow.draw(*block);
	mWindow.draw(*player);
	block-&amp;gt;update_block();
	player-&amp;gt;update();


	mWindow.display();
}

void TGame::update_game()
{
	

}


&lt;/pre&gt;



&lt;p&gt;W jaki sposób mogę użyć tej funkcji w klasie TGame tak żeby sprawdzała kolizję dla tych dwóch klas player i blocks?&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/335300/sfml-pixelperfecttest</guid>
<pubDate>Sat, 17 Mar 2018 13:47:29 +0000</pubDate>
</item>
<item>
<title>Generowanie losowych kółek na ekranie w bibliotece sfml</title>
<link>https://forum.pasja-informatyki.pl/334110/generowanie-losowych-kolek-na-ekranie-w-bibliotece-sfml</link>
<description>Chciałbym aby program wygenerował mi na ekranie np 100 losowych kółek(losowy rozmiar, kolor) jednak mam problem z napisaniem kodu do tego, wiem że powinna znaleźć się tam pętla for i funkcja srand() ale nie mam pomysłu jak sie do tego zabrać. Życzliwie proszę o pomoc.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/334110/generowanie-losowych-kolek-na-ekranie-w-bibliotece-sfml</guid>
<pubDate>Mon, 12 Mar 2018 15:42:29 +0000</pubDate>
</item>
<item>
<title>SFML - Platformówka</title>
<link>https://forum.pasja-informatyki.pl/332739/sfml-platformowka</link>
<description>Dzień dobry,&lt;br /&gt;
Skieruje dzisiaj do was pytanie, czyli skąd mam się uczyć jak zrobić platformówkę? &lt;br /&gt;
Pytam się gdyż w internecie nie znalazłem nic co mi pomogło (niestety), a sam w SFML będzie mi ciężko. Jedyną rzeczą którą nie umiem to Vectory i inne związane w grą (Minimapa, budowa mapy). Gdzie mogę się tego nauczyć?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/332739/sfml-platformowka</guid>
<pubDate>Wed, 07 Mar 2018 13:40:23 +0000</pubDate>
</item>
<item>
<title>[SFML 2.0v C++] Wyświetlanie tekstów i zmiennych</title>
<link>https://forum.pasja-informatyki.pl/325023/sfml-2-0v-c-wyswietlanie-tekstow-i-zmiennych</link>
<description>Dzień dobry!&lt;br /&gt;
&lt;br /&gt;
Skończyłem kurs SFML 2.0v (Kurs cpp0x) no i niestety nie było opisane jak wyświetlić jakąś zmienną czy tekst.&lt;br /&gt;
Potrzebuje to wiedzieć do tworzenia gier.&lt;br /&gt;
&lt;br /&gt;
A więc podsumowując chciałbym poprosić odpowiedzi na te pytania:&lt;br /&gt;
1.Jak wyświetlić tekst na ekranie?&lt;br /&gt;
2. Jak wyświetlić zmienną (typu np. int) na ekranie?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/325023/sfml-2-0v-c-wyswietlanie-tekstow-i-zmiennych</guid>
<pubDate>Thu, 08 Feb 2018 11:15:52 +0000</pubDate>
</item>
<item>
<title>Sfml - Problem z &quot;Poprawną instalacją&quot;</title>
<link>https://forum.pasja-informatyki.pl/324742/sfml-problem-z-poprawna-instalacja</link>
<description>

&lt;p&gt;Dzień Dobry!
&lt;br&gt;

&lt;br&gt;
Mam problemy związane z instalacją biblioteki SFML (C++) dla Code::Blocks
&lt;br&gt;
Typ erroru po zainstalowaniu jej są następujące:
&lt;br&gt;
1.&amp;nbsp;D:\sfml\tut\Kurs SFML\main.cpp|6|undefined reference to `_imp___ZN2sf6StringC1EPKcRKSt6locale'|
&lt;br&gt;
2. D:\sfml\tut\Kurs SFML\main.cpp|6|undefined reference to `_imp___ZN2sf12RenderWindowC1ENS_9VideoModeERKNS_6StringEjRKNS_15ContextSettingsE'|
&lt;br&gt;
3. D:\sfml\tut\Kurs SFML\main.cpp|6|undefined reference to `_imp___ZN2sf9VideoModeC1Ejjj'|
&lt;br&gt;
Jest ich oczywiście więcej, ale nie ma sensu dania wszystkich errorów.
&lt;br&gt;

&lt;br&gt;
Kod źródłowy:&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &amp;lt;cmath&amp;gt;

int main()
{
    sf::RenderWindow okno( sf::VideoMode( 320, 240 ), &quot;Kurs SFML 2.0 - http://cpp0x.pl&quot; );
    sf::Clock stoper;
    while( okno.isOpen() )
    {
        sf::Event event;
        while( okno.pollEvent( event ) )
        {
            if( event.type == sf::Event::Closed )
                 okno.close();

        } //while
        okno.clear();

        sf::CircleShape ksztalt( std::sin( stoper.getElapsedTime().asSeconds() ) * okno.getSize().y / 8 + okno.getSize().y / 4 );
        ksztalt.setOrigin( sf::Vector2f( ksztalt.getRadius(), ksztalt.getRadius() ) );
        ksztalt.setPosition( okno.getSize().x / 2.0f, okno.getSize().y / 2.0f );
        ksztalt.setFillColor( sf::Color::Yellow );
        okno.draw( ksztalt );

        okno.display();
    } //while
    return 0;
}
&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/324742/sfml-problem-z-poprawna-instalacja</guid>
<pubDate>Wed, 07 Feb 2018 10:35:32 +0000</pubDate>
</item>
<item>
<title>SFML jak wczytać postać</title>
<link>https://forum.pasja-informatyki.pl/322141/sfml-jak-wczytac-postac</link>
<description>

&lt;p&gt;Cześć. Mam plik png z różnymi postaciami w takich samych odstępach z usuniętym tłem macie jakiś pomysły jak wyświetlić tą postać ? Teraz, gdy używam sf::RectangleShape to wyświetla mi samą postać, ale gdy robię wykrywanie kolizji z tą postacią, to wykrywa mi kolizje zanim do niej dojdzie. Tak jakby pobierało jeszcze to tło dookoła i tworzyło duży kwadrat zamiast małego, który ściśle przylega do postaci.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
Player::Player()
{
      /*sf::RectangleShape* player;
	sf::Texture *graphicOfPlayer;
	sf::Vector2u* currentCooridantes;
	sf::Vector2u* textureSize;*/


	player = new sf::RectangleShape(sf::Vector2f(heroWIDTH, heroHEIGHT));
	player-&amp;gt;setPosition(sf::Vector2f(0,355));
	
	graphicOfPlayer = new sf::Texture;
	graphicOfPlayer-&amp;gt;loadFromFile(&quot;hero.png&quot;);

	textureSize = new sf::Vector2u(graphicOfPlayer-&amp;gt;getSize());
	textureSize-&amp;gt;x /= fileX;
	textureSize-&amp;gt;y /= fileY;

	player-&amp;gt;setTexture(graphicOfPlayer);

	player-&amp;gt;setTextureRect(sf::IntRect(textureSize-&amp;gt;x * (fileX-1), textureSize-&amp;gt;y * (fileY-1)
		textureSize-&amp;gt;x , textureSize-&amp;gt;y));
	
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/322141/sfml-jak-wczytac-postac</guid>
<pubDate>Sun, 28 Jan 2018 13:30:48 +0000</pubDate>
</item>
<item>
<title>Tworzenie obiektów tablicy vector spowalnia znacząco program.</title>
<link>https://forum.pasja-informatyki.pl/253432/tworzenie-obiektow-tablicy-vector-spowalnia-znaczaco-program</link>
<description>

&lt;p&gt;Witam, piszę grę RPG w SFMLu. Chcąc stworzyć lokację postanowiłem stworzyć obiekty sciany (kwadraty) Wall za pomocą fora, który przypisuje obiektowy współrzędne i następnie push_backiem &quot;stwarza&quot; go. Okazaju się że takim sposobem, tworząc około 40 obiektów klasy Wall program uruchamia się o około 2s dłużej. Przy większych ilościach czas uruchamiania potrafi sięgać do 7-8s. Znalazłem na internecie metodę vector&amp;lt;type&amp;gt;.reserve(int) dzieki ktorej program trochę przyśpieszył ( z 8s zrobiło się około 2s). Czy jest jakiś sposób by to obejść? Czy moja metoda jest wgl dobra czy powinienem ją zmienić, jak tak to na jaką? Pozdrawiam.
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
class Engine
{ &amp;nbsp;&amp;nbsp;&amp;nbsp;
public:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Engine(sf::RenderWindow &amp;amp;win);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Player object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Player player;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Bullet object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bullet bullet;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Bullet vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Bullet&amp;gt;::const_iterator iter;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Bullet&amp;gt; BulletArray;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Enemy object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Enemy enemy;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Enemy vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Enemy&amp;gt;::const_iterator iter2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Enemy&amp;gt; EnemyArray;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create displayText object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;displayText display_text;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create displayText vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;displayText&amp;gt;::const_iterator iter3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;displayText&amp;gt; displayTextArray;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Coin object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Coin coin;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Coin vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Coin&amp;gt;::const_iterator iter4;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Coin&amp;gt; CoinArray;
&amp;nbsp;&amp;nbsp;//Create Wall object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Wall wall;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Wall vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Wall&amp;gt;::const_iterator iter5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Wall&amp;gt; WallArray;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Box object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Box box;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//Create Box vector
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Box&amp;gt;::const_iterator iterBox;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vector&amp;lt;Box&amp;gt; BoxArray;
};

void Engine::createRoom (int roomSize, int roomStartPositionX, int roomStartPositionY, int doorPosition, int numberEnemies)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wall.sprite.setTextureRect(sf::IntRect(0,50,50,50));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//create box
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box.rect.setPosition(roomStartPositionX+80, roomStartPositionY+100);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoxArray.push_back(box);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box.rect.setPosition(roomStartPositionX+160, roomStartPositionY+200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BoxArray.push_back(box);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//create enemies
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i=0; i&amp;lt;numberEnemies; i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;enemy.rect.setPosition(roomStartPositionX+roomSize*50/2+generateRandom(400),roomStartPositionY+roomSize*50/2+generateRandom(400));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EnemyArray.push_back(enemy);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//horizontal wall
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int counterW = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(counterW&amp;lt;roomSize)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wall.rect.setPosition(50*counterW + roomStartPositionX, roomStartPositionY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WallArray.push_back(wall);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//horizontal wall
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW = 0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(counterW&amp;lt;roomSize)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wall.rect.setPosition(50*counterW + roomStartPositionX, 50*roomSize+roomStartPositionY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WallArray.push_back(wall);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//vertical wall
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW=0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(counterW&amp;lt;roomSize)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wall.rect.setPosition(roomStartPositionX, 50*counterW + roomStartPositionY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WallArray.push_back(wall);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//vertical wall
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW=0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(counterW&amp;lt;roomSize+1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(counterW!=doorPosition-1 &amp;amp;&amp;amp; counterW!=doorPosition &amp;amp;&amp;amp; counterW!=doorPosition+1)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wall.rect.setPosition(50*roomSize+roomStartPositionX, 50*counterW + roomStartPositionY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WallArray.push_back(wall);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;counterW++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/253432/tworzenie-obiektow-tablicy-vector-spowalnia-znaczaco-program</guid>
<pubDate>Sat, 13 May 2017 20:59:13 +0000</pubDate>
</item>
<item>
<title>C++ &amp; SFML - mapa kafelkowa</title>
<link>https://forum.pasja-informatyki.pl/245392/c-%26-sfml-mapa-kafelkowa</link>
<description>Jak zacząć tworzenie mapy składającej się z kafelków? Mam okno o wymiarach 800x600px oraz zestaw 4 tekstur. 1 tekstura to 64x64px.&lt;br /&gt;
&lt;br /&gt;
Chcę też, aby podczas tego, gdy poruszam moim bohaterem, gdy kamera za nim podąża, generowały się nowe kafelki.</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/245392/c-%26-sfml-mapa-kafelkowa</guid>
<pubDate>Mon, 17 Apr 2017 10:28:33 +0000</pubDate>
</item>
<item>
<title>Proszę o wytlumaczenie :)</title>
<link>https://forum.pasja-informatyki.pl/244005/prosze-o-wytlumaczenie</link>
<description>

&lt;p&gt;&lt;strong&gt;KOD:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
if(Keyboard::isKeyPressed(Keyboard::Left) &amp;amp;&amp;amp; (paddle.getPosition().y - paddleSize.y /2 &amp;gt; 5.f))&lt;/pre&gt;



&lt;p&gt;Większość rozumiem, ale dlaczego po pobraniu pozycji &lt;em&gt;paddle,&amp;nbsp;&lt;/em&gt;odjęciu jego rozmiarów i podzieleniu przez 2 warunek spełni się gdy to wszystko jest większe od 5.f?&lt;/p&gt;



&lt;p&gt;Dlaczego podajemy 5.f, a nie wspórzędne? Np.: 400,250?&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Dziękuje za wszystkie odpowiedzi!&lt;/p&gt;



&lt;p&gt;Pozdr&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/244005/prosze-o-wytlumaczenie</guid>
<pubDate>Thu, 13 Apr 2017 08:56:51 +0000</pubDate>
</item>
<item>
<title>Ping Pong SFML Kąt odbicia</title>
<link>https://forum.pasja-informatyki.pl/242059/ping-pong-sfml-kat-odbicia</link>
<description>

&lt;p&gt;Witam! Otóż zacząłem się uczyć SFML'a i zrobiłem taki o to program z tej strony: &lt;a href=&quot;http://gamecodeschool.com/sfml/coding-a-simple-pong-game-with-sfml/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://gamecodeschool.com/sfml/coding-a-simple-pong-game-with-sfml/&lt;/a&gt; . Wszystko ładnie działało więc postanowiłem ją nieco przerobić tak aby były dwie paletki na 2 graczy. Problemem jest fakt że piłka nie odbija się pod kątem. Jeśli znacie rozwiązanie będe wdzięczny!
&lt;br&gt;

&lt;br&gt;
Kody źródłowe:
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
Main.cpp

&amp;nbsp;

#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &quot;Bat.h&quot;
#include &quot;Ball.h&quot;
#include &amp;lt;sstream&amp;gt;
#include &amp;lt;cstdlib&amp;gt;

#include &amp;lt;SFML/Audio.hpp&amp;gt;

using namespace sf;
int main()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int windowWidth=1000;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int windowHeight=600;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RenderWindow window(VideoMode(windowWidth,windowHeight),&quot;Pong&quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int score=0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int lives=3;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bat bat(windowWidth-20,windowHeight/2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bat bacik(20,windowHeight/2);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ball ball(500,250);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Text hud;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Font font;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font.loadFromFile(&quot;DS-DIGIT.TTF&quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hud.setFont(font);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hud.setCharacterSize(75);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hud.setFillColor(sf::Color::White);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(window.isOpen())
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Event event;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(window.pollEvent(event))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(event.type==Event::Closed)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(Keyboard::isKeyPressed(Keyboard::Up))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bat.moveUp();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else if(Keyboard::isKeyPressed(Keyboard::Down))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bat.moveDown();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else if(Keyboard::isKeyPressed(Keyboard::Escape))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(Keyboard::isKeyPressed(Keyboard::W))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bacik.moveUp();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else if(Keyboard::isKeyPressed(Keyboard::S))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bacik.moveDown();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ball.getPosition().top&amp;gt;windowHeight||ball.getPosition().top&amp;lt;windowHeight)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.reboundTopOrBottom();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ball.getPosition().left &amp;lt; 0 )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.reboundSideLeft();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ball.getPosition().left+10&amp;gt;windowWidth)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.reboundSideRight();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ball.getPosition().intersects(bat.getPosition()))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.reboundBat();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(ball.getPosition().intersects(bacik.getPosition()))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.reboundBat();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ball.update();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bat.update();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bacik.update();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;std::stringstream ss;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ss&amp;lt;&amp;lt;&quot;Score: &quot;&amp;lt;&amp;lt;score&amp;lt;&amp;lt;&quot; &amp;nbsp;&amp;nbsp;Lives: &quot;&amp;lt;&amp;lt;lives;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hud.setString(ss.str());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.clear(Color(26,128,182,255));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.draw(bat.getShape());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.draw(bacik.getShape());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.draw(ball.getShape());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.draw(hud);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.display();}
&amp;nbsp;&amp;nbsp;&amp;nbsp;getchar();
&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0;
}
&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

Ball.cpp

#include &quot;Ball.h&quot;

Ball::Ball(float startX, float startY)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x=startX;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y=startY;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ballShape.setSize(sf::Vector2f(10,10));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ballShape.setPosition(position);
}
FloatRect Ball::getPosition()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ballShape.getGlobalBounds();
}
RectangleShape Ball::getShape()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ballShape;
}
float Ball::getYVelocity()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return yVelocity;
}
void Ball::reboundTopOrBottom()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yVelocity=-yVelocity;
}
void Ball::reboundSideLeft()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y = 250;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x = 500;

}
void Ball::reboundSideRight()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y = 250;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x = 500;
}
void Ball::reboundBat()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x -= (xVelocity * 30);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;xVelocity = -xVelocity;

}

void Ball::update()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y+=yVelocity;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x+=xVelocity;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ballShape.setPosition(position);
}
&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

ball.h

#pragma once
#include &amp;lt;SFML/Graphics.hpp&amp;gt;

using namespace sf;

class Ball
{private:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Vector2f position;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RectangleShape ballShape;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float xVelocity= .2f;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float yVelocity= .2f;

public:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Ball (float startX, float startY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FloatRect getPosition();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RectangleShape getShape();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float getYVelocity();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void reboundSideLeft();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void reboundSideRight();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void reboundTopOrBottom();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void reboundBat();

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void update();

};
&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

Bat.h

&amp;nbsp;

#pragma once
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
using namespace sf;

class Bat
{
private:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Vector2f position;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//rectangleshape object
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RectangleShape batShape;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float batSpeed = .3f;
public:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bat(float startX, float startY);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FloatRect getPosition();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RectangleShape getShape();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void moveUp();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void moveDown();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void update();
};
&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

&amp;nbsp;

Bat.cpp

#include &quot;Bat.h&quot;

Bat::Bat(float startX, float startY)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.x=startX;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y=startY;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batShape.setSize(sf::Vector2f(5,100));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batShape.setPosition(position);
}
FloatRect Bat::getPosition()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return batShape.getGlobalBounds();
}
RectangleShape Bat::getShape()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return batShape;
}
void Bat::moveUp()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y-=batSpeed;
}
void Bat::moveDown()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position.y+=batSpeed;
}
void Bat::update()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;batShape.setPosition(position);
}&lt;/pre&gt;



&lt;p&gt;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;
&lt;br&gt;

&lt;br&gt;
&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/242059/ping-pong-sfml-kat-odbicia</guid>
<pubDate>Thu, 06 Apr 2017 17:49:58 +0000</pubDate>
</item>
<item>
<title>jak sprawdzić czy mysz znajduje się w jakimś polu?SFML</title>
<link>https://forum.pasja-informatyki.pl/241685/jak-sprawdzic-czy-mysz-znajduje-sie-w-jakims-polu-sfml</link>
<description>jeżeli chcę zareagować na onClicka sprajta to muszę sprawdzić czy jest kliknięty lewy klawisz myszy i cz mysz jest w obrębie sprajta czy może ktoś mi podać przykładowy kod w C++ ze sprawdzeniem czy mysz jest na jakimś obszarze???</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/241685/jak-sprawdzic-czy-mysz-znajduje-sie-w-jakims-polu-sfml</guid>
<pubDate>Wed, 05 Apr 2017 13:24:16 +0000</pubDate>
</item>
<item>
<title>Kłopoty z Viev SFML. funkcja move() nie odpowiada.</title>
<link>https://forum.pasja-informatyki.pl/241500/klopoty-z-viev-sfml-funkcja-move-nie-odpowiada</link>
<description>

&lt;p&gt;Dlaczego to nie działa???&lt;/p&gt;



&lt;p&gt;Ten od ma pszesuwać kamerę za pomocą strzałek ale nie działa.&lt;/p&gt;



&lt;pre class=&quot;brush:cpp;&quot;&gt;
RectangleShape pole(Vector2f(25,50));
pole.setFillColor(Color(200,0,0,90));
pole.setOutlineThickness(-2.5);
pole.setOutlineColor(Color(200,0,0));

while(okno.isOpen())
{
RenderWindow okno(VideoMode(750,730,32),&quot;Sala-Projekt&quot;,Style::Fullscreen);

sf::View kamera = okno.getDefaultView();
okno.setView(kamera);
while(okno.isOpen())
{
Event event;
while(okno.pollEvent(event))
{
if(Keyboard::isKeyPressed(Keyboard::Left))
{
kamera.move(-100,0);
}
if(Keyboard::isKeyPressed(Keyboard::Right))
{
kamera.move(100,0);
}
if(Keyboard::isKeyPressed(Keyboard::Up))
{
kamera.move(0,100);
}
if(Keyboard::isKeyPressed(Keyboard::Down))
{
kamera.move(0,-100);
}
if(event.type==Event::Closed)okno.close();
}
okno.clear();
okno.draw(pole);
okno.display();
}
return 0;&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/241500/klopoty-z-viev-sfml-funkcja-move-nie-odpowiada</guid>
<pubDate>Tue, 04 Apr 2017 17:03:07 +0000</pubDate>
</item>
<item>
<title>Jak sprawdzić w sfml czy został NACIŚNIĘTY lewy klawisz myszy???</title>
<link>https://forum.pasja-informatyki.pl/241405/jak-sprawdzic-w-sfml-czy-zostal-nacisniety-lewy-klawisz-myszy</link>
<description>

&lt;p&gt;mam coś takiego&amp;nbsp;&lt;em&gt;if((event.type == MouseButtonPressed)&amp;amp;&amp;amp;(event.mouseButton.button == sf::Mouse::Left)) &amp;nbsp;&lt;/em&gt;w wersji sfml 2.0, ale kompilator daje błąd:error: 'MouseButtonPressed' was not declared in this scope|&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/241405/jak-sprawdzic-w-sfml-czy-zostal-nacisniety-lewy-klawisz-myszy</guid>
<pubDate>Tue, 04 Apr 2017 11:56:52 +0000</pubDate>
</item>
<item>
<title>Zdarzenie OnClick w SFML</title>
<link>https://forum.pasja-informatyki.pl/240885/zdarzenie-onclick-w-sfml</link>
<description>Jak sprawdzić w sfml czy dla jakiegoś np. Sprit'a&lt;br /&gt;
&lt;br /&gt;
Nie zaszło kliknięcię? W dokumentacji SFML nic nie ma na temat zdarzenie OnClick?</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/240885/zdarzenie-onclick-w-sfml</guid>
<pubDate>Sun, 02 Apr 2017 14:34:42 +0000</pubDate>
</item>
<item>
<title>Biblioteka SFML i Vector dodawanie obuektu CircleShape do vectora</title>
<link>https://forum.pasja-informatyki.pl/240369/biblioteka-sfml-i-vector-dodawanie-obuektu-circleshape-do-vectora</link>
<description>Witam mam problem z kodem. kiedy ktoś wciska LPM ma zostać dodany do vectora obiekt CircleShape a potem w pętli obiekty są wyjmowane i pokazywane.


&lt;pre class=&quot;brush:cpp;&quot;&gt;
#include &amp;lt;SFML/Graphics.hpp&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
using namespace sf;
using namespace std;

vector&amp;lt;CircleShape&amp;gt;lista;

int main()
{

//pierwsze tetekstury
CircleShape pole(15,4);
pole.setFillColor(Color(200,0,0,90));
pole.setRotation(45);
pole.setOutlineThickness(2.5);
pole.setOutlineColor(Color(200,0,0));

Texture sali;
if(!sali.loadFromFile(&quot;sala.PNG&quot;)) return 0;
Sprite sala(sali);
sala.setRotation(45);
sala.setPosition(330,0);

RenderWindow okno(VideoMode(750,730,32),&quot;Sala-Projekt&quot;);

//aplikacja
while(okno.isOpen())
{
//zarzadzanie zdarzeniami
Event event;
while(okno.pollEvent(event))
{
if(event.type==Event::Closed)okno.close();

if(event.mouseButton.button == sf::Mouse::Left)
{
CircleShape nowy(15,4);
Vector2i pozycja = Mouse::getPosition(okno);
nowy.setPosition((Vector2f)pozycja);
nowy.setRotation(45);
nowy.setFillColor(Color(200,0,0,90));
lista.push_back(nowy);
}
if(event.mouseButton.button == sf::Mouse::Middle)
{
lista.clear();
}
}
//rysowanie po ekranie
okno.clear(Color(200,200,200));

unsigned int i = 0;
while(lista.size()&amp;lt;i)
{
CircleShape nowy = lista[i-1];
okno.draw(nowy);
++i;
}
i = 0;
okno.display();
}

   return 0;
}
&lt;/pre&gt;
pytanie dlaczego nie dodaje się czerwony obiekt na tle</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/240369/biblioteka-sfml-i-vector-dodawanie-obuektu-circleshape-do-vectora</guid>
<pubDate>Fri, 31 Mar 2017 18:43:47 +0000</pubDate>
</item>
<item>
<title>Projekt gry SFML</title>
<link>https://forum.pasja-informatyki.pl/230238/projekt-gry-sfml</link>
<description>

&lt;p&gt;Chcę napisać grę w sfml&lt;/p&gt;



&lt;p&gt;Mam już w głowie w miarę dokładny pomysł, proszę o ocenę, komentarz, radę i odpowiedz na pytania na końcu&lt;/p&gt;



&lt;p&gt;Klasy silnika (będą po angielsku, w fazie projektowej po polsku):&lt;/p&gt;



&lt;ul&gt;
	

&lt;li&gt;Obiekt (pozycja oraz wskaźnik na funkcję efektu kolizji)&lt;/li&gt;
	

&lt;li&gt;Ruch (przyjmowanie movePerSec i elapsedTime)&lt;/li&gt;
	

&lt;li&gt;Kolizja (przyjmowanie dwóch obiektów. Sprawdzanie i if(collision == true){czynność}; czynność ==&amp;nbsp; ruch wstecz, i reakcja na ruch, czyli wykonanie funkcji przekazanej przez klasę Obiekt)&lt;/li&gt;
	

&lt;li&gt;Animacja (przechowywanie sf::IntRect i zwracanie odpowiedniego sf::IntRect)&lt;/li&gt;
	

&lt;li&gt;Rysowanie obiektów (pętla, jeden sf::Sprite, jedna sf::Texture&lt;/li&gt;
	

&lt;li&gt;Wyświetlanie tekstu&lt;/li&gt;
	

&lt;li&gt;Ewentualnie odtwarzanie muzyki&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Klasy gry:&lt;/p&gt;



&lt;ul&gt;
	

&lt;li&gt;Gra (start gry)&lt;/li&gt;
	

&lt;li&gt;Menu (będzie wywoływać między innymi klasę Gra)&lt;/li&gt;
	

&lt;li&gt;Level (to będzie kilka obiektów, których wskaźniki będzie przechowywać klasa Gra)&lt;/li&gt;
	

&lt;li&gt;OknoTekstowe (Wyświetlanie tekstu - będzie wywoływane przez klasę kolizja)&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Logika gry:&lt;/p&gt;



&lt;p&gt;Menu -&amp;gt; Gra -&amp;gt; pętla gry&lt;/p&gt;



&lt;p&gt;Pętla gry:&lt;/p&gt;



&lt;p&gt;Level -&amp;gt; Obiekty -&amp;gt; Ruch -&amp;gt; Kolizja -&amp;gt; Animacja -&amp;gt; Rysowanie&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Pytanie:&lt;/p&gt;



&lt;p&gt;Jak planować logikę gry i jak ją programować. Czy realizacja wydarzeń w grze w klasie Kolizja np. wyświetlanie tekstu, albo reakcja botów na zbliżenie się jest dobrym zabiegiem. Jakie macie na ten temat zdanie.&lt;/p&gt;



&lt;p&gt;Jak zrobić z sf::Sprite, zajmuje 272 bajtów a więc trochę dużo.&lt;/p&gt;



&lt;p&gt;Ja myślałem, zeby zrobić jedną teksturę i jeden sprajt i jedno po drugim wywoływać w pętli: window.setTextureRect(IntRect); i window.draw(sprajt);&lt;/p&gt;



&lt;p&gt;P.S.
&lt;br&gt;
Jeżeli ktoś chciałby spróbować zrobić grę np. w dwie osoby to proszę o kontakt :)&lt;/p&gt;</description>
<category>C i C++</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/230238/projekt-gry-sfml</guid>
<pubDate>Fri, 24 Feb 2017 18:07:39 +0000</pubDate>
</item>
</channel>
</rss>