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

Pages: [1] 2 Suivante »
1
Général / Re: Event.key.code retourne -1 sur plusieurs touches
« le: Novembre 02, 2017, 02:33:22 pm »
Effectivement je ne trouve pas la touche "!" (point d'exclamation), qui est la touche "?" (point d'interrogation) si on parle de clavier qwerty. Faudrait que je regarde comment SDL2 gère ça, mais il me semble qu'on devrait pouvoir récupérer le code de cette touche, ça me parait bizarre d'autant plus que c'est pas une touche spéciale

2
Général / Event.key.code retourne -1 sur plusieurs touches
« le: Octobre 30, 2017, 06:45:32 pm »
Dans mon programme j'ai besoin de check certaines touches, mais vu que certaines retournent -1 (touche maj, touche point d'exclamation) je ne peux pas les différencier. S'agit-il d'un bug SFML ou y'a une raison technique derrière et un moyen de contourner ce pb ?

3
Graphique / Re: loadFromMemory ?
« le: Octobre 29, 2017, 11:52:12 am »
Marrant ça, deux posts que je regarde, les deux sont débutants, les deux pensent déjà à protéger leurs fichiers  ;D

C'est ok si c'est pour apprendre à programmer, sinon oublie c'est de la perte de temps. A moins qu'il y ait des dizaines de milliers de $$$ en jeu dans ton projet, et encore pour ce qui est de la protection la loi est plus efficace qu'un obfuscation qui sera au pire contournée par des impr écran ^^'

4
Général / Re: Comment "cacher" les images utilisées
« le: Octobre 29, 2017, 11:33:28 am »
Le plus simple c'est de changer l'extension de tes images, y'aura plus l'aperçu Windows, les débutants n'iront pas voir et ça te demande rien niveau code.

Sinon tu peux concaténer tous tes fichiers en un seul, et tu y accèdes via une fonction faite pour. L'avantage c'est qu'en plus de brouiller les pistes ça optimise les temps d'accès si tu as beaucoup de petits fichiers, et ça rend le dossier de ton appli plus clean.

5
Général / Re: TileMap Collision (un bug étrange)
« le: Septembre 18, 2017, 10:44:47 am »
Tu as déjà peut etre trouvé la solution vu que ça fait 2mois, mais renseigne toi sur les algos de collision 2D, pour faire un systeme fiable tu peux utiliser l'algo des "axes séparés":

- tu déplace ton perso en X
- tu check les collisions, si il y a collision tu replace le perso contre l'obstacle
- tu déplace ton perso en Y
- tu check les collisions, si il y a collision tu replace le perso contre l'obstacle


En faisant un axe puis l'autre, tu n'aura plus de problème, en plus ton perso pourra 'glisser' contre les murs si tu vas en diagonale, plutot que de se bloquer

6
Si je peux me permettre, ce qui fait le charme de la programmation c'est que tu peux tout modifier à ta guise. C'est à dire que si tu veux ajouter des ombres à ton texte tu peux le programmer par toi même et en plus tu pourras vraiment être fier de toi ;)

ça peut être amusant et intéressant à faire mais je pense qu'au moins 80% des utilisateurs veulent que leur ombre marche direct sans passer des jours à la coder^^

7
Je suis d'accord avec l'auteur pour ajouter un système de balise de mise en forme pour les textes, ça permettrait dans une même phrase d'afficher des mots qui sont en italique, de couleur ou taille différente etc... une sorte de rich text object quoi. Actuellement l'objet text SFML fait vraiment trop peu de choses.
Après gérer du CSS me parait trop poussé, juste des fonctions de formatage basique serait déjà excellent, y'a moyen de s'inspirer du HTML avec des balises style <i>, <b>, <color=#fff> etc ou d'autres styles de balises comme le formatage de texte utilisé dans RPG Maker (/r, /c...)

8
Fenêtrage / Re : SFML fenêtre maximisée par défaut
« le: Juillet 11, 2014, 02:52:54 pm »
c'est bon j'ai trouvé:
ShowWindow(window.getSystemHandle(), SW_MAXIMIZE);

9
Fenêtrage / SFML fenêtre maximisée par défaut
« le: Juillet 11, 2014, 02:34:25 pm »
Bonjour,
Pour mon logiciel j'aurais besoin que le programme se lance en maximisé. J'ai pas vu de fonction toute prête dans SFML qui le permette. Existe-t-il un moyen détourné de le faire ? (en récupérant le hwnd via sfml puis en utilisant l'api win32 ?)

10
Graphique / Re : Gravité et saut
« le: Juin 02, 2014, 03:32:32 pm »
la gravité c'est super simple à faire :

si appui sur touche saut : accélération y = -50  (une valeur négative de ton choix)

à chaque frame:
y perso  += accélération y
accélération y += gravité (gravité est une valeur positive de ton choix)

si perso touche le sol ET accélération y > 0: accélération y = 0


pour l'adapter à SFML rien de compliqué, tu joues avec les sprite.getPosition et sprite.setPosition pour positionner ton perso selon les axes X et Y (ou mieux, utilise move : a chaque frame, sprite.move(Vector2f(acceleration x, acceleration y)))

11
Pb identifié (pas vraimetn résolu car c'est pas la faute à SFML), voir premier message

12
Code de test :
(appuyez sur n'importe quelle touche pour passer de 135 à 136 caractères ce qui fait passer chez moi la consommation cpu de 2 à ~25%)

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <sstream>
using namespace std;
using namespace sf;

int main(){
        RenderWindow window(VideoMode(1024,768,32),"test");
        window.setFramerateLimit(60);
        Event event;
        Font font;
        font.loadFromFile("font.ttf");
        Text t("press a key to use 20% cpu\naaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",font,16);
        Text count("",font,16);
        count.setPosition(200,200);
        printf("%i",t.getString().toAnsiString().length());

        while(window.isOpen()){
                while (window.pollEvent(event)){
                        if (event.type == Event::Closed)
                                window.close();
                        if (event.type == Event::KeyPressed){
                                t.setString(t.getString()+"a");
                                printf("\n");
                                printf("%i",t.getString().toAnsiString().length());
                        }
                }
                window.clear(Color::Black);
                window.draw(t);
                window.draw(count);
                window.display();

        }

        return 0;
}

version compilée : https://mega.co.nz/#!81dmWIhK!jvXKCw3OqL2gKewXtJH6wBkaxWH6YbttQvZDZIFW3Qs

faire ces tests permettra déjà de voir si c'est un problème relatif à mon matériel, compileur (visual studio 2008) ou autre... mes drivers de carte graphique sont jour (nvidia gts250)

13
EDIT : problème résolu, ça concerne ceux qui ont une carte nVidia, utilisent la vsync dans leur appli, et ont l'option' Threaded Optimization ' activée dans leur control panel (elle l'est par défaut)
 
Si vous affichez plus de 512 vertex d'un coup (ça peut être des sf::Text de + de 85 char pour SFML dev (1char=6vertex) / 128 pour SFML 2.1 stable) la conso CPU passe de "pas grand chose" à 100%

voir mon ticket de report : https://github.com/SFML/SFML/issues/611

+ d'infos à ce sujet http://www.retrocopy.com/blog/29/nvidia-threaded-optimization-oxymoron.aspx

Comment le résoudre :
- désactiver la vsync via setVerticalSyncEnabled
OU
- désactiver Threaded Optimization dans votre control panel nVidia

Hey
J'ai déjà posé dans le github mais je voulais savoir si d'autres ont ce problème :
Dans mon programme quand j'utilise de grands sf::Text la consommation CPU augmente de 20% pour seulement un caractère ajouté.

sf::Text de 135 caractères : 2% cpu
sf::Text de 136 caractères : 24% cpu 

je suis pas sur exactement de la limite (125~135) mais on dirait que les sauts de ligne (\n) ne comptent pas

d'autres ont ce soucis?

EDIT: la limite est de 85 chars pour la derniere version dev de SFML
EDIT 2 : la limite se situe au nombre de vertex affichés, 1char=6 vertex, 85*6 = 510, la limite de vertex au dela de laquelle leCPU s'emballe est de 512
EDIT 3 : merci nVidia, il s'agit d'un bug des drivers quand l'option Threaded Optimization est activée

14
Audio / Re : SoundStream : séparation stéréo trop faible ?
« le: Mai 13, 2014, 02:32:42 pm »
Voilà je viens de faire un code minimal qui reproduit le problème, le programme génère une forme d'onde carrée qu'il envoie entièrement dans le buffer de droite : (SFML2.1)

#include <SFML/Audio.hpp>
using namespace sf;

Int16 testWave[2]={-2000,2000};
float phase=0.f;

class Test: public SoundStream{
private:
        Int16 buffer[2048];
        virtual bool onGetData(Chunk& data){
                data.samples = &buffer[0];
                data.sampleCount = 2048;
                for(unsigned i = 0; i< data.sampleCount; i+=2){

                        buffer[i]=0; // zéros à gauche, pourtant j'ai du son ?
                        buffer[i+1]=testWave[(int)phase]; // données envoyées coté droit

                        phase+=0.01f;
                        if(phase >= 2)
                                phase=0;
                }
                return true;
        }
        virtual void onSeek(Time timeOffset){}
public:
        Test(){
                initialize(2, 22050);
        }
};

int main(){
        Test test;
        test.play();

        while(1){}
        return (0);
}

A l'écoute il y a plus de son à droite effectivement mais c'est léger, comme si au lieu de faire du "0,255" ça faisait du "100,150" niveau séparation des deux canaux.

C'est possible que la méthode setPosition interfère avec la stéréo ? Je l'ai pas essayée vu que c'est censé s'appliquer qu'aux sons mono

15
Audio / SoundStream : séparation stéréo trop faible ?
« le: Mai 13, 2014, 02:01:41 pm »
Bonjour,
J'ai une SoundStream dans laquelle j'écris manuellement les samples, mais bizarrement la séparation stéréo est très faible : si j'écris que dans le buffer de droite (buffer gauche remplis de zéros), quand j'écoute le son il est certes positionné un peu à droite mais il y a quand même beaucoup de son qui sort du haut parleur de gauche. Inversement pour le channel gauche. Est-ce un bug ou j'ai loupé quelque chose ?

Pages: [1] 2 Suivante »
anything