Podczas kompilacji wyskakuje mi błąd nie zdeklarowano funkcji o nazwie "moove", "ptexture" i "Event" uczę się dopiero programowania obiektowego więc nie za bardzo wiem o co chodzi z tymi błędami.
Kod:
Base.h
#include <SFML/Graphics.hpp>
#include "player.h"
#include "variable.h"
class Base
{
public:
Base();
~Base();
void start();
private:
void draw();
sf::RenderWindow window;
Player player;
};
Base.cpp
#include "base.h"
Base::Base()
{
window.create(sf::VideoMode(window_w,window_h),"");
ptexture.loadFromFile("data/player.png");
player.setPosition(200,300);
player.setTexture(ptexture);
}
Base::~Base()
{
}
void Base::start()
{
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
if (event.type == Event::KeyReleased)
{
if (event.key.code == sf::eyboard::Left)
{
moove(-1, 0);
}
else if (event.key.code == sf::Keyboard::Right)
{
moove(1, 0);
}
else if (event.key.code == sf::Keyboard::Up)
{
moove(0, -1);
}
else if (event.key.code == sf::Keyboard::Down)
{
moove(0, 1);
}
}
}
draw();
}
}
void Base::draw()
{
window.clear(sf::Color(R,G,B));
player.draw(window);
window.display();
}
Player.h
#include <SFML/Graphics.hpp>
class Player
{
public:
Player();
~Player();
void moove(float,float);
void setPosition(int,int);
void setTexture(sf::Texture &);
void draw(sf::RenderWindow &);
float x();
float y();
private:
int hp;
int strength;
float speed;
sf::Texture *ptexture;
sf::Sprite player;
};
#include "player.h"
Player::Player()
{
hp = 100;
strength = 5;
speed = 250;
ptexture = NULL;
}
Player::~Player()
{
}
Player::moove(float x, float y)
{
}
Player::setPosition(int x, int y)
{
}
Player::setTexture(sf::Texture &t)
{
ptexture = &t;
player.setTexture(*texture);
}
Player::draw()
{
}
float Player::x()
{
return player.getPosition().x;
}
float Player::y()
{
return player.getPosition().y;
}