TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
Le problème de ce sujet a été résolu
| Page : 1 | |||||||
| Auteur | Message | ||||||
|---|---|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||||
| Page : 1 | |||||||
Masado
|
# Posté le 03/07/2008 à 11:24:51 | ||||||
|
I'm a noob =) Groupe : Membres |
Bonjour,
Je code une classe qui gere la SDL pour moi, et la classe CSDL_Image herite de CSDL, j'ai donc besoin de blitter mon image sur l'écran. Le compilo me dit que ma variable m_ecran est protected mais j'essaye d'y acceder depuis la classe fille donc c'est censé marcher non ? Puisque mon code vaut mieux que de long discours ... main.cpp : Code : C
Le main est coupé mais le reste sert a rien ![]() la class CSDL : Code : C
Lui aussi est coupé, je vous met que les fonctions qui opere avec mon probleme et dans CSDL_Image : Code : C
C'est a la derniere ligne de SDL_BlitSurface que le compilo me dit que m_ecran est "protected" mais m_ecran appartient pourtant a la classe mere ... Alors est ce que c'est dut au fait que j'appelle l'instance depuis le main ? Si oui je pourrais utiliser des accesseurs pour pallier le probleme mais est ce que SDL_BlitSurface ne modifie pas la valeur de m_ecran donc le getEcran() serait insufisant ? |
||||||
raphamil
|
# Posté le 03/07/2008 à 12:17:54 | ||||||
![]() Groupe : Membres |
SI m_ecran est protected dans une classe CSDL, tu ne risques pas de pouvoir y accéder via une classe CSDL_Image (sauf si celle-ci hérite de la première) cf. dernier code.
(\__/) Exécuter plusieurs fonctions au chargement d'une page • Une horloge temps réel grâce à Javascript (nouveau) • Séparer le comportement de la strucure (bientôt) • Chercher plus rapidement dans la doc Qt(/¤.¤\) <= Lapinator ! ![]() ('')|('') ![]() |
||||||
Masado
|
# Posté le 04/07/2008 à 11:11:28 | ||||||
|
I'm a noob =) Groupe : Membres |
Justement, CSDL_Image hérite de CSDL mais je ne peux pas acceder a m_ecran regarde mon CSDL_Image par toi même :
#ifndef DEF_CSDL_Image #define DEF_CSDL_Image #include <iostream> #include <string> #include <SDL/SDL.h> #include <SDL/SDL_Image.h> #include "CSDL.h" Code : C
|
||||||
Hiura
|
# Posté le 04/07/2008 à 12:09:49 | ||||||
![]() Groupe : Membres |
c'est du c++, pas du c.
si par ~hasard~ dans la classe csdl tu as mis m_ecran private alors c'est normal que dans la classe fille tu ne puisses pas y accéder. mais tu fais une erreur bien plus grave à mon avis : tu as mal penser ton application. avec tes classes actuelles tu ne peux afficher qu'une seule surface dans ta fenêtre. si tu veux une bibliothèque oo qui fasse mieux que la sdl, regarde du côté de la sfml.
|
||||||
Masado
|
# Posté le 04/07/2008 à 12:22:56 | ||||||
|
I'm a noob =) Groupe : Membres |
Bah m_ecran est en mode protected
![]() Euh oui c'est du c++ mais j'ai mis type="c" ![]() Et pour la sfml ca m'interesse pas car je fais ca pour m'entraîner a manier le c++ donc aucun interêt mais merci quand même voilà CSDL.h : Code : C++
EDIT : J'ai une question, c'est quoi tout ces carrés rouge dans mon code ? =O
Édité
le 04/07/2008 à 12:25:03
par Masado
|
||||||
Hiura
|
# Posté le 04/07/2008 à 12:31:49 | ||||||
![]() Groupe : Membres |
Les carrés rouges sont, je crois, un problème d'encodage/caractère inconnu. efface tes espaces et remets les "à la main" (sans copier collé).
Si tu ne peux pas accéder à m_ecran alors je sais pas. Mais comme je l'ai dit, c'est pas terrible comme code. même si c'est pour s'entraîner. Si tu as 4 images à afficher, comment ferras-tu? (et sans rajouter trois surfaces dans ta classe, car c'est pas bien pensé). Et je comprends pas ce que peux faire csdl_image par rapport à csdl... |
||||||
Masado
|
# Posté le 04/07/2008 à 12:42:25 | ||||||
|
I'm a noob =) Groupe : Membres |
J'ai pas fini de coder CSDL_Image et si jai plusieurs images a blit j'ai juste a créer un objet de type CSDL_Image avec le link de l'image et apres j'appelle ma methode qui blit/flip l'écran et ca prend deux lignes au lieu de trois et j'ai moins de parametres a indiquer.
Sinon j'avais mis dans CSDL_Image la méthode MAJEcran qui appellait une variable d'une instance CSDL donc le compilo aimait, j'ai delete cette fonction qui est plus étée inutile car elle se trouvait déjà dans CSDL ... lol Donc maintenant le programme fonctionne bien =) Merci a ceux qui ont éssayer de m'aider |
||||||
Retour au forum "Langage C++" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
178 Zéros connectés |
8 requêtes |
0.0525s (0.0358s)
