Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > API graphiques > SFML
SFML Forum d'entraide sur l'API SFML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/03/2012, 14h33   #1
Shinigamishin
Invité de passage
 
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Problème SFML: Sortie d'ecran, collision et autre~

Salut je post sur le forum car j'ai des petits soucis:

En premier: Je voudrais faire en sorte qu'une image soit afficher sur l’écran que quand j’appuie sur une touche mais le problème c'est que l'image est afficher au lancement du programme et j'ai pas trouver comment régler le problème..

Sinon j'ai un petit soucis au niveau des collisions j'ai trouver un TUTO mais je n'ai pas trop compris, Puis je voudrais empêcher une image de sortir de ma fenêtre comment je peu faire ?

Merci d'avance~
Shinigamishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2012, 14h45   #2
Bousk
Modérateur
 
Homme Cyrille
Network programmer
Inscription : juin 2010
Messages : 1 570
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Network programmer

Informations forums :
Inscription : juin 2010
Messages : 1 570
Points : 4 156
Points : 4 156
Bonjour,

un peu de code pourrait être une bonne idée.
A défaut, un peu de logique ne fait pas de mal.

Citation:
En premier: Je voudrais faire en sorte qu'une image soit afficher sur l’écran que quand j’appuie sur une touche mais le problème c'est que l'image est afficher au lancement du programme et j'ai pas trouver comment régler le problème..
Si ton image s'affiche c'est que... tu l'affiches ! Oui bonne réponse.
Retire le code de l'affichage au démarrage, ou mieux place-le sous condition, la condition devant être fausse au démarrage, vraie après l'appui sur la touche.

Citation:
Sinon j'ai un petit soucis au niveau des collisions j'ai trouver un TUTO mais je n'ai pas trop compris, Puis je voudrais empêcher une image de sortir de ma fenêtre comment je peu faire ?
On parle de collision entre 2 éléments ou avec le bord de la fenêtre ?
Pour le bord de la fenêtre, tu as
- la taille de ton image
- la taille de ta fenêtre
- la position de ton image
A toi de faire en sorte que ton image ne dépasse pas, en fonction de ces 3 éléments. Rien de sorcier, une addition et un test de supériorité.
Je te laisse chercher par toi-même avec ces éléments, c'est assez trivial.
Bousk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2012, 15h08   #3
Shinigamishin
Invité de passage
 
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Merci beaucoup, sinon je parler de collision entre deux éléments et aussi avec le bord de ma fenêtre . Tu veux tout mon code ?
Shinigamishin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2012, 07h58   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 791
Points : 43 072
Points : 43 072
Bonjour,

N'hésitez pas à prendre une feuille et à dessiner le grand rectangle de la fenêtre et le plus petit rectangle de la fenêtre.
De plus, la position d'une image est généralement calculée en partant du coin haut gauche.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2012, 11h36   #5
Kaamui
Membre expérimenté
 
Homme Clément
ingénieur d'étude et de développement
Inscription : novembre 2011
Messages : 432
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : ingénieur d'étude et de développement
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2011
Messages : 432
Points : 585
Points : 585
Pour ton problème d'image qui s'affiche, pose une condition sur la méthode Draw de ta fenêtre et gère dans la boucle des évènements un booléen :


Pour l'exemple : ta RenderWindow s'appelle App, ton event s'appelle event et la touche est espace, et ton sprite s'appelle sprite
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
bool afficherSprite = false;
while ( App.IsOpened() )
{
   while (App.GetEvent(event))
   {
       if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape))
         afficherSprite = true;
       if ((Event.Type == sf::Event::KeyReleased) && (Event.Key.Code == sf::Key::Escape))
         afficherSprite = false;
   }
   if (afficherSprite)
      App.Draw(sprite);
 
}
Le code n'est pas le même si tu souhaite qu'à l'appui l'image s'affiche et qu'à l'appui suivant elle disparaisse.
Kaamui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h46.


 
 
 
 
Partenaires

Hébergement Web