<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C++&#x2F;SFML String]]></title><description><![CDATA[<p>Hallo,<br />
ich arbeite aktuell an einem simplen Spiel<br />
Logik: Man ist ein Viereck und soll ein anderes &quot;fangen&quot;, welches zufällig irgendwo generiert wird, anschließend wird beim Fangen der Punktestand um 1 erhöht; bewegt man sich jedoch aus dem Fenster, dann wird der Punktestand um 5 verringert.(Bald ist das alles noch auf Zeit)</p>
<p>Ich habe nun vieles mit dem Text getestet ... aber egal wo und wie ich das gemacht hatte wurde neben meinen Punktestand immer wieder der neue daneben hingepackt ...<br />
Wo muss das hin?</p>
<pre><code>#include &lt;SFML/Graphics.hpp&gt;
#include &quot;engine.h&quot;
#pragma comment(linker, &quot;/SUBSYSTEM:windows /ENTRY:mainCRTStartup&quot;)

using namespace sf;

int main()
{
    RenderWindow window(VideoMode(800, 450), &quot;Rocket&quot;);
	window.setFramerateLimit(60);

	engine Rocket(&quot;rocket.png&quot;);

    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
			if(Keyboard::isKeyPressed(Keyboard::Escape))
				window.close();
        }

        window.clear(Color(255,255,255));
		Rocket.Move(window);
		Rocket.Point(window);
		Rocket.Render(window);
        window.display();
    }

    return 0;
}
</code></pre>
<pre><code>#include &lt;SFML\Graphics.hpp&gt;
#include &lt;sstream&gt;

using namespace sf;

class engine
{
private:
	RectangleShape player;
	RectangleShape hit;

	int box_x, width;
	int box_y, height;

	int punkte;

	Font arial;
	Text pp;
	std::stringstream ss;

public:
	void Render(RenderWindow &amp;Window);
	void Move(RenderWindow &amp;Window);
	void Point(RenderWindow &amp;Window);
	engine (String tex);
};
</code></pre>
<pre><code>#include &quot;engine.h&quot;

using namespace sf;

engine::engine(String tex)
{
	player.setSize(Vector2f(40,40));
	player.setOrigin(20,20);
	player.setFillColor(Color::Red);
	player.setPosition(400,225);

	hit.setSize(Vector2f(20,20));
	hit.setOrigin(10,10);
	hit.setFillColor(Color::Green);
	hit.setPosition(400,225);

	punkte = -1;
	ss &lt;&lt; &quot;Punkte: &quot; &lt;&lt; punkte;

	arial.loadFromFile(&quot;arial.ttf&quot;);
	pp.setFont(arial);
	pp.setStyle(Text::Bold);
	pp.setColor(Color::Black);
	pp.setPosition(5,5);
	pp.setCharacterSize(20);
	pp.setString(ss.str());

	width = 780;
	height = 430;
}

void engine::Render(RenderWindow &amp;Window)
{
	Window.draw(player);
	Window.draw(hit);
	Window.draw(pp);
}

void engine::Point(RenderWindow &amp;Window)
{
	if(player.getGlobalBounds().intersects(hit.getGlobalBounds()))
	{
		box_x = 10 + rand() % width;
		box_y = 10 + rand() % height;

		hit.setPosition(box_x,box_y);

		punkte++;	
	}
}

void engine::Move(RenderWindow &amp;Window)
{
	if(player.getPosition().x &lt; 0 || player.getPosition().x &gt; 800 || player.getPosition().y &lt; 0 || player.getPosition().y &gt; 450)
	{
		player.setPosition(400,225);

		punkte = punkte -5;
	}

	if(Keyboard::isKeyPressed(Keyboard::Up))
	{	
		player.move(0,-6);
	}
	if(Keyboard::isKeyPressed(Keyboard::Down))
	{
		player.move(0,6);
	}
	if(Keyboard::isKeyPressed(Keyboard::Left))
	{
		player.move(-6,0);
	}
	if(Keyboard::isKeyPressed(Keyboard::Right))
	{
		player.move(6,0);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/334066/c-sfml-string</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 01:00:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/334066.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Aug 2015 18:00:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:00:00 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich arbeite aktuell an einem simplen Spiel<br />
Logik: Man ist ein Viereck und soll ein anderes &quot;fangen&quot;, welches zufällig irgendwo generiert wird, anschließend wird beim Fangen der Punktestand um 1 erhöht; bewegt man sich jedoch aus dem Fenster, dann wird der Punktestand um 5 verringert.(Bald ist das alles noch auf Zeit)</p>
<p>Ich habe nun vieles mit dem Text getestet ... aber egal wo und wie ich das gemacht hatte wurde neben meinen Punktestand immer wieder der neue daneben hingepackt ...<br />
Wo muss das hin?</p>
<pre><code>#include &lt;SFML/Graphics.hpp&gt;
#include &quot;engine.h&quot;
#pragma comment(linker, &quot;/SUBSYSTEM:windows /ENTRY:mainCRTStartup&quot;)

using namespace sf;

int main()
{
    RenderWindow window(VideoMode(800, 450), &quot;Rocket&quot;);
	window.setFramerateLimit(60);

	engine Rocket(&quot;rocket.png&quot;);

    while (window.isOpen())
    {
        Event event;
        while (window.pollEvent(event))
        {
            if (event.type == Event::Closed)
                window.close();
			if(Keyboard::isKeyPressed(Keyboard::Escape))
				window.close();
        }

        window.clear(Color(255,255,255));
		Rocket.Move(window);
		Rocket.Point(window);
		Rocket.Render(window);
        window.display();
    }

    return 0;
}
</code></pre>
<pre><code>#include &lt;SFML\Graphics.hpp&gt;
#include &lt;sstream&gt;

using namespace sf;

class engine
{
private:
	RectangleShape player;
	RectangleShape hit;

	int box_x, width;
	int box_y, height;

	int punkte;

	Font arial;
	Text pp;
	std::stringstream ss;

public:
	void Render(RenderWindow &amp;Window);
	void Move(RenderWindow &amp;Window);
	void Point(RenderWindow &amp;Window);
	engine (String tex);
};
</code></pre>
<pre><code>#include &quot;engine.h&quot;

using namespace sf;

engine::engine(String tex)
{
	player.setSize(Vector2f(40,40));
	player.setOrigin(20,20);
	player.setFillColor(Color::Red);
	player.setPosition(400,225);

	hit.setSize(Vector2f(20,20));
	hit.setOrigin(10,10);
	hit.setFillColor(Color::Green);
	hit.setPosition(400,225);

	punkte = -1;
	ss &lt;&lt; &quot;Punkte: &quot; &lt;&lt; punkte;

	arial.loadFromFile(&quot;arial.ttf&quot;);
	pp.setFont(arial);
	pp.setStyle(Text::Bold);
	pp.setColor(Color::Black);
	pp.setPosition(5,5);
	pp.setCharacterSize(20);
	pp.setString(ss.str());

	width = 780;
	height = 430;
}

void engine::Render(RenderWindow &amp;Window)
{
	Window.draw(player);
	Window.draw(hit);
	Window.draw(pp);
}

void engine::Point(RenderWindow &amp;Window)
{
	if(player.getGlobalBounds().intersects(hit.getGlobalBounds()))
	{
		box_x = 10 + rand() % width;
		box_y = 10 + rand() % height;

		hit.setPosition(box_x,box_y);

		punkte++;	
	}
}

void engine::Move(RenderWindow &amp;Window)
{
	if(player.getPosition().x &lt; 0 || player.getPosition().x &gt; 800 || player.getPosition().y &lt; 0 || player.getPosition().y &gt; 450)
	{
		player.setPosition(400,225);

		punkte = punkte -5;
	}

	if(Keyboard::isKeyPressed(Keyboard::Up))
	{	
		player.move(0,-6);
	}
	if(Keyboard::isKeyPressed(Keyboard::Down))
	{
		player.move(0,6);
	}
	if(Keyboard::isKeyPressed(Keyboard::Left))
	{
		player.move(-6,0);
	}
	if(Keyboard::isKeyPressed(Keyboard::Right))
	{
		player.move(6,0);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2464724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464724</guid><dc:creator><![CDATA[FJK-2842]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:00:00 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:18:30 GMT]]></title><description><![CDATA[<p>Die entscheidenden Stellen sind bei den Voids: engine::Point und Move, wo sich der Punktestand ändern soll</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2464726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464726</guid><dc:creator><![CDATA[FJK-2842]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:25:31 GMT]]></title><description><![CDATA[<p>Du musst auch schon den Text von deinem <code>Text pp</code> Objekt neu setzen. Wenn du einfach nur die int Variable hochzählst ändert sich ja nicht aufeinmal der Wert in deinem <code>stringstream</code> und der daraus erzeugte String. Da liegen mindestens zwei Kopien dazwischen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2464730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464730</guid><dc:creator><![CDATA[sebi707]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:27:42 GMT]]></title><description><![CDATA[<p>zuvor hatte ich mit erneutem<br />
ss &lt;&lt; ... &lt;&lt; punkte;<br />
pp.setString(ss.str());<br />
das gemacht, jedoch kommt in der zeile ein String nach dem anderen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2464731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464731</guid><dc:creator><![CDATA[FJK-2842]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:31:49 GMT]]></title><description><![CDATA[<p>Ja weil du das stringstream Objekt weiter benutzt. Eigentlich gibt es gar keinen Grund den stringstream in die Klasse zu packen. Ich würde es so machen:</p>
<pre><code>punkte++;
std::stringstream ss;
ss &lt;&lt; &quot;Punkte: &quot; &lt;&lt; punkte;
pp.setString(ss.str());
</code></pre>
<p>Oder wenn dein Compiler C++11 unterstützt:</p>
<pre><code>punkte++;
pp.setString(std::to_string(punkte));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2464732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464732</guid><dc:creator><![CDATA[sebi707]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Wed, 19 Aug 2015 18:39:57 GMT]]></title><description><![CDATA[<p>hätte nicht gedacht, dass es so einfach ist XD<br />
ich dachte ja irgendwie den String zu leeren aber wie? Na gut, das funktioniert!<br />
Vielen Dank <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> , jetzt mach ich mich noch an den Timer ran.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2464736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464736</guid><dc:creator><![CDATA[FJK-2842]]></dc:creator><pubDate>Wed, 19 Aug 2015 18:39:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++&#x2F;SFML String on Thu, 20 Aug 2015 06:24:27 GMT]]></title><description><![CDATA[<p>stringstreams leerst du mit der Funktion <code>basic_ostringstream::str</code> , also <code>ss.str(&quot;&quot;)</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2464780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2464780</guid><dc:creator><![CDATA[Biolunar]]></dc:creator><pubDate>Thu, 20 Aug 2015 06:24:27 GMT</pubDate></item></channel></rss>