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 - helio

Pages: [1]
1
Général / Problème de compilation sous Xcode
« le: Mai 31, 2020, 10:48:05 am »
Bonjour à tous,
Je reprends des projets programmés en C++ et SFML sous Xcode, mais je m'aperçois que j'ai régulièrement l'erreur "Command CodeSign failed with a nonzero exit code" lors de la compilation. J'ai tenté d'y remédier en suivant certains conseils provenant de StackOverFlow, mais rien n'y fait. j'ai supprimé les données du dossier DerivedData, j'ai déconnecté ma session puis je l'ai reconnectée dans le trousseau d'accès. Toujours le problème.
Si quelqu'un a une idée du problème.
Merci.

2
Graphique / Re : Déplacement d'un sprite saccadé
« le: Novembre 26, 2014, 09:52:39 am »
Bonjour à tous,
Personne a une idée ?
Merci.

3
Graphique / Re : Déplacement d'un sprite saccadé
« le: Septembre 03, 2014, 02:58:28 pm »
ah oui effectivement  !!
merci.

En revanche j'en profite pour parler d'un autre souci sur le même programme qui ne me bloque pas pour continuer mais qui est gênant!
J'ai quelquefois l'arrière plan réalisé à l'aide de la technique tile mapping qui est mal représenté au niveau du côté droit ! je mets une copie d'écran.

Encore merci.



4
Graphique / Déplacement d'un sprite saccadé
« le: Septembre 03, 2014, 02:28:21 pm »
Bonjour à tous,

Je débute avec SFML et malgré les problèmes déjà évoqués par certains sur ce forum ou ailleurs, ils ne me permettent pas de régler mes soucis.
en effet je démarre un petit projet et pour l'instant je me base sur le programme PONG suivant :
https://github.com/SFML/SFML/blob/master/examples/pong/Pong.cpp

J'ai donc pour l'instant suivi un peu le même principe pour mon programme dont voici le code :

#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>
#include <cstdlib>
#include <ctime>

// Here is a small helper for you ! Have a look.
// #include "ResourcePath.hpp"

#define gameWidth 800
#define gameHeight 640

#define LARGEUR_TILE 32  /// hauteur et largeur des tiles.
#define HAUTEUR_TILE 32

#define NOMBRE_BLOCS_LARGEUR 25  /// nombre a afficher en x et y
#define NOMBRE_BLOCS_HAUTEUR 20

int table[20][25] = {
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4},
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

bool mIsMovingUp;
bool mIsMovingDown;

using namespace sf;

void Afficher(sf::RenderTarget &App, sf::Texture & tileset, int table[20][25],int nombre_blocs_largeur,int nombre_blocs_hauteur)
{
    sf::Sprite Rect_source;
   
    Rect_source.setTexture(tileset);
    for (int i=0;i<nombre_blocs_largeur;i++)
    {
        for (int j = 0; j<nombre_blocs_hauteur; j++)
        {
            // Rect_source.setTextureRect(sf::IntRect(table[j][i] * LARGEUR_TILE, 0, table[i][j] * LARGEUR_TILE + LARGEUR_TILE, HAUTEUR_TILE));
            Rect_source.setTextureRect(sf::IntRect((table[j][i]) * LARGEUR_TILE, 0, (table[i][j]) * LARGEUR_TILE + LARGEUR_TILE, HAUTEUR_TILE));
            Rect_source.setPosition(i * LARGEUR_TILE, j * HAUTEUR_TILE);
            App.draw(Rect_source);
        }
    }
}

int main()
{

    sf::Vector2f spriteSize (65, 72);
       
    sf::Font font;
    if (!font.loadFromFile("Sansation_Regular.ttf"))
        return EXIT_FAILURE;
   
    sf::Text pauseMessage;
    pauseMessage.setFont(font);
    pauseMessage.setCharacterSize(30);
    pauseMessage.setPosition(150.f, 250.f);
    pauseMessage.setColor(sf::Color::White);
    pauseMessage.setString("Welcome to SFML Game!\nPress space to start the game");
   
    // sf::RenderWindow app(sf::VideoMode(LARGEUR_TILE*NOMBRE_BLOCS_LARGEUR, HAUTEUR_TILE*NOMBRE_BLOCS_HAUTEUR, 32), "Tile Mapping - Test");
    sf::RenderWindow app(sf::VideoMode(800,640,32), "Démo");
    app.setVerticalSyncEnabled(true);
   
    sf::Texture tileset;
    tileset.loadFromFile("tileset1.bmp");
   
    sf::Texture xwing1;
    xwing1.loadFromFile("x_wing.png");
   
    sf::Sprite xwing;
    xwing.setTexture(xwing1);
        xwing.setOrigin(spriteSize / 2.f);

        sf::RectangleShape rectangle1(sf::Vector2f(65,72));
        // rectangle1.setOutlineThickness(3);
        // rectangle1.setPosition(10.f, 152.f);
        rectangle1.setFillColor(sf::Color::White);
        rectangle1.setOrigin(spriteSize / 2.f);    
   
   
    const float xwingSpeed = 200.f;

    sf::Clock clock;
    bool isPlaying = false;
    while (app.isOpen())
    {
        sf::Event event;
        while (app.pollEvent(event))
        {
            if ((event.type == sf::Event::Closed) ||
                ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Escape)))
            {
                app.close();
                break;
            }
           
            if ((event.type == sf::Event::KeyPressed) && (event.key.code == sf::Keyboard::Space))
            {
                if (!isPlaying)
                {
                    // (re)start the game
                    isPlaying = true;
                    clock.restart();
                   
                    // xwing.setPosition((gameWidth / 2), gameHeight-200);
                                        rectangle1.setPosition((gameWidth / 2), gameHeight-200);
                }
            }
           
            if (isPlaying)
            {
                float deltaTime = clock.restart().asSeconds();
               
                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up) &&
                    // (xwing.getPosition().y - spriteSize.y / 2 > 5.f))
                                                (rectangle1.getPosition().y - spriteSize.y / 2 > 5.f))
                {
                   
                    // xwing.move(0.f, -15.f);
                                        rectangle1.move(0.f, -xwingSpeed * deltaTime);
                }
                if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down) &&
                    // (xwing.getPosition().y + spriteSize.y / 2 < gameHeight - 5.f))
                                                (rectangle1.getPosition().y + spriteSize.y / 2 < gameHeight - 5.f))
                {
                   
                    // xwing.move(0.f, 15.f);
                                        rectangle1.move(0.f, xwingSpeed * deltaTime);
                }
               
            }            
        }
       
        app.clear();
        // Afficher(app, tileset, table, NOMBRE_BLOCS_LARGEUR, NOMBRE_BLOCS_HAUTEUR);
        if (isPlaying)
        {  
            // app.draw(xwing);
            app.draw(rectangle1);
        }
        else
        {
            app.draw(pauseMessage);
        }
        // update(xwing);
        app.display();
    }
   
    return EXIT_SUCCESS;
}

Que ce soit le sprite xwing ou rectangle1, le mouvement est saccadé.
Juste après l'appui sur la touche haut par exemple, le déplacement se fait de 40px environ et ensuite de 5 en 5 environ!
je ne comprends d'où cela peut venir!
j'ai le même problème sur les environnements Windows (core i5, intel HD Graphics 3000) et Mac (core i7, Intel Iris Pro Graphics).

Merci de votre aide.

Pages: [1]
anything