Witam po uporaniu się z problem uruchomieniem aplikacji korzystającej z SFML przystąpiłem do nauki tejże biblioteki. Podczas pisania klasy gracza wystąpił mały problem:
expected unqualified-id before '.' token
Występuje on w takich miejscach:
Player.moove(0, -0.35);
i
Player.setPosition(100,100);
Kod źródłowy:
main.cpp
#include "Game.h"
int main()
{
Game Game;
Game.start();
return 0;
}
Game.h
#include <SFML/Graphics.hpp>
#include "Player.h"
class Game {
public:
Game();
~Game();
void start();
private:
void draw();
sf::RenderWindow window;
};
Game.cpp
#include "Game.h"
Game::Game()
{
Player Player;
window.create(sf::VideoMode(800,600),"");
}
Game::~Game()
{
}
void Game::start()
{
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
if(sf::Keyboard::isKeyPressed(sf::Keyboard::W))
Player.moove(0, -0.35);
if(sf::Keyboard::isKeyPressed(sf::Keyboard::S))
Player.moove(0, 0.35);
if(sf::Keyboard::isKeyPressed(sf::Keyboard::A))
Player.moove(-0.35, 0);
if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))
Player.moove(0.35, 0);
draw();
}
}
void Game::draw()
{
window.clear();
Player.setPosition(100,100);
window.display();
}
Player.h
#include <SFML/Graphics.hpp>
class Player
{
public:
Player();
~Player();
void moove(float, float);
void setPosition(int, int);
protected:
int hp;
sf::Texture _PTexture;
sf::RectangleShape player;
};
Player.cpp
#include "Player.h"
Player::Player()
{
player(sf::Vector2f(50, 50));
_PTexture.loadFromFile("Face.png");
player.setTexture( &_PTexture);
hp = 100;
}
Player::~Player()
{
}
void Player::moove(float x, float y)
{
player.move(x, y);
}
void Player::setPosition(int x, int y)
{
player.setPosition(x, y);
}