falsam a écrit :Et bien je continuerais à être facher avec SpriteBlendingMode().
Une fois inclus dans lixu comme tu me l'as dit, le résultat sur certains code est désastreux. Les couleurs sont grillées.
J'ai modifié la procédure comme tu me l'as indiqué de cette maniére.
OUi, il y a un bug de spriteblendingmode() avec le changement de couleur, l'apha n'est pas préservé.
Il faut le signaler sur le forum anglais

.
Sinon, j'ai modifié quelques bricoles :
- Ajout d'un structures sprite (Structure sSprite). J'y ai ajouté quelques paramètres dont centerX et centerY si besoin (pour déplacer le centre du sprite ou hot spot).
- modification des structures sprite animation et scroll (avec extends sSprite)
- ajout de procédures pour créer les sprites normaux et les scrollsprites
- ajout de paramètres pour gérer le repeat des Background en X ou Y (facultatif) : pour répéter un sol en X uniquement pas exemple, ou un arbre en Y uniquement

.
- ajout de la bonne gestion du blendmode

- ajout d'une fonction FPS() pour vérifier les fps qu'on a (toujours pratique

)
- ajout de clearscreen() dans certains exemples où ça manquait. j'ai d'ailleurs modifié l'exemple parallax bird (avec la forêt).
- j'ai corrigé l'asset parallax12.png qui était tout moche sur les bords ^^, et j'en ai créé un autre (pour un premier plan flou). Du coup, je me suis dit qu'il fallait corriger le système de scrolling pour gérer les sprites qui ne sont pas de la taille de l'écran (même si on peut jouer sur les paramètres repeatX/repeatY pour le moment pour pallier ce problème).
J'ai aussi modifié les exemples en conséquence :
- fichier snow : ajout de deux background, avec paralax décalé pour un effet encore plus sympa.
- bird : le fond est mis avec un léger blendmode + clearscreen() avec une couleur
- scrolling (l'espa)ce : ajout d'un blendmode additif qui donne un chouette rendu
En regardant tes exemples, je pense que Fred devrait les inclure avec purebasic (ainsi que cette lib), car on pourrait créer quelques petites démos de jeux très facilement avec cette lib !!
D'ailleurs, il me semble évident qu'on va devoir gérer quelques collisions (boite, cercle, pixel) pour créer une petite démo de jeu de plateforme/action

. On pourrait demander de l'aide sur le forum anglais si besoin
Je te propose de créer quelques assets 2D : bonus(étoile), vie(coeur), interface (bouton, panneau vie...) et quelques décors afin d'avoir quelques petites démos sympathiques

. Si ça peut motiver Fred pour qu'il corrige les quelques bugs qui trainent (ex ; le bug avec le spriteblendingmode() et les couleurs des sprite via DisplayTransparentSprite()) ^^), voire ajoute quelques fonctions manquantes (comme le RenderTotexture sur psrite, les shaders sur sprite, etc)
Donc, avant d'attaquer le skeleton, je pense qu'on pourrait envisager les changements suivants :
- gestion simple de collision : perso qui ne passe pas à travers les murs, saute sur des plateformes, touche un asset->modifie une variable
- gestion d'animation "automatique" (pour un ennemi par exemple, ou pour obstacle) : suit un chemin ou va de A à B (avec aller-retour)
- il faudrait penser à la copie de sprite ou à l'utilisation d'une banque d'image : si on doit utiliser la même image pour plusieurs sprite, je pense que d'ouvrir à chaque fois cette image, ça prend de la mémoire, non ? Si on crée une sorte de banque d'images, on peut vérifier si on a déjà chargée une image et si c'est le cas, on l'utilise pour notre sprite qui en a besoin
Un petit screenshot de l'adaptation avec lixu d'un début de jeu de plateforme que j'avais commencé :

ça donne envie, non ?

Falsam : je peux te filer le code (assez simple et basé sur lixu ^^) et les images si tu veux pour tester d'autres choses dessus
Franchement, y'a un énooooorme potentiel avec cette lib, il manque quelques petites fonctions de collisions et ça pourrait faire une lib de démo fabulouspour purebasic ^^ !
Voici la version de lixu que j'ai modifiée :
http://www.dracaena-studio.com/games/lixu_1.3.1.zip