Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
//////////////////////////////////////////////////////////// // Headers //////////////////////////////////////////////////////////// #include <SFML/Graphics.hpp> //////////////////////////////////////////////////////////// /// Entry point of application /// /// \return Application exit code /// //////////////////////////////////////////////////////////// int main() { // Create the main rendering window sf::RenderWindow App(sf::VideoMode(1024, 768, 32), "SFML Graphics"); // Load the sprite image from a file sf::Image Image; if (!Image.LoadFromFile("fighter.png")) return EXIT_FAILURE; // Create the sprite sf::Sprite Sprite(Image); // Change its properties //Sprite.SetColor(sf::Color(0, 255, 255, 128)); Sprite.SetPosition(200.f, 100.f); Sprite.SetScale(0.3f, 0.3f); // Start game loop while (App.IsOpened()) { // Process events sf::Event Event; while (App.GetEvent(Event)) { // Close window : exit if (Event.Type == sf::Event::Closed) App.Close(); } moveShip(App, 100, Sprite); // Clear screen App.Clear(); // Display sprite in our window App.Draw(Sprite); // Display window contents on screen App.Display(); } return EXIT_SUCCESS; } void moveShip(sf::RenderWindow w, int speed, sf::Sprite s) { float ElapsedTime = w.GetFrameTime(); if (w.GetInput().IsKeyDown(sf::Key::Left)) s.Move(-speed * ElapsedTime, 0); if (w.GetInput().IsKeyDown(sf::Key::Right)) s.Move( speed * ElapsedTime, 0); if (w.GetInput().IsKeyDown(sf::Key::Up)) s.Move(0, -speed * ElapsedTime); if (w.GetInput().IsKeyDown(sf::Key::Down)) s.Move(0, speed * ElapsedTime); if (w.GetInput().IsKeyDown(sf::Key::Add)) s.Rotate(- 100 * ElapsedTime); if (w.GetInput().IsKeyDown(sf::Key::Subtract)) s.Rotate(+ 100 * ElapsedTime); } |
Zitat
||=== SFML_Test, Debug ===|
C:\Programme\SFML-1.6\include\SFML\System\NonCopyable.hpp|57|error: 'sf::NonCopyable::NonCopyable(const sf::NonCopyable&)' is private|
C:\Programme\SFML-1.6\include\SFML\Window\Window.hpp|56|error: within this context|
C:\Programme\SFML-1.6\include\SFML\System\NonCopyable.hpp|57|error: 'sf::NonCopyable::NonCopyable(const sf::NonCopyable&)' is private|
C:\Programme\SFML-1.6\include\SFML\Window\Input.hpp|45|error: within this context|
C:\Programme\SFML-1.6\include\SFML\Window\Window.hpp|56|note: synthesized method 'sf::Input::Input(const sf::Input&)' first required here |
C:\Programme\SFML-1.6\include\SFML\Graphics\RenderWindow.hpp|46|note: synthesized method 'sf::Window::Window(const sf::Window&)' first required here |
C:\Dokumente und Einstellungen\neuma\Eigene Dateien\C++\SFML_Test\main.cpp||In function 'int main()'
C:\Dokumente und Einstellungen\neuma\Eigene Dateien\C++\SFML_Test\main.cpp|47|note: synthesized method 'sf::RenderWindow::RenderWindow(const sf::RenderWindow&)' first required here |
C:\Dokumente und Einstellungen\neuma\Eigene Dateien\C++\SFML_Test\main.cpp|47|error: initializing argument 1 of 'void moveShip(sf::RenderWindow, int, sf:prite)'|
||=== Build finished: 5 errors, 0 warnings ===|
Community-Fossil
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »NachoMan« (11.04.2011, 16:07)
Community-Fossil
Treue Seele
C-/C++-Quelltext |
|
1 |
void moveShip(sf::RenderWindow &w, int speed, sf::Sprite s) |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
class CStarship { private: sf::Sprite sprite; public: CStarship(); void Load(); void Draw(sf::RenderWindow &app); }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <iostream> #include <SFML/Graphics.hpp> #include "starship.h" CStarship::CStarship() { sprite.SetX(10); sprite.SetY(10); }; void CStarship::Load() { sf::Image image; image.LoadFromFile("fighter.png"); sprite.SetImage(image); sprite.Scale(0.3f,0.3f); }; void CStarship::Draw(sf::RenderWindow &app) { app.Draw(sprite); // Move the sprite if (app.GetInput().IsKeyDown(sf::Key::Left)) sprite.Move(-200 * app.GetFrameTime(), 0); if (app.GetInput().IsKeyDown(sf::Key::Right)) sprite.Move( 200 * app.GetFrameTime(), 0); if (app.GetInput().IsKeyDown(sf::Key::Up)) sprite.Move(0, -200 * app.GetFrameTime()); if (app.GetInput().IsKeyDown(sf::Key::Down)) sprite.Move(0, 200 * app.GetFrameTime()); }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <SFML/Graphics.hpp> #include "starship.h" int main() { sf::RenderWindow App(sf::VideoMode(800, 600, 32), "Game Window"); CStarship fighter; fighter.Load(); while(App.IsOpened()) { sf::Event mainEvent; while(App.GetEvent(mainEvent)) { if(mainEvent.Type == sf::Event::Closed) { App.Close(); } } App.Clear(sf::Color(0,0,0)); fighter.Draw(App); App.Display(); } return 0; } |
Community-Fossil
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 |
class CStarship { private: sf::Sprite sprite; sf::Image m_img; public: CStarship(); void Load(); void Draw(sf::RenderWindow &app); }; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#include <iostream> #include <SFML/Graphics.hpp> #include "starship.h" CStarship::CStarship() { sprite.SetX(10); sprite.SetY(10); }; void CStarship::Load() { sf::Image image; image.LoadFromFile("fighter.png"); sprite.SetImage(image); sprite.Scale(0.2f,0.2f); this->m_img=image; }; void CStarship::Draw(sf::RenderWindow &app) { sprite.SetImage(this->m_img); app.Draw(sprite); // Move the sprite if (app.GetInput().IsKeyDown(sf::Key::Left)) sprite.Move(-200 * app.GetFrameTime(), 0); if (app.GetInput().IsKeyDown(sf::Key::Right)) sprite.Move( 200 * app.GetFrameTime(), 0); if (app.GetInput().IsKeyDown(sf::Key::Up)) sprite.Move(0, -200 * app.GetFrameTime()); if (app.GetInput().IsKeyDown(sf::Key::Down)) sprite.Move(0, 200 * app.GetFrameTime()); }; |
Werbeanzeige