Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - toto012

Pages: [1]
1
Graphique / Re : Un simple bouton qui marche pas
« le: Septembre 26, 2013, 01:55:10 pm »
Merci ! :)

2
Graphique / [RESOLU] Un simple bouton qui marche pas
« le: Septembre 25, 2013, 09:36:52 pm »
Bonjour,

Je cherchais un moyen de faire un bouton et voila mon code (qui ne marche pas):
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <cstdlib>
#include <iostream>.

#define APP_WIDTH 800
#define APP_HEIGHT 600

using namespace sf;
using namespace std;

int main()
{
    RenderWindow app(sf::VideoMode(APP_WIDTH, APP_HEIGHT), "Ninja - Initialisation");
    app.setFramerateLimit(60);

    RectangleShape bouton(Vector2f(100,100));
    bouton.setPosition(Vector2f(200,200));

    while (app.isOpen())
    {
        sf::Event event;
        while (app.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                app.close();
        }

        if(Mouse::isButtonPressed(Mouse::Right))
        {
            if(Mouse::getPosition().x >= bouton.getPosition().x && Mouse::getPosition().x <= bouton.getPosition().x + bouton.getGlobalBounds().width && Mouse::getPosition().y >= bouton.getPosition().y && Mouse::getPosition().y <= bouton.getPosition().y + bouton.getGlobalBounds().height)
            {
                cout << "clic bouton" << endl;
            }
        }

        app.clear();

        app.draw(bouton);

        app.display();

    }

    return 0;
}

 

Quand je clic bah ya rien qui réagit ...

Merci d'avance

3
Graphique / Re : setTextureRect m'affiche toute la sprite sheet
« le: Septembre 15, 2013, 10:09:25 pm »
Merci pour cette réponse rapide :)

C'etait bien ca le probième : je croyais que ca n'avais pas changé de la 1.6 a la 2.0(2.1)

Merci encore !

4
Graphique / [RESOLU]setTextureRect m'affiche toute la sprite sheet
« le: Septembre 15, 2013, 07:00:35 pm »
Bonjour a tous,

J'ai un gros problème avec setTextureRect.
Voila le code :
#include <cstdlib>
#include <iostream>
#include <time.h>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <windows.h>
#include <sstream>
#include <iostream>
#include <fstream>
#include <string.h>

using namespace sf;
using namespace std;

string intToStr(int aConv)
{
    ostringstream oss;
    oss << aConv;
    string result = oss.str();

    return result ;
}

int main()
{
    RenderWindow app(sf::VideoMode(800, 600), "Dafukaaa window !!!");
    app.setFramerateLimit(60);

    Font textFont;
    textFont.loadFromFile("coolvetica.ttf");

    Text textCpt;
    textCpt.setFont(textFont);
    textCpt.setPosition(Vector2f(500,200));

    Image imgPlr;
    imgPlr.loadFromFile("img/ninja.png");
    imgPlr.createMaskFromColor(Color(255,0,252));

    Texture texPlr;
    texPlr.loadFromImage(imgPlr);

    Sprite srtPlr;
    srtPlr.setTexture(texPlr);
    srtPlr.setTextureRect(IntRect(42,222,109,390));
    srtPlr.setScale(Vector2f(0.5f,0.5f));

    cout << "Jeu : Initialisation terminee" << endl;


    int cptAnim = 0, cptAnim2 = 0;

    // orient = false = droite, true = gauche
    bool orient = true;

    while (app.isOpen())
    {
        Event event;
        while (app.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                app.close();
        }

        if(orient == false) // Droite
        {
            switch(cptAnim)
            {
            case 0 :
                srtPlr.setTextureRect(IntRect(33,222,109,390));
                break;
            case 1 :
                srtPlr.setTextureRect(IntRect(140,226,253,394));
                break;
            case 2 :
                srtPlr.setTextureRect(IntRect(290,220,383,388));
                break;
            case 3 :
                srtPlr.setTextureRect(IntRect(425,217,525,385));
                break;
            }
        }
        else if(orient == true) // Gauche
        {
            switch(cptAnim)
            {
            case 0 :
                srtPlr.setTextureRect(IntRect(24,9,99,177));
                break;
            case 1 :
                srtPlr.setTextureRect(IntRect(135,9,229,177));
                break;
            case 2 :
                srtPlr.setTextureRect(IntRect(290,9,384,177));
                break;
            case 3 :
                srtPlr.setTextureRect(IntRect(438,9,522,177));
                break;
            }
        }


        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){
            srtPlr.move(Vector2f(- 5, + 0));
            if(orient == false){
                orient = true;
                cout << "Jeu : Orientation gauche" << endl;
            }
        }

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
            srtPlr.move(Vector2f(+ 5, + 0));
            if(orient == true){
                orient = false;
                cout << "Jeu : Orientation droite" << endl;
            }
        }

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
            srtPlr.move(Vector2f( + 0, - 5));

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
            srtPlr.move(Vector2f(+ 0, + 5));

        cptAnim2 ++;

        if(cptAnim2 == 50) // 10 = Intervall
        {
            cptAnim ++;
            cptAnim2 = 0;
        }

        if(cptAnim == 4)
            cptAnim = 0;

        textCpt.setString(intToStr(cptAnim));

        app.clear(Color(0,255,0,255));

        app.draw(srtPlr);
        app.draw(textCpt);

        app.display();

    }


    return 0;
}

 

Le problème est que au fur et a mesure que le cptAnim s'incrémente et affiche l'animation du sprite voila ce que ca donne :

cptAnim = 0:


cptAnim = 1:


cptAnim = 2 :


cptAnim = 3:


La sprite sheet:


Comme vous l'avez vu :
- Un rectangle blanc apparaît
- Au cptAnim = 0, c'est normal
- Au cptAnim = 1, il y a l'animation 1 et 2 du sprite
- Au cptAnim = 2, il y a l'animation 2 et 3 du sprite
- Au cptAnim = 3, il y a l'animation 3 du sprite

Moi je voulais juste une animation normale.
Si vous pourriez m'aider ca serait gentil !

Merci d'avance  :)

5
Graphique / Re : Problème d'affichage d'un quadrillage
« le: Avril 28, 2013, 01:18:03 pm »
Whao, je suis vraiment désolé.
J'avais mal cherché. Mon problème était que la quadrillage ne s'affichait pas .
Mais comme Line existe je vais laisser de coté mes lignes de code inutiles et utiliser ce qui existe.

Mon ancien code restera comme même un mystère. :-\

Merci pour ta réponse.

6
Graphique / Re : Problème d'affichage d'un quadrillage
« le: Avril 28, 2013, 12:30:59 pm »
Tout d'abord merci pour ta réponse, ensuite j'ai oublié de préciser que je suis en 1.6.
Or en 1.6 Shape::Line n'existe pas.
Et oui quad est un Shape.

Sachant que je ne peut pas utiliser Shape::Line, voila une modification de mon code qui(que j'ai faite en fonction de tes remarques), surement, sera plus comprehensible
(ce code est dans la boucle génerale de l'app) :
    Vector2f posQuad;
    posQuad.x = 49;
    posQuad.y = 0;

    Shape quadV;
    quadV.AddPoint(posQuad.x, posQuad.y, Color::Red, Color::Red);
    quadV.AddPoint(posQuad.x, 49 * 4, Color::Red, Color::Red);
    quadV.SetOutlineWidth(2);

    Shape quadH;
    quadH.AddPoint(0, posQuad.y, Color::Red, Color::Red);
    quadH.AddPoint(49 * 4, 0, Color::Red, Color::Red);
    quadH.SetOutlineWidth(2);

     DANS LA BOUCLE GENERALE:
    // Affichage de quadrillage
    // Axe Vertical
    app.Draw(quadV);

    for(int cptQuad1 = 1; cptQuad1 <= 3; cptQuad1 ++){
            quadV.SetPointPosition(0, posQuad.x, posQuad.y);
            quadV.SetPointPosition(1, posQuad.x, 49 * 4);
            posQuad.x += 49;
            app.Draw(quadV);  }

        // Axe Horizontal
        app.Draw(quadH);

        for(int cptQuad2 = 1; cptQuad2 <= 3; cptQuad2 ++) {
            quadH.SetPointPosition(0, posQuad.x, posQuad.y);
            quadH.SetPointPosition(1, 49 * 4, posQuad.y);
            posQuad.y += 49;
            app.Draw(quadH); }

    app.Display();

    posQuad.x = 49;
    posQuad.y = 0;

Mais comme avant, rien ne s'affiche . :'(

Voila, merci d'avance a ceux qui me réponderont ; )

7
Graphique / Re : Problème d'affichage d'un quadrillage
« le: Avril 28, 2013, 11:18:38 am »
Personne ?

8
Graphique / [Résolu]Problème d'affichage d'un quadrillage
« le: Avril 27, 2013, 06:08:53 pm »
Bonjour a tous,

Je suis en train de réaliser un RPG basé sur le tile mapping.
Pour cela je fais un éditeur de map, je tente d'afficher un quadrillage, pour l'instant de 4x4 carreaux.
Voila le code(j'ai volontairement retiré le code de la boucle et des initialisations) :
   
        app.Clear();
        // Affichage de quadrillage
        for(int cptQuad1 = 1; cptQuad1 == 3; cptQuad1 ++){
            quad.AddPoint(posQuad.x, posQuad.y, Color::Red);
            quad.AddPoint(posQuad.x, posQuad.x * 4, Color::Red);
            posQuad.x += 49;
            app.Draw(quad);  }
        for(int cptQuad2 = 1; cptQuad2 == 3; cptQuad2 ++) {
            quad.AddPoint(posQuad.x, posQuad.y, Color::Red);
            quad.AddPoint(posQuad.x * 4, posQuad.x, Color::Red);
            posQuad.y += 49;
            app.Draw(quad); }

    app.Display();

Pages: [1]
anything