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 |
#include "overface.hpp" int main() { ///main variables sf::RenderWindow *mainWindow = new sf::RenderWindow(sf::VideoMode(400,600),"ClickerAge",sf::Style::Titlebar); sf::Event *mainEvent = new sf::Event; Overface game; game.Run(mainWindow,mainEvent); return EXIT_SUCCESS; } |
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 |
#ifndef OVERFACE_HPP_INCLUDED #define OVERFACE_HPP_INCLUDED #include <iostream> #include <SFML/Graphics.hpp> #include "Enemy.hpp" class Overface{ public: Overface(); ~Overface(); ///Run function void Run(sf::RenderWindow *w, sf::Event *ev); private: ///Standard functions void Render(sf::RenderWindow *w, sf::Event *ev); void Update(sf::RenderWindow *w, sf::Event *ev); ///Close Function void Esc(sf::RenderWindow *w); ///Background void loadBackground(); void drawBg(sf::RenderWindow *w); void deleteBackground(); sf::Sprite *BgSprite; sf::Texture *BgTexture; }; #endif // OVERFACE_HPP_INCLUDED |
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 |
#include "overface.hpp" Enemy enemy; Overface::Overface(){ loadBackground(); } ///Run void Overface::Run(sf::RenderWindow *w, sf::Event *ev){ while(w->isOpen()){ Render(w,ev); } } ///Standard Functions void Overface::Render(sf::RenderWindow *w, sf::Event *ev){ w->clear(); Update(w,ev); w->display(); } void Overface::Update(sf::RenderWindow *w, sf::Event *ev){ ///Close Esc(w); ///draw bg drawBg(w); ///Load Enemies enemy.Run(w); } ///Escape void Overface::Esc(sf::RenderWindow *w){ if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)){ w->close(); } } ///background void Overface::loadBackground(){ BgTexture = new sf::Texture; BgTexture->loadFromFile("Data/Sprites/Enemys/shit.png"); BgSprite = new sf::Sprite(*BgTexture); BgSprite->setPosition(00,0); } void Overface::drawBg(sf::RenderWindow *w){ //w->draw(*BgSprite); } void Overface::deleteBackground(){ delete BgSprite; delete BgTexture; } Overface::~Overface(){ deleteBackground(); } |
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 |
#ifndef ENEMY_HPP_INCLUDED #define ENEMY_HPP_INCLUDED #include <iostream> #include <SFML/Graphics.hpp> class Enemy{ public: Enemy(); ~Enemy(); ///Run function void Run(sf::RenderWindow *w); private: ///Click Event void Clicked(); int getScore(){return Score;}; int Score; ///Sprite Loading void loadSprite(); void drawSprite(sf::RenderWindow *w); void deleteSprite(); sf::Sprite *sprite; static sf::Texture *texture; }; #endif // ENEMY_HPP_INCLUDED |
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 |
#include "Enemy.hpp" sf::Texture *Enemy::texture; Enemy::Enemy(){ ///Sprite loadSprite(); this->Score=0; } ///Sprite void Enemy::loadSprite(){ texture = new sf::Texture; texture->loadFromFile("Data/Sprites/Enemys/shit.png"); sprite = new sf::Sprite(*texture); } void Enemy::drawSprite(sf::RenderWindow *w){ //w->draw(*sprite); } void Enemy::deleteSprite(){ delete sprite; delete texture; } ///Click Event void Enemy::Clicked(){ if(sf::Mouse::isButtonPressed(sf::Mouse::Left)){ this->Score++; } } ///Run function void Enemy::Run(sf::RenderWindow *w){ ///draw Sprite drawSprite(w); ///Click Event Clicked(); std::cout<<this->Score<<std::endl; } Enemy::~Enemy(){ ///delete Enemy deleteSprite(); } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TrikkieMikkie« (10.12.2015, 18:37)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Nimm bitte C++ Tags!
Das Bild befindet sich im angegebenen Ordner?
Das Tutorial von SFML weist explizit darauf hin, dass die Events des Fensters verarbeitet werden müssen. Das passiert in dem Code da oben aber nicht. Folglich kann Windows die Events nicht zustellen und denkt, dass das Programm nicht reagiert (was es in gewissem Sinne ja auch tatsächlich nicht tut).
Werbeanzeige