Помогите, советом и разъяснением. Учу С++ и у меня проблемы с классами и войдами в них. Делаю все вроде бы по примерчику, но ниче не работает.Кроме отрисовки карты. ЧТо нужно исправить ?? По координатам икс и игрик должен выводиться человечек. Когда пихал все в инт майн - работало. Когда в отдельный класс - перестало работать. К слову, при выведении на экран значений переменных X или Y , выводит какую то тарабарщину, хотя я задаю сотку на то и другое. Подскажите че нить, а то вдохновение прет, а творить не могуclass Player {public: bool moveRight, moveLeft, Gravity; int Impuls; float x; float y; Player () { bool moveRight = false; bool moveLeft = false ; bool Gravity = true; float x = 100; float y = 100; int Impuls = 1; } void Name () { if ( moveRight == true ) { x = x + 4; Sleep(100); } if ( moveLeft == true ) { x = x - 4; Sleep(100); } if ( y < 400 ) { Gravity = true; } if ( y >= 400 ) { Gravity = false; } if ( Gravity == true ) { y = Impuls + 4;Sleep(100); } }}; int main(){ RenderWindow window(VideoMode(640, 480), "Test!"); Clock clock; float time = clock.getElapsedTime().asMicroseconds(); clock.restart(); time = time / 700; if (time > 20) time = 20; float SetY = 120; float SetX = 200; Player moveR; Player moveL; Player X; Player Y; Player Impuls; Player G; Player V; Texture t; t.loadFromFile("Hmn.jpg"); Image map_image; map_image.loadFromFile("Texture.jpg"); while (window.isOpen()){Event event;while (window.pollEvent(event)){if (event.type == Event::Closed)window.close();}if (Keyboard::isKeyPressed(Keyboard::Left)){moveL.moveLeft = true;}if (Keyboard::isKeyPressed(Keyboard::Right)){moveR.moveRight = true; }if (!Keyboard::isKeyPressed(Keyboard::Right) && !Keyboard::isKeyPressed(Keyboard::Left)){moveR.moveRight = false;moveL.moveLeft = false;}if ((Keyboard::isKeyPressed(Keyboard::Up))&&( G.Gravity == false )){ Impuls.Impuls = -18.4; !G.Gravity; };if (Keyboard::isKeyPressed(Keyboard::V)){ cout << X.x; }if (Keyboard::isKeyPressed(Keyboard::B)){ cout << Y.y; }V.Name(); Texture map; map.loadFromImage(map_image); Sprite s_map; s_map.setTexture(map); Sprite s; s.setTexture(t); s.setPosition(X.x,Y.y); V.Name(); window.clear(Color::Black); for (int i = 0; i < H; i++) for (int j = 0; j < W; j++) { if (TileMap[j] == 'B') s_map.setTextureRect(IntRect(0, 0, 32, 32)); if ((TileMap[j] == ' ')) continue; s_map.setPosition(j 32 - SetX, i 32- SetY ); window.draw(s_map); } window.draw(s); window.display(); }; return 0; };
>>679919 (OP)> Учу С++Это твоя главная проблема.
>>679919 (OP)> я задаюНе задаешь. Прочитай еще раз главу про конструкторы или про инициализацию переменных (полей) класса.