Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [Résolu] Rectangle à l'intérieur d'un objet  (Lu 2422 fois)

0 Membres et 1 Invité sur ce sujet

rudelune

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
[Résolu] Rectangle à l'intérieur d'un objet
« le: Août 29, 2013, 11:51:52 pm »
Bonjour à tous,
Je possède SFML 2.1 et je souhaite faire un mini-RPG ayant pour seul but de m'apprendre à maitriser la POO.
Cependant un problème ce pose, j'aimerai déclarer un rectangle à l'intérieur de mon objet et même si possible l'afficher directement dans l'objet. Cela est-il possible ? et dans ce cas comment.
Merci d'avance pour vos réponse que j'espère nombreuse.
Bonne fin de vacances
Amicalement
RuDeLune

PS : Voici mon code pour l'instant :
#include "Aventurier.h"

#include <SFML/Graphics.hpp>

Aventurier::Aventurier()
{

}

Aventurier::~Aventurier()
{

}

void Aventurier::attaque_CoupDePoing(Personnage &cible) const
{
    cible.recevoirDegats(10);
}

sf::RectangleShape rectangle(sf::Vector2f(120, 50));
 
« Modifié: Août 30, 2013, 05:19:40 pm par rudelune »

Thall206

  • Newbie
  • *
  • Messages: 16
    • Voir le profil
Re : Rectangle à l'intérieur d'un objet
« Réponse #1 le: Août 30, 2013, 09:07:55 am »
Déclarer un rectangle? Comme une hitbox traditionnel? Si c'est le cas, n'importe quel sprite a une fonction getGlobalBound.

Mais si tu souhaites une rectangle dans ton objet, alors tu peux initialiser un rectangle à la position de ton objet, oui, et l'afficher dessus, en dessinant (draw) l'objet puis le rectangle, j'espere avoir bien compris ta question, sinon désolé  ???

rudelune

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Rectangle à l'intérieur d'un objet
« Réponse #2 le: Août 30, 2013, 03:55:11 pm »
Salut,
Merci tout d'abord de m'avoir répondu aussi rapidement ;)
J'ai encore deux problèmes :
j'ai donc crée une texture dans mon Personnage.h :
sf::Texture texture;
    texture.loadFromFile("C:\Projets\C++\test_sfml\ressources\images\Personnages\rudelune\rudelune_0.png");
Cela m'affiche l'erreur :
Citer
error: 'texture' does not name a type
Comment faire ?
Ma seconde question est : quand je fait :
 texture.loadFromFile("ressources\images\Personnages\rudelune\rudelune_0.png");
où va-t-il chercher l'images ?

Merci d'avance
Amicalement
Jérôme (alias RuDeLune)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Rectangle à l'intérieur d'un objet
« Réponse #3 le: Août 30, 2013, 04:06:17 pm »
Tu ne devrais pas t'attaquer à un tel projet sans connaître les bases du C++. C'est une très mauvaise idée ; on risque de te voir ici tous les jours car à chaque fois que tu vas écrire du code tu vas avoir une erreur.

Ce que je te conseille plutôt, c'est de trouver un bon livre et de le suivre pas à pas jusqu'à ce que tu maîtrises la syntaxe de base du C++.

Pour répondre à ta question, ici le problème est que tu mets des instructions dans la définition d'une classe ; tu ne peux y mettre que des déclarations de variables ou de fonctions, les instructions quant à elles doivent se trouver dans le corps d'une fonction de la classe. Pour résumer, tu as du code qui se balade en dehors d'une fonction, et ça ça ne marche pas en C++.

Pour ta seconde question, les chemins sont relatifs au chemin de travail courant. Ce qu'il vaut par défaut dépend de comment tu exécutes ton application : ça peut être le dossier de l'exécutable, ou le dossier du projet.
Laurent Gomila - SFML developer

rudelune

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Rectangle à l'intérieur d'un objet
« Réponse #4 le: Août 30, 2013, 05:19:04 pm »
En faite je pense que je connais à peu près la syntaxe du C++ en ayant suivit le tutoriel du site du zéro entièrement, cependant, cela fait 2 mois que je n'ai plus fait de C++, il faut que je me réhabitue et je viens de commencer le SFML.
Pour les personnes qui cherchent pourquoi l'image ne s'affichait pas c'est car il fallait mettre des "/" et non pas des "\" ?!
Merci à vous deux d'avoir répondu à mes questions.Amicalement
Jérôme (alias RuDeLune)