Menos Temat założony przez niniejszego użytkownika |
[SFML 1.6] Problem z Image i Sprite » 2013-01-05 13:05:24 Witam Mam problem z zainicjalizowaniem sf::Image i sf::Sprite Mam klase : #ifndef WINDOWMANAGER_H #define WINDOWMANAGER_H #include "Mapa.h" #include <cstdlib> #include <iostream> #include <ctime> #include <cstdio> #include <conio.h> #include <time.h> #include <SFML/Graphics.hpp> #include <SFML/Window.hpp> #include <SFML/System.hpp> using namespace sf; class WindowManager { public: sf::Image ki1, ki3, ki2, ki4, ki5, ki6, ki7, ki8; sf::Sprite k1, k3, k2, k4, k5, k6, k7, k8; ki1.LoadFromFile( "chodnik.png" ); ki2.LoadFromFile( "mario.png" ); ki3.LoadFromFile( "cos.png" ); ki4.LoadFromFile( "tiles10.png" ); ki5.LoadFromFile( "ex.png" ); ki6.LoadFromFile( "start.png" ); ki7.LoadFromFile( "end.png" ); ki8.LoadFromFile( "instr.png" ); k2.SetScale( 0.125, 0.125 ); k1.SetImage( ki1 ); k2.SetImage( ki2 ); k3.SetImage( ki3 ); k4.SetImage( ki4 ); k5.SetImage( ki5 ); k6.SetImage( ki6 ); k7.SetImage( ki7 ); k8.SetImage( ki8 ); WindowManager(); virtual ~WindowManager(); void wyswietl_menu( RenderWindow & Okno ); void rysuj_mape( Mapa * mapa, RenderWindow & Okno ); void baw_sie( Gracz * gracz, RenderWindow & Okno ); void ucz_sie( Gracz * gracz, RenderWindow & Okno ); void rob_sciage( Gracz * gracz, RenderWindow & Okno ); bool pause( RenderWindow & Okno ); protected: private: }; [ \c ode ]
I wywala mi bledy podczas kompilacji [ code src = "C++" ] include\WindowManager.h | 20 | error: ISO C++forbids declaration of 'ki1' with no type | include\WindowManager.h | 20 | error: expected ';' before '.' token | include\WindowManager.h | 21 | error: ISO C++forbids declaration of 'ki2' with no type | include\WindowManager.h | 21 | error: expected ';' before '.' token | include\WindowManager.h | 22 | error: ISO C++forbids declaration of 'ki3' with no type | include\WindowManager.h | 22 | error: expected ';' before '.' token | include\WindowManager.h | 23 | error: ISO C++forbids declaration of 'ki4' with no type | include\WindowManager.h | 23 | error: expected ';' before '.' token | include\WindowManager.h | 24 | error: ISO C++forbids declaration of 'ki5' with no type | include\WindowManager.h | 24 | error: expected ';' before '.' token | include\WindowManager.h | 25 | error: ISO C++forbids declaration of 'ki6' with no type | include\WindowManager.h | 25 | error: expected ';' before '.' token | include\WindowManager.h | 26 | error: ISO C++forbids declaration of 'ki7' with no type | include\WindowManager.h | 26 | error: expected ';' before '.' token | include\WindowManager.h | 27 | error: ISO C++forbids declaration of 'ki8' with no type | include\WindowManager.h | 27 | error: expected ';' before '.' token | include\WindowManager.h | 30 | error: ISO C++forbids declaration of 'k2' with no type | include\WindowManager.h | 30 | error: expected ';' before '.' token | include\WindowManager.h | 32 | error: ISO C++forbids declaration of 'k1' with no type | include\WindowManager.h | 32 | error: expected ';' before '.' token | include\WindowManager.h | 33 | error: ISO C++forbids declaration of 'k2' with no type | include\WindowManager.h | 33 | error: expected ';' before '.' token | include\WindowManager.h | 34 | error: ISO C++forbids declaration of 'k3' with no type | include\WindowManager.h | 34 | error: expected ';' before '.' token | include\WindowManager.h | 35 | error: ISO C++forbids declaration of 'k4' with no type | include\WindowManager.h | 35 | error: expected ';' before '.' token | include\WindowManager.h | 36 | error: ISO C++forbids declaration of 'k5' with no type | include\WindowManager.h | 36 | error: expected ';' before '.' token | include\WindowManager.h | 37 | error: ISO C++forbids declaration of 'k6' with no type | include\WindowManager.h | 37 | error: expected ';' before '.' token | include\WindowManager.h | 38 | error: ISO C++forbids declaration of 'k7' with no type | include\WindowManager.h | 38 | error: expected ';' before '.' token | include\WindowManager.h | 39 | error: ISO C++forbids declaration of 'k8' with no type | include\WindowManager.h | 39 | error: expected ';' before '.' token | ||=== Build finished: 34 errors, 0 warnings ===| [ \c ode ] |
|
crash |
» 2013-01-05 13:55:22 Poniższe instrukcje ki1.LoadFromFile( "chodnik.png" ); ki2.LoadFromFile( "mario.png" ); ki3.LoadFromFile( "cos.png" ); ki4.LoadFromFile( "tiles10.png" ); ki5.LoadFromFile( "ex.png" ); ki6.LoadFromFile( "start.png" ); ki7.LoadFromFile( "end.png" ); ki8.LoadFromFile( "instr.png" );
k2.SetScale( 0.125, 0.125 );
k1.SetImage( ki1 ); k2.SetImage( ki2 ); k3.SetImage( ki3 ); k4.SetImage( ki4 ); k5.SetImage( ki5 ); k6.SetImage( ki6 ); k7.SetImage( ki7 ); k8.SetImage( ki8 );
umieść w metodzie. Wnętrze klasy służy do deklaracji pól i metod, nie do zwykłego wykonywania kodu - do tego celu służą metody, a właściwie ich ciała. |
|
kubawal |
» 2013-01-05 13:58:15 Dokładnie to w konstruktorze. |
|
Menos Temat założony przez niniejszego użytkownika |
» 2013-01-05 14:28:11 #include "WindowManager.h" #include<iostream> using namespace std; using namespace sf; WindowManager::WindowManager() { cout << "Stworzony WindowManager" << endl; Image ki1, ki3, ki2, ki4, ki5, ki6, ki7, ki8, ki9; ki1.LoadFromFile( "chodnik.png" ); ki2.LoadFromFile( "mario.png" ); ki3.LoadFromFile( "cos.png" ); ki4.LoadFromFile( "tiles10.png" ); ki5.LoadFromFile( "ex.png" ); ki6.LoadFromFile( "start.png" ); ki7.LoadFromFile( "end.png" ); ki8.LoadFromFile( "instr.png" ); ki9.LoadFromFile( "wykladowca.png" ); Sprite k1, k3, k2, k4, k5, k6, k7, k8, k9; k2.SetScale( 0.125, 0.125 ); k1.SetImage( ki1 ); k2.SetImage( ki2 ); k3.SetImage( ki3 ); k4.SetImage( ki4 ); k5.SetImage( ki5 ); k6.SetImage( ki6 ); k7.SetImage( ki7 ); k8.SetImage( ki8 ); k9.SetImage( ki9 ); } Niestety nie rozumie tego tez... Przy wowolaniu innej metody klasy WindowManager i tak wyskakuje : C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp||In member function 'int WindowManager::wyswietl_menu(sf::RenderWindow&)':| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|46|error: 'k6' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|47|error: 'k7' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|48|error: 'k3' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|53|error: 'k1' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|55|error: 'ki1' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|57|error: 'k2' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|59|error: 'ki2' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|63|error: 'ki3' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp||In member function 'void WindowManager::rysuj_mape(Mapa*, sf::RenderWindow&)':| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|157|error: 'k1' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|163|error: 'k3' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|168|error: 'k4' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|173|error: 'k2' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|180|error: 'k5' was not declared in this scope| C:\Users\Filip\Desktop\polibudafr\gra\nowagra\kod gry\src\WindowManager.cpp|185|error: 'k6' was not declared in this scope| ||=== Build finished: 14 errors, 0 warnings ===| |
|
kubawal |
» 2013-01-05 15:00:25 Definicje sprite'ów i image'ów umieszczasz w private! Czytałeś w ogóle o używaniu klas? |
|
« 1 » |