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

Pages: [1] 2 Suivante »
1
Graphique / Re : [SFML 2] Texture
« le: Juin 01, 2012, 09:07:14 pm »
ok, merci je ne connaissait pas. je vais tester ça asap :)

2
Graphique / Re : [SFML 2] Texture
« le: Juin 01, 2012, 08:40:22 pm »
je ne vois comment créer un shape complexe? en fonction de de carte :-\

3
Graphique / Re : [SFML 2] Texture
« le: Mai 31, 2012, 03:58:19 pm »
Citer
Et pourquoi pas créer des polygones à la place des images ?
un simple test de point présent dans un triangle peut faire l'affaire, non?


j'ai fait ce choix car mes zones sont de formes complexes et les bords de leur jointures ne sont pas réguliers


Citer

Ah oui là je vois. C'est clair que ce serait carrément plus optimisé, là y a pas photo. Pour quelques calculs de coordonnées qui vont te prendre 5 minutes, tu vas économiser 1 Go de mémoire vidéo (et plusieurs secondes de chargement j'imagine), y a pas à hésiter.

c'était la meilleur solution je suis passé à 150 Mo avec toutes mes zones chargées

4
Graphique / Re : [SFML 2] Texture
« le: Mai 30, 2012, 09:13:46 am »
En fait je suis toujours à essayer de gérer ma carte à zone interactive.

Ma première version était de créer autant d'image que de zone sur la carte. Ces images avaient la même taille que la carte et elle n'avait qu'une partie précise colorié. Sauf que le problème c'est que cela prend beaucoup trop en mémoire...

Ma deuxième solution serait de créer des images ne contenant que la zone et de placer cette image au bonne endroit sur la carte.

5
Graphique / Re : [SFML 2] Texture
« le: Mai 30, 2012, 08:52:41 am »
Citer

il y a t'il possibilité de compressé les png en mémoire?
Oui, mais ce n'est pas supporté par SFML.
alors y a t'il possibilité d'inter-agir avec la SFML?



Citer
ou est -il plus logique de chercher à découper les images ?
Pourquoi faire ? Ca prendra tout autant de place en mémoire.
En fait, dans mes images, la majorité ne sont que des images qui représentent une zone et le reste est transparent, je pensait devoir recadrer mes images et les placer en coordonnée cartésienne via la SFML.


6
Graphique / Re : [SFML 2] Texture
« le: Mai 29, 2012, 05:21:46 pm »
Bonjour,

je me suis rendu compte que mes 18 images font en faite 4096x2271 chacun donc cela crée un monstre en mémoire....

il y a t'il possibilité de compressé les png en mémoire?

ou est -il plus logique de chercher à découper les images ?

7
Graphique / Re : [SFML 2] Texture
« le: Mai 26, 2012, 08:19:15 am »
ok,

je charge 18 images de mes dimensions mais pas de même poids. En gros une image de 14 mo et 17 autre de 100 ko mais mon application se retrouve avec un 1,2 Go de mémoire alloué....

donc je ne comprend pas trop d'où viendrais l'erreur

8
Graphique / [SFML 2] Texture
« le: Mai 26, 2012, 07:04:29 am »
Bonjour,

Est ce que la taille en mémoire de l'objet sf::Texture dépend de la taille de l'image de base ou de son poids en octé?

car j'ai une image qui fait 14 Mo sur 2000x1500, une autre de 100 ko sur 2000x1500 elle prenne chacune 50 Mo de mémoire... donc à se rythme je ne vais pouvoir afficher beaucoup d'image.... :-\

Merci

9
Graphique / Re : [SFML 2.0] sf::Text et sf::font
« le: Avril 26, 2012, 01:32:15 pm »
Merci pour ton indication :)

Bien pris en compte pour le formatage ;)

oui, j'ai dû crié au loup un peu tôt ;)

bonne journée

10
Graphique / [SFML 2.0] sf::Text et sf::font
« le: Avril 26, 2012, 10:23:06 am »
bonjour,

c'est pour signaler un bug. Je souhaite utiliser une font personnalisée, elle marche quand je crée un sf::Text avec cette font et je l'affiche de suite.

Sauf que la mes  sf::Text sont contenu dans un vecteur et après je les récupères dans une fonction d'affichage. Et la la font personnalisé ne fonctionne plus et fait planté le programme.


    /* dans le constructeur de ma classe menu*/

    sf::Font font;
    // Chargement à partir d'un fichier sur le disque
    if(!font.loadFromFile("font\\verdana.ttf"))
    {
        std::cout<<"erreur de la font"<<std::endl;
    }
       
    liste_texte = new sf::Text[nbr_button];
    for(int i = 0; i<nbr_button;i++){
        sf::Text monText(menu_label.at(i),font,20);// sf::Font::getDefaultFont() // obliger faire pour que ça marche à l'affichage
        liste_texte[i] = monText;
    }



/* dans ma fontion d'affichage*/

void Menu::afficher(sf::RenderWindow & App){

    //affichage des textes
    for(int i = 0; i<this->_nbr_button;i++){

        sf::Text temp_text = liste_texte[i];
        temp_text .setPosition(0,0);
        temp_text .setColor(sf::Color::White);
        App.draw( temp_text );
    }
}

11
Graphique / Re : Collision souris et sprite
« le: Avril 19, 2012, 03:09:56 pm »
re bonjour,

une solution que j'ai trouvé, je sais c'est pas si c'est la meilleur ....

je teste le canal alpha, de l'image s'il est a 0 je suis hors de l'image donc je ne clique pas dessus. Mais l'inconvénient de ce système c'est que je doit parcourir toute les images de ma carte afin de tester si je suis dedans.


bool test(){

int test = (int)img.getPixel(Event.mouseButton.x,Event.mouseButton.y).a;

if( test == 0) return true;
else return false;

}


12
Graphique / Re : Collision souris et sprite
« le: Avril 19, 2012, 08:48:58 am »
bonjour,

@Bigz merci mais ce n'est pas exactement ce que je cherche.

@Laurent, en fait je cherche au pixel près la détection de la collision.

Pour l'instant ma carte se compose de plusieurs images.

Une sert de fond où les limites des zones sont tracées. Les autres on la même taille que la carte de fond sauf qu'elles contiennent seulement un zone en couleur et le reste est sur fond blanc.

j'y applique la méthode suivante:


 
sf::Texture carte;
sf::Image img ;
sf::Texture region;

carte.loadFromFile("img\\map.png");
img.loadFromFile("img\\1.png");
 img.createMaskFromColor(sf::Color::White);

 region.loadFromImage(img);
  sf::Sprite sprite(carte);
 sf::Sprite sprite1(region);


Comment faire que la detection au pixel fonctionne?
Es ce que je me complique en faisant mes images de cette manière?

13
Graphique / Collision souris et sprite
« le: Avril 18, 2012, 05:06:59 pm »
Bonjour,

je reprend votre conversation en cours et je voudrais vous demander s'il existe un exemple avec la SFML permettant de gérer la collision de la souris avec un sprite du jeu?

Je cherche un exemple sur la toile mais je n'est trouvé que des allusions à des méthodes....

Merci d'avance

14
Graphique / Re : [SFML 2.0]sf::View
« le: Avril 18, 2012, 04:03:43 pm »
l'action

sf::Vector2f Center(400, 300);



m'a centré ma carte mais il me reste des bordures noir autour de l'image : :-\

Faut - il les garder si on veut plus tard crée une interface graphique?

15
Graphique / [SFML 2.0]sf::View
« le: Avril 18, 2012, 03:13:21 pm »
Bonjour,

je souhaite utiliser une view afin de pour definir une carte en arriere plan et pourvoir la placer soit grâce à la souris ou au clavier.

j'ai suivis les anciens tutoriel mais je me retrouve avec ma carte décalé par rapport  :-[ au lieu d'être centre lors du lancement de la carte. Es ce que j'oublie d’exécuter une commande afin de recentrer la vue? ou me manque t'il des opérations?


#include <cstdlib>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include<SFML/System.hpp>

using namespace std;


int main()
{
    // Create the main window
    sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Events");
    sf::Clock clock;
   
    float Offset;
    // Get a reference to the input manager associated to our window, and store it for later use
  //  const sf::InputStream& Input = App.;
   
   
    sf::Texture carte;
    carte.loadFromFile("img\\map.png");
     
    sf::Sprite sprite(carte);
   
     
       
    /* Create a view with the same size as the window, located somewhere in the center of the background
    */
    sf::Vector2f Center(0, 0);
    sf::Vector2f HalfSize(800, 600);
    sf::View View(Center, HalfSize);   
   // sf::View View(sf::FloatRect(0, 0,  800, 600));
       
   // View.setSize( 800, 600) ;   
    // Start main loop
    while (App.isOpen())
{

// Process events
sf::Event Event;
while (App.pollEvent(Event))
{

         if (Event.type == sf::Event::KeyReleased)
            std::cout << "shortcut pressed " << Event.key.code << std::endl;
         
         
            // Close window : exit
            if (Event.type == sf::Event::Closed)
                App.close();

            // Escape key : exit
            if ((Event.type == sf::Event::KeyPressed) && (Event.key.code == sf::Keyboard::Escape))
                App.close();
         
}
               
             
                       
             
               
         
          // Set the view
        App.clear();
       
        App.setView(View);
       
        App.draw(sprite);
        // Reset to the default view to draw the interface
        App.setView(App.getDefaultView());

       
              //  App.clear();
           
App.display();
}

    return EXIT_SUCCESS;
}







Pour info ma carte fait 928x1242

Merci d'avance pour toute aide

Pages: [1] 2 Suivante »