• Jueves 3 de Julio de 2025, 13:22

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - fernandopcg

Páginas: [1]
1
C/C++ / Llamar de una clase a otra
« en: Viernes 25 de Marzo de 2011, 19:47 »
Hola a todos, es mi primera intervención el el foro, espero que no la última

El caso es que tengo un proyecto  de videojuego en construccion, pero me topo con este problema

-> Estoy usando Bloodshed Dev-C++ 4.9.9.2 y Allegro

Tengo estos archivos:
main.cpp
pantalla.h
bloques.h

en pantalla.h tengo las rutinas de creacion de ventanas y tal,  tambien he implementado el doble buffer
en bloques.h tengo la clase bloque , una de cuyas funciones (void bloques::pintar() donde se dibujan los bloques en pantalla) requiere de acceso   al buffer que hay en pantalla.h

en la main.cpp tengo:

Código: C++
  1.  
  2. #include <allegro.h>
  3. #include <stdlib.h>
  4. #include "pantalla.h"
  5. #include "bloques.h"
  6. (...) otras cosas, ahora empieza la main:
  7. pantalla pant;
  8.     pant.crear();
  9.     pant.creabuffer();
  10.     bloques nivel1;
  11.     nivel1.pintar();
  12.  

desde bloques::pintar() quiero hacer
Código: C++
  1. blit(bloque,pant.buffer,0,0,posx,posy,ancho,alto);
  2.  
pero Dev-C++ me da este error:
In member function `void bloques::generar()': 'pant' undeclared (first use this function)
build error - main.o error 1



La pregunta del millón: Cómo llamar a funciones que se encuentran en otras clases si no se pueden llamar como yo lo he hecho  :ouch:
AL que me ayude a arreglarlo le prmeto que le pongo en los créditos como agradecimientos (Es el "Arkanoid - Primero de carrera edition", por cierto)

Páginas: [1]