Dziedziczenie klas w 2 plikach

0

Witam
Usiluje napisac gre w SFML. Napisalem sobie 2 klasy: 1 odp za wyswietlanie okna, a druga za poruszanie sie postaci, a w przyszlosci za kolizje. Lecz mam niewielki problem. Jak moge dziedziczyc element Windows klasy sf::RenderWindow z klasy Okno w klasie Gracz, aby moc uzyc funkcji Windows.draw(sprite(sprite to tekstura gracza poruszana przeze mnie)). Pozdrawiam

0

Mi to wygląda na brak rozróżnienia dziedziczenia a udostępnienie referencji.

0

wiesz moglem to zle nazwac ale z opisu wskazuje na udostepnianie referencji?

0

Jak chcesz ogólnie to jakiś kurs poczytaj, jak chcesz konkretnie to podaj kod.
Zawsze możesz zgłosić się na forum wróżbitów ...

0

window.h

#ifndef KLASA_H_
#define KLASA_H_

class Game : public player
{
public:
	void start();
	sf::RenderWindow windows;
	sf::Event event;
	sf::Sprite sprite;
	
	
	
	
	
};

#endif 

window.cpp

#include <SFML/Graphics.hpp>
#include "window.h"
#include "player.h"


void Game::start()
{
	windows.create(sf::VideoMode(800, 600), "Games");

	while (windows.isOpen())
	{

		while (windows.pollEvent(event))
		{
			switch (event.type)
			{
			case sf::Event::Closed:
				windows.close();
				break;


			}

			
			windows.display();
			windows.clear();
		}
	}
} 

player.h

#ifndef KLASA_H_
#define KLASA_H_


class player 
	{
public:
	sf::Texture tekstura;
	sf::Sprite sprite;
	void postac();

	


};

#endif 

player.cpp

 #include <SFML\Graphics.hpp>
#include "window.h"



void player::postac()
{

	tekstura.loadFromFile("image.png");
	

	sprite.setTexture(tekstura);

	if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
	{
		sprite.move(5, 0);
	}
	if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
	{
		sprite.move(0, 5);
	}
	if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
	{
		sprite.move(0, -5);
	}
	if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
	{
		sprite.move(-5, 0);
	}
	windows.draw(sprite)
	
	
}

core.cpp

 #include <SFML\Graphics.hpp>
#include<iostream>
#include <string>
#include <fstream>
#include "window.h"



int main()
{
	Game game;

	game.start();

}
0
  1. W żadnym przypadku Game nie może dziedziczyć po player - to tak jakby chcesz zagrać tak no to zaraz plansza zostanie przykręcona do ciebie śrubami (boleśnie i niewygodnie).
  2. Zapoznaj się z pojęciem konstruktor
  3. W konstruktorze do player przekaż obiekt Game
  4. Rozdziel porządnie funkcjonalności.
0

a moglbys troche bardziej mnie poinstruować

0

Liczysz na streszczenie dokumentacji czy kursu C++?
http://www.cplusplus.com/doc/tutorial/

1 użytkowników online, w tym zalogowanych: 0, gości: 1