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 |
pPlayer = new Player(std::string("/Users/leonmaier/Desktop/Spiele selber gemacht/First Game/Referenzen/Texturen/Spieler.png"),sf::Vector2f(400,100)); |
C-/C++-Quelltext |
|
1 |
pInfotext = new Infotext(sf::Text); |
Alter Hase
Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy
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 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
#include "Infotext.hpp" Infotext::Infotext(std::string texturePath,sf::Vector2f position){ #include "Framework.hpp" pFont = new sf::Font; pFont->loadFromFile("/Users/leonmaier/Desktop/Spiele selber gemacht/First Game/Referenzen/sansation.ttf"); Text.setFont(*pFont); Text.setString("(1/4)Steuerung:\nW = Oben\nA = Links\nS = Unten\nD = Rechts\nShift = Sprinten\nPfeil rechts = Seite vor\nPfeil links = Seite zurueck\nH = Hilfe an/aus"); Text.setCharacterSize(50); Text.setPosition(10, 0); Text.setColor(sf::Color::Black); Hilfemenü = true; Seitenzahl = 1; } void Infotext::update(float frametime){ wasPressedH = isPressedH; isPressedH = sf::Keyboard::isKeyPressed(sf::Keyboard::H); if (!wasPressedH && isPressedH) Hilfemenü = !Hilfemenü; wasPressedRight = isPressedRight; isPressedRight = sf::Keyboard::isKeyPressed(sf::Keyboard::Right); if (!wasPressedRight && isPressedRight) Seitenzahl = Seitenzahl + 1; wasPressedLeft = isPressedLeft; isPressedLeft = sf::Keyboard::isKeyPressed(sf::Keyboard::Left); if (!wasPressedLeft && isPressedLeft) Seitenzahl = Seitenzahl - 1; if (Seitenzahl == 1) Text.setString("(1/4)Steuerung:\nW = Oben\nA = Links\nS = Unten\nD = Rechts\nShift = Sprinten\nPfeil rechts = Seite vor\nPfeil links = Seite zurueck\nH = Hilfe an/aus"); if (Seitenzahl == 2) Text.setString("(2/4)Allgemein:\nW = Oben\nA = Links\nS = Unten\nD = Rechts\nShift = Sprinten\nPfeil rechts = Seite vor\nPfeil links = Seite zurueck\nH = Hilfe an/aus"); // //Ende Infotext if ((sf::Keyboard::isKeyPressed(sf::Keyboard::A))) { //Links Text.move(-200*frametime, 0); } if ((sf::Keyboard::isKeyPressed(sf::Keyboard::A)) && (sf::Keyboard::isKeyPressed(sf::Keyboard::LShift))) { //Links sprinten Text.move(-300*frametime, 0); } if (sf::Keyboard::isKeyPressed(sf::Keyboard::D)) { //Rechts Text.move(200*frametime, 0); } if ((sf::Keyboard::isKeyPressed(sf::Keyboard::D)) && (sf::Keyboard::isKeyPressed(sf::Keyboard::LShift))) { //Rechts sprinten Text.move(300*frametime, 0); } if (sf::Keyboard::isKeyPressed(sf::Keyboard::W)) { //Oben Text.move(0, -200*frametime); } if ((sf::Keyboard::isKeyPressed(sf::Keyboard::W)) && (sf::Keyboard::isKeyPressed(sf::Keyboard::LShift))) { //Oben sprinten Text.move(0, -300*frametime); } if (sf::Keyboard::isKeyPressed(sf::Keyboard::S)) { //Unten Text.move(0, 200*frametime); } if ((sf::Keyboard::isKeyPressed(sf::Keyboard::S)) && (sf::Keyboard::isKeyPressed(sf::Keyboard::LShift))) { //Unten sprinten Text.move(0, 300*frametime); } } void Infotext::handle(){ } void Infotext::render(sf::RenderWindow *rw){ if (Hilfemenü == true) rw->draw(Text); } |
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 |
#ifndef INFOTEXT_HPP #define INFOTEXT_HPP #include <iostream> #include <SFML/Graphics.hpp> class Infotext{ public: Infotext(std::string texturePath,sf::Vector2f position); void update(float frametime); void render(sf::RenderWindow *rw); void handle(); private: void loadInfotext(); sf::Text Text; sf::Font *pFont; bool Hilfemenü; int Seitenzahl; bool wasPressedH; bool isPressedH; bool wasPressedRight; bool isPressedRight; bool wasPressedLeft; bool isPressedLeft; }; #endif |
Alter Hase
Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy
New verwende ich, weil ich es damals in einem Tutorial so gelernt habe und es eigentlich immer funktioniert hat
Wieso ein include der Framework.hpp in der .cpp und noch dazu mitten in einer Methode?
Und dein Code funktioniert nicht, weil Infotext keinen Konstruktor hat, der nur einen sf::Text entgegennimmt
Und die Grundlagen nach wie vor nicht Verstanden, damit ist dann Niemanden geholfen.
Damit hast du nicht unrecht. Ich will mich momentan aber erstmal auf das wichtige konzentrieren. Vielleicht kann ich mir (falls ich es später nochmal benötigen werde) das ja durch Logik selbst erschließen. Wenn du mir aber helfen willst würde ich mich aber trotzdem sehr freuen
Und dein Code funktioniert nicht, weil Infotext keinen Konstruktor hat, der nur einen sf::Text entgegennimmt.
C-/C++-Quelltext |
|
1 |
Infotext(std::string texturePath,sf::Vector2f position); |
C-/C++-Quelltext |
|
1 |
pInfotext = new Infotext(sf::Text); |
Werbeanzeige