Cita de: ivancea96 en 11 Mayo 2016, 16:32 PM
Porque no existe. Tú pusiste:Código (cpp) [Seleccionar]Mapa(Graphics);
Querrías decir:Código (cpp) [Seleccionar]Mapa(Graphics*);
tenes razon, que error pelotudo...
gracias amigo por tu ayuda jajaj
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: ivancea96 en 11 Mayo 2016, 16:32 PM
Porque no existe. Tú pusiste:Mapa(Graphics);
Querrías decir:Mapa(Graphics*);
Cita de: ivancea96 en 11 Mayo 2016, 15:59 PM
No has puesto la línea del error.
En cualquier caso, coloca antes de los #IFDEF de cada clase, "class NOMBRE;", donde NOMBRE es el nombre de la clase del archivo. Comprueba si así funciona.
Ej:class Tile;
#ifndef TILE_H
#define TILE_H
#include "mapa.h"
class Tile
{
Cita de: ivancea96 en 11 Mayo 2016, 15:34 PM
Has expuesto el tema, pero no el problema. ¿Qué ocurre con ello?
//tile.h
#ifndef TILE_H
#define TILE_H
#include "mapa.h"
class Tile
{
public:
Tile(Mapa*, int, int);
~Tile();
void Draw();
private:
Mapa *parent;
int posX;
int posY;
};
#endif // TILE_H
[/code=cpp]
[code]//tile.cpp
#include "tile.h"
Tile::Tile(Mapa *_parent, int x, int y)
{
parent = _parent;
posX = x;
posY = y;
}
Tile::~Tile()
{
}
void Tile::Draw()
{
int px = (posX - posY) * (parent->parent->tile->w /2) + parent->scrollX;
int py = (posX + posY) * (parent->parent->tile->h /2) + parent->scrollY;
draw_sprite(parent->parent->buffer, parent->parent->tile, px, py);
delete px;
delete py;
}
//mapa.h
#include "graphics.h"
#ifndef MAPA_H
#define MAPA_H
#include "tile.h"
class Mapa
{
public:
Mapa(Graphics);
~Mapa();
void Draw();
private:
Tile *matriz[64][64];
int scrollX;
int scrollY;
Graphics *parent;
};
#endif // MAPA_H
#include "mapa.h"
Mapa::Mapa(Graphics *_parent)
{
parent = _parent;
for(int i=0; i<64; i++)
{
for(int j=0; j<64; j++)
{
matriz[j][i] = new Tile(this, j, i);
}
}
}
Mapa::~Mapa()
{
}
void Mapa::Draw()
{
for(int i=0; i<64; i++)
{
for(int j=0; j<64; j++)
{
matriz[j][i]->Draw();
}
}
}