IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

Deplacement de la balle


Sujet :

SFML

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 56
    Points
    56
    Par défaut Deplacement de la balle
    Bonjour,

    Je suis en train de créer un jeux. Dans se jeux le héros a une mitraillette sauf que moi je n'arrive pas a faire comme si il avait une mitraillette car il y a que une balle qui par je n'arrive pas a en generer d'autre quelqu'un pourrais t''il m'aider

    Bullets.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #ifndef BULLETS_H
    #define BULLETS_H
     
    #include <SFML\Graphics.hpp>
     
    #include "Human.h"
     
    class Bullets
    {
    public:
    	Bullets::Bullets();
     
    	//Accesseurs
    	int Bullets::getX(void) const;
    	int Bullets::getY(void) const;
    	int Bullets::getSpeed(void) const;
     
    	//Mutateur
    	void Bullets::setX(int valeur);
    	void Bullets::setY(int valeur);
    	void Bullets::setSpeed(int valeur);
     
    	//Fonction
    	void Bullets::draw(sf::RenderWindow &window, Map &map);
    	void Bullets::init(sf::RenderWindow &window, Map &map);
    	void Bullets::update(Input &input, sf::RenderWindow &window, Map &map);
     
    private:
    	int sizeX;
    	int sizeY;
    	int speedBullets;
    	int x, y;
    	int direction,etat;
     
    	sf::RectangleShape rect;
    	enum { BULLETSI, BULLETSL, BULLETSR, BULLETSU, BULLETSD };
    	enum { ARRET, AVANCE };
    };
     
    #endif // !BULLETS_H
    Bullets.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include <SFML\Graphics.hpp>
    #include <iostream>
    #include "Human.h"
    #include "Map.h"
    #include "Bullets.h"
     
    Human human;
     
     
    Bullets::Bullets()
    {
    	sizeX = 32;
    	sizeY = 32;
    	speedBullets = 3;
    	x = human.getX();
    	y = human.getY();
    	direction,etat = 0;
    }
    void Bullets::init(sf::RenderWindow &window, Map &map)
    {
    	sizeX = 32;
    	sizeY = 32;
    	speedBullets = 3;
    	x = 100;
    	y = 300;
    	direction =BULLETSU;
    	etat = ARRET;
    }
     
    int Bullets::getX(void) const { return x; }
    int Bullets::getY(void) const { return y; }
    int Bullets::getSpeed(void) const { return speedBullets; }
     
     
    //Mutateurs
    void Bullets::setX(int valeur) { x = valeur; }
    void Bullets::setY(int valeur) { y = valeur; }
    void Bullets::setSpeed(int valeur) { speedBullets = valeur; }
     
    void Bullets::draw(sf::RenderWindow &window, Map &map)
    {
    	rect.setFillColor(sf::Color::Red);
    	rect.setPosition(x, y);
    	rect.setSize(sf::Vector2f(sizeX, sizeY));
    	//window.draw(rect);
    }
     
    void Bullets::update(Input &input, sf::RenderWindow &window, Map &map)
    {
    	if (input.getButton().shoot)
    	{
    		direction = BULLETSU;
    		etat = AVANCE;
    	}
    	if (direction == BULLETSU && etat == AVANCE)
    	{
    		y += speedBullets;
    		window.draw(rect);
    	}
    }
    Merci pour votre aide en gros pour se qui ne comprenne pas je souhaiterais que mon heros est une mitraillette sauf que j'ai que une baalle qui sort
    L’Échec est la preuve que l'on à essayer
    Les question bête n'existe pas la seul chose bête c'est la personne qui n'auras pas poser la question

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Si tu crées qu'une seule bullet, il est normal d'en avoir qu'une seule qui sort de ton bonhomme ^^.

    Pour moi le code concernant la création de la bullet ne devrait pas se trouver dans la classe bullet mais ailleurs, genre dans une classe mitraillette .
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    Merci pour la réponse mais pour créer plusieur balle quelle méthode je devrait utiliser car je ne vois pas du tout
    L’Échec est la preuve que l'on à essayer
    Les question bête n'existe pas la seul chose bête c'est la personne qui n'auras pas poser la question

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Bah normalement, une classe mitraillette, qui va detecter le bouton fire, qui ajoutera une instance d'une classe bullet, qui se déplacera toute seule comme tu l'as fait à l'heure actuelle .

    La à l'initialisation de ton jeu (si je comprends bien, car il manque pas mal de code ^^), tu instancie une bullet, qui attend de recevoir le bouton fire pour partir.

    Mais comme ta bullet est instancié à l'initialisation, et que tu ne prévois pas de code afin d'en instancier d'autre, forcément tu n'en auras qu'une seule .
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Defois j'ai des erreur que je ne comprend jamais defois avec un peut de chance j'arrive a enlever cette erreur mais la je n'y arrive pas
    L'erreur est venus cette vois quand j'ai implémenter ma mitraillette
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Erreur  1   error LNK2005: "class Bullets bullets" (?bullets@@3VBullets@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Main.obj    Humain vs Alien
    Erreur  2   error LNK2005: "class Input input" (?input@@3VInput@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Main.obj    Humain vs Alien
    Erreur  3   error LNK2005: "class Map map" (?map@@3VMap@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Main.obj    Humain vs Alien
    Erreur  4   error LNK2005: "class Human human" (?human@@3VHuman@@A) déjà défini(e) dans Bullets.obj C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Main.obj    Humain vs Alien
    Erreur  5   error LNK2005: "int bulletsSpeed" (?bulletsSpeed@@3HA) déjà défini(e) dans Human.obj    C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Mitraillette.obj    Humain vs Alien
    Erreur  6   error LNK2005: "class Bullets bullets" (?bullets@@3VBullets@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Mitraillette.obj    Humain vs Alien
    Erreur  7   error LNK2005: "class Input input" (?input@@3VInput@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Mitraillette.obj    Humain vs Alien
    Erreur  8   error LNK2005: "class Map map" (?map@@3VMap@@A) déjà défini(e) dans Human.obj   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Mitraillette.obj    Humain vs Alien
    Erreur  9   error LNK2005: "class Human human" (?human@@3VHuman@@A) déjà défini(e) dans Bullets.obj C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Humain vs Alien\Mitraillette.obj    Humain vs Alien
    Erreur  10  error LNK1169: un ou plusieurs symboles définis à différentes reprises ont été rencontrés   C:\Users\FamilleMazet\documents\visual studio 2013\Projects\Humain vs Alien\Release\Humain vs Alien.exe Humain vs Alien
    Main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include <SFML\Graphics.hpp>
    #include <iostream>
    #include "Human.h"
    #include "Input.h"
    #include "Map.h"
    #include "Bullets.h"
    #include "Ennemy.h"
    #include "Mitraillette.h"
     
    using namespace std;
     
    int main()
    {
    	const int screenWidth = 800;
    	const int screenHeight = 480;
     
    	sf::RenderWindow window(sf::VideoMode(screenWidth, screenHeight, 32), "Human vs Alien v 2.0", sf::Style::Default);
    	window.setFramerateLimit(60);
     
     
    	Human human;
    	Input input;
    	Map map;
    	Bullets bullets;
    	Ennemy ennemy;
    	Mitraillette mitraillette;
     
    	human.init(map,false);
    	human.setLife(100);
     
    	map.setLevel(1);
    	map.changeLevel();
     
    	bullets.init(window, map);
     
    	ennemy.init(window);
     
    	mitraillette.init(window);
     
    	while (window.isOpen())
    	{
    		input.gestionInputs(window);
    		human.update(input,window);
     
    		window.clear();
    		map.drawBackground(window);
    		map.draw(2, window);
    	    map.draw(1, window);
     
    		// Affiche le joueur
    		human.draw(window, map);
    		bullets.draw(window, map);
    		mitraillette.update(window);
    		ennemy.draw(window, map);
     
    		map.draw(3, window);
    		window.display();
    	}
    	return 0;
    }
    Mitraillette.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #ifndef MITRAILLETTE_H
    #define MITRAILLETTE_H
     
    #include <SFML\Graphics.hpp>
    #include "Human.h"
    #include "Bullets.h"
    #include "Input.h"
    #include "Map.h"
     
    Human human;
    Bullets bullets;
    Input input;
    Map map;
     
    class Mitraillette
    {
    public:
    	Mitraillette();
     
    	// Mutateur
    	void Mitraillette::setMunition(int valeur);
    	void Mitraillette::setRecharge(int valeur);
    	void Mitraillette::setX(int valeur);
    	void Mitraillette::setY(int valeur);
     
    	//Accesseur
    	int Mitraillette::getMunition(void) const;
    	int Mitraillette::getRecharge(void) const;
    	int Mitraillette::getX(void) const;
    	int Mitraillette::getY(void) const;
     
    	// Fonction
    	void Mitraillette::init(sf::RenderWindow &window);
    	void Mitraillette::update(sf::RenderWindow &window);
     
    private:
     
    	int munition;
    	int recharge;
    	int x, y;
    	int direction, etat;
     
    	enum { bulletU, BulletD, BulletL, BulletR };
    	enum { ARRET, AVANCE };
    };
     
    #endif // !MITRAILLETTE_H
    Mitraillette.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    #include "Mitraillette.h"
     
     
    int humanPosX = human.getX();
    int humanPosY = human.getY();
    int bulletsSpeed = bullets.getSpeed();
     
    Mitraillette::Mitraillette()
    {
    	x, y;
    	munition;
    	recharge;
    	etat, direction;
    }
    // Accesseur
    int Mitraillette::getX(void) const { return x; }
    int Mitraillette::getY(void) const { return y; }
    int Mitraillette::getMunition(void) const { return munition; }
    int Mitraillette::getRecharge(void) const { return recharge; }
     
    // Mutateur
    void Mitraillette::setX(int valeur) { x = valeur; }
    void Mitraillette::setY(int valeur) { y = valeur; }
    void Mitraillette::setMunition(int valeur) { munition = valeur; }
    void Mitraillette::setRecharge(int valeur) { recharge = valeur; }
     
    //Fonction
    void Mitraillette::init(sf::RenderWindow &window)
    {
    	x = humanPosX;
    	y = humanPosY;
    	munition = 30;
    	recharge = 5;
    	etat = 0;
    	direction = 0;
    }
    void Mitraillette::update(sf::RenderWindow &window)
    {
    	if (input.getButton().shoot)
    	{
    		direction = BulletL;
    		etat = AVANCE;
    	}
    	if (direction == BulletL && etat == AVANCE)
    	{
    		y += bulletsSpeed;
    		bullets.draw(window, map);
    	}
    }

    Merci pour vos explication
    L’Échec est la preuve que l'on à essayer
    Les question bête n'existe pas la seul chose bête c'est la personne qui n'auras pas poser la question

  6. #6
    Membre averti
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Points : 435
    Points
    435
    Par défaut
    Faudra juste faire gaffe au nombre d'objets de type Bullets créés par ta nouvelle classe Mitraillette.
    Certainement une gestion par rapport au temps.
    Et le tout stocké dans un vector pour pop et push les balles une fois qu'elles sont créées ou qu'elles aient touchées.

  7. #7
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    J'ai reussie a faire ma classe Mitraillette sauf que ma balle ne bouge pas ingame et je comprend pas pourquoi

    Main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #include <SFML\Graphics.hpp>
    #include <iostream>
    #include "Human.h"
    #include "Input.h"
    #include "Map.h"
    #include "Bullets.h"
    #include "Ennemy.h"
    #include "Mitraillette.h"
     
    using namespace std;
     
    int main()
    {
    	const int screenWidth = 800;
    	const int screenHeight = 480;
     
    	sf::RenderWindow window(sf::VideoMode(screenWidth, screenHeight, 32), "Human vs Alien v 2.0", sf::Style::Default);
    	window.setFramerateLimit(60);
     
     
    	Human human;
    	Input input;
    	Map map;
    	Bullets bullets;
    	Ennemy ennemy;
    	Mitraillette mitraillette;
     
    	human.init(map,false);
    	human.setLife(100);
     
    	map.setLevel(1);
    	map.changeLevel();
     
    	bullets.init(window, map);
     
    	ennemy.init(window);
     
    	mitraillette.init(window,human,bullets);
     
    	while (window.isOpen())
    	{
    		input.gestionInputs(window);
    		human.update(input,window);
     
    		window.clear();
    		map.drawBackground(window);
    		map.draw(2, window);
    	    map.draw(1, window);
     
    		// Affiche le joueur
    		human.draw(window, map);
    		bullets.draw(window, map);
    		mitraillette.update(window, bullets, input, map);
    		ennemy.draw(window, map);
     
    		map.draw(3, window);
    		window.display();
    	}
    	return 0;
    }
    Mitraillette.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    #ifndef MITRAILLETTE_H
    #define MITRAILLETTE_H
     
    #include <SFML\Graphics.hpp>
    #include "Human.h"
    #include "Bullets.h"
    #include "Input.h"
    #include "Map.h"
     
    class Mitraillette
    {
    public:
    	Mitraillette();
     
    	// Mutateur
    	void Mitraillette::setMunition(int valeur);
    	void Mitraillette::setRecharge(int valeur);
    	void Mitraillette::setX(int valeur);
    	void Mitraillette::setY(int valeur);
     
    	//Accesseur
    	int Mitraillette::getMunition(void) const;
    	int Mitraillette::getRecharge(void) const;
    	int Mitraillette::getX(void) const;
    	int Mitraillette::getY(void) const;
     
    	// Fonction
    	void Mitraillette::init(sf::RenderWindow &window,Human &human,Bullets &bullets);
    	void Mitraillette::update(sf::RenderWindow &window, Bullets &bullets, Input &input, Map &map);
     
    private:
     
    	int munition;
    	int recharge;
    	int x, y;
    	int direction, etat;
    	int humanPosX;
    	int humanPosY;
    	int bulletsPosX;
    	int bulletsPosY;
    	int bulletsSpeed;
     
    	enum { bulletU, BulletD, BulletL, BulletR };
    	enum { ARRET, AVANCE };
    };
     
    #endif // !MITRAILLETTE_H
    Mitraillette.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    #include "Mitraillette.h"
     
     
     
    Mitraillette::Mitraillette()
    {
    	x, y;
    	munition;
    	recharge;
    	etat, direction;
    }
    // Accesseur
    int Mitraillette::getX(void) const { return x; }
    int Mitraillette::getY(void) const { return y; }
    int Mitraillette::getMunition(void) const { return munition; }
    int Mitraillette::getRecharge(void) const { return recharge; }
     
    // Mutateur
    void Mitraillette::setX(int valeur) { x = valeur; }
    void Mitraillette::setY(int valeur) { y = valeur; }
    void Mitraillette::setMunition(int valeur) { munition = valeur; }
    void Mitraillette::setRecharge(int valeur) { recharge = valeur; }
     
    //Fonction
    void Mitraillette::init(sf::RenderWindow &window,Human &human, Bullets &bullets)
    {
    	humanPosX = human.getX();
    	humanPosY = human.getY();
    	bulletsPosX = bullets.getX();
    	bulletsPosY = bullets.getY();
    	bulletsSpeed = bullets.getSpeed();
    	x = humanPosX;
    	y = humanPosY;
    	munition = 30;
    	recharge = 5;
    	etat = 0;
    	direction = 0;
    }
    void Mitraillette::update(sf::RenderWindow &window,Bullets &bullets,Input &input,Map &map)
    {
    	if (input.getButton().shoot)
    	{
    		direction = BulletL;
    	}
    	if (direction == BulletL)
    	{
    		bulletsPosY += bulletsSpeed;
    		bullets.draw(window, map);
    	}
    }
    Merci pour votre aide
    L’Échec est la preuve que l'on à essayer
    Les question bête n'existe pas la seul chose bête c'est la personne qui n'auras pas poser la question

  8. #8
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Sans le code, ça va être compliqué de te dire, il manque le code de bullet.cpp, mais je soupçonne que ta variable bulletspeed vaut 0, ce qui explique pourquoi elle n'avance pas.

    Plusieurs remarque:
    _ Bullet ne doit pas être instancié dans le main, c'est à la classe mitraillette de le faire lorsque le joueur appuie sur le bouton de tire.
    _ Mitraillette doit instancié la classe bullet à chaque appuie sur le bouton de tire.
    _ La classe mitraillette ne doit pas s'occuper de gérer ni l'affichage ni le déplacement de bullet.
    _ La classe mitraillette doit avoir une liste de bullet afin de pouvoir en avoir plusieurs.
    _ La classe mitraillette doit appelé pour chaque bullet dans la liste une méthode de bullet gérant l'affichage et une méthode de bullet gérant le déplacement.
    _ Tu n'as pas de gestion de frame dans ton main, il faut absolument que tu en fasse une sinon tu ne vas pas voir la bullet avancer correctement, renseigne toi sur internet pour gérer le FPS .

    Bon courage .
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Réponses: 16
    Dernier message: 05/04/2014, 20h06
  2. aide pour un exercice "deplacement d'une balle"
    Par darkness87 dans le forum Tkinter
    Réponses: 4
    Dernier message: 05/12/2010, 12h43
  3. [Qt] dessiner une balle et la déplacer
    Par lionrouge dans le forum Qt
    Réponses: 10
    Dernier message: 22/10/2006, 12h16
  4. Des déformations pas jolie lors du deplacement de la cam
    Par scorpiwolf dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/11/2002, 13h12
  5. [VB6] [Form] Interdire le déplacement d'une feuille
    Par Loïc dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/09/2002, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo