• Viernes 15 de Noviembre de 2024, 16:55

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.


Mensajes - fernandopcg

Páginas: [1]
1
C/C++ / Re: Llamar de una clase a otra
« en: Sábado 26 de Marzo de 2011, 18:31 »
sí, mejor uso la primera opción

¿Entonces está así bien escrito?

Citar
Código: C++
  1. nivel1.pintar(*pantalla.pant)
  2.  
en lugar de
Código: C++
  1. nivel1.pintar()
  2.  

2
C/C++ / Re: Llamar de una clase a otra
« en: Viernes 25 de Marzo de 2011, 22:46 »
Es verdad, me refería  a la primera opción, que torpe jeje  ^_^

3
C/C++ / Re: Llamar de una clase a otra
« en: Viernes 25 de Marzo de 2011, 20:56 »
Gracias por responder, m0skit0, creo que optaré por la segunda.

Lo estoy haciendo, pero visto que los punteros son justamente lo que peor se me quedó, pongo lo que hago para ver si hago bien:

Si he entendido bien es que cada vez que llame a la función pintar(), lo haga así
Código: C++
  1. nivel1.pintar(*pantalla.pant)
  2.  
en lugar de
Código: C++
  1. nivel1.pintar()
  2.  
?
Y luego en la función la cambie para que admita la entrada esta

4
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]