LiXu.pbi : Animation & Particule 2D
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
LiXu.pbi : Animation & Particule 2D
Version 1.6 (17 Juillet 2015)
Presque tout est dans le titre. Lixu.pbi est un module qui vous permettra de :
-Ajouter des animations à vos sprites.
-Créer des émetteurs de particules type point ou box.
-Créer des SpriteScroll pour gérer vos scrolling paralax ou pas.
Téléchargement
https://github.com/pbcodex/2D-LiXu/archive/master.zip
Presque tout est dans le titre. Lixu.pbi est un module qui vous permettra de :
-Ajouter des animations à vos sprites.
-Créer des émetteurs de particules type point ou box.
-Créer des SpriteScroll pour gérer vos scrolling paralax ou pas.
Téléchargement
https://github.com/pbcodex/2D-LiXu/archive/master.zip
Dernière modification par falsam le mar. 03/nov./2015 1:50, modifié 12 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: LiXu.pbi : Animation & Particule 2D
ça parait pas mal du tout, merci !
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
Merci Ar-S. Puisque tu es sous linux, pourrais tu me dire si ça fonctionne ?
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: LiXu.pbi : Animation & Particule 2D
Excellent !
Je crois bien que je pourrais même m'en servir dans mon soft de dessin animatoon, car j'ai prévu d'ajouter des particules.
Un petit ajout tout simple (gérer la transparence avec le temps et aussi un système de particules ressemblant à des lucioles) :
L'exemple :
Modifier dans ton module :
D'ailleurs, en testant le spriteBlendingMode(), on remarque que c'est bugué si on change la couleur d'un sprite
ps :Tu peux aussi le mettre dans trucs & astuces
Je crois bien que je pourrais même m'en servir dans mon soft de dessin animatoon, car j'ai prévu d'ajouter des particules.
Un petit ajout tout simple (gérer la transparence avec le temps et aussi un système de particules ressemblant à des lucioles) :
L'exemple :
Code : Tout sélectionner
;Lixu - Create emitter (#Particle_AllDir)
; 06/2015
IncludeFile "lixu.pbi"
If InitSprite()
InitKeyboard()
InitMouse()
EndIf
UseModule lixu
OpenWindow(0, 0, 0, 800, 600, "Lixu Particle", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600)
; ShowCursor_(1) ; pour voir le curseur ^^
;Create particles emitter
lixu::EmitterCreate("example", #Particle_AllDir)
lixu::ParticleRate("example", 150)
lixu::ParticleColorsRange("example", RGB(255, 0, 0), RGB(0, 0, 255), 10)
lixu::ParticleSizeRange("example", 10, 60)
lixu::ParticleSpeedRange("example", -2, -2, 2, 2)
lixu::ParticleTimeToLife("example", 300)
;Events Loop
Repeat ;Window
Repeat ;Screen
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event=0
FlipBuffers()
ClearScreen(RGB(255, 255, 255))
ExamineKeyboard()
ExamineMouse()
;Play emitter
lixu::EmitterPlay("example", MouseX(), MouseY())
Until KeyboardPushed(#PB_Key_Escape)
Modifier dans ton module :
Code : Tout sélectionner
; ajouter ça :
#Particle_AllDir = 10 ; en dehors du module
Procedure EmitterPlay(Emitter.s, x = 0, y = 0, Loop = #True)
If FindMapElement(Emitters(), Emitter)
ForEach Emitters()\Particle()
With Emitters()\Particle()
If \LifeTime <= 0
\Actif = #False
\LifeTime = Random(Emitters()\LifeTime)
If Emitters()\Type = #PB_Particle_Box
\x = Random(Emitters()\Width) + x
\y = y
ElseIf Emitters()\Type = #PB_Particle_Point
\x = x
\y = y
ElseIf Emitters()\Type = 10 ; #Particle_AllDir ;< ------------------------------ modification ici
\x = Random(Emitters()\Width) - Random(Emitters()\Width) ; ----------------- modification ici
\y = Random(Emitters()\Height) - Random(Emitters()\Height);----------------- modification ici
EndIf
EndIf
\x + \vx
\y + \vy
If \LifeTime > 0
ZoomSprite(\Sprite, \Size, \Size)
RotateSprite(\Sprite, \Rotate, #PB_Relative)
DisplayTransparentSprite(\Sprite, \x , \y , \lifetime, \Color) ; <------------------ modification ici (changement dans l'alpha)
EndIf
\LifeTime - 1
EndWith
Next
Emitters()\Actif = #False
EndIf
EndProcedure
ps :Tu peux aussi le mettre dans trucs & astuces
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: LiXu.pbi : Animation & Particule 2D
Merci Falsam c'est de la bombe ton module je m'en vais étudier les exemples
Re: LiXu.pbi : Animation & Particule 2D
Salut
Il a l'air sympa ce petit module. J'ai hâte de pouvoir tester ça
Merci falsam
@++
Il a l'air sympa ce petit module. J'ai hâte de pouvoir tester ça
Merci falsam
@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
- Kwai chang caine
- Messages : 6962
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Re: LiXu.pbi : Animation & Particule 2D
Marche nickel sur un portable W7
Super joli, il me plait le petit zebulon
Chouettes les montagnes derrieres..
En un mot tout me plait
Merci du partage
Super joli, il me plait le petit zebulon
Chouettes les montagnes derrieres..
En un mot tout me plait
Merci du partage
- majikeyric
- Messages : 602
- Inscription : dim. 08/déc./2013 23:19
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
WOW! ça c'est de la belle ouvrage !
Merci pour le partage falsou !
Merci pour le partage falsou !
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
Merci tout le monde pour ces commentaires.
Quand au luciole tu peux faire un sprite qui remplacera celui par défaut.
Tu places ça dans la section déclarative du module lixuJe me suis servi des constantes de PureBasic pour définir le type de particules. Plutot que #Particle_AllDir, je vais plutôt modifier la procédure EmitterPlay() en ne rendant pas obligatoire la position x et y et utiliser la constante #pb_ignore pour définir le type de particule.
la transparence est prévu. D'ailleurs tu as du voir la variable Opacity.i dans la structure d'une particule.blendman a écrit :Un petit ajout tout simple (gérer la transparence avec le temps et aussi un système de particules ressemblant à des lucioles) :
Quand au luciole tu peux faire un sprite qui remplacera celui par défaut.
Insolent que tu esblendman a écrit :#Particle_AllDir = 10 ; en dehors du module
Tu places ça dans la section déclarative du module lixu
Code : Tout sélectionner
DeclareModule Lixu
#Particle_AllDir = 10
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
<3 héhémajikeyric a écrit :falsou
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
@Blendman: Ton code aprés mise à jour de lixu.pb
Code : Tout sélectionner
;Lixu - Create emitter en ignorant le type de boite
IncludeFile "lixu.pbi"
InitSprite()
InitKeyboard()
InitMouse()
UseModule lixu
OpenWindow(0, 0, 0, 800, 600, "Lixu Particle", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600)
;Create particles emitter
lixu::EmitterCreate("example", #PB_Ignore)
lixu::ParticleRate("example", 150)
lixu::ParticleColorsRange("example", RGB(255, 0, 0), RGB(0, 0, 255), 10)
lixu::ParticleSizeRange("example", 10, 60)
lixu::ParticleSpeedRange("example", -2, -2, 2, 2)
lixu::ParticleTimeToLife("example", 300)
;Events Loop
Repeat ;Window
Repeat ;Screen
Event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
Until Event=0
ClearScreen(RGB(255, 255, 255))
ExamineKeyboard()
ExamineMouse()
;Play emitter (Inutile de préciser la position x y)
lixu::EmitterPlay("example")
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Dernière modification par falsam le mar. 30/juin/2015 22:05, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: LiXu.pbi : Animation & Particule 2D
oui, j'insole (du verbe insoler : être insolent ^^, verbe que je viens d'inventer ).falsam a écrit :Insolent que tu es
En fait, je ne connaissais pas les modules avant ton code, donc, je n'avais pas vu que je pouvais déclarer la constante dans DeclareModule .
J'ai juste modifier deux trois trucs un peu à l'arrache ^^
mais il est bien classe ton code en tout cas
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
- falsam
- Messages : 7244
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: LiXu.pbi : Animation & Particule 2D
Tu n'as rien inventé du tout, insoler existe http://la-conjugaison.nouvelobs.com/du/ ... nsoler.php
A cause de toi j'ai eu un doute sur insolent ou insolant.
A cause de toi j'ai eu un doute sur insolent ou insolant.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: LiXu.pbi : Animation & Particule 2D
que nenni mon ami, je ne parle pas d'exposer à la lumière mais de faire son insolentfalsam a écrit :Tu n'as rien inventé du tout, insoler existe http://la-conjugaison.nouvelobs.com/du/ ... nsoler.php
c'est comme le verbe retenir par exemple :
- se rappeler quelque chose
- empêcher de tomber.
Voilà, donc c'est décidé, on peut dire désormais "j'insole, oui, monsieur ! parfaitement."
(bon allez, j'arrête, il faut revenir à ton exemple de code ^^)
Dernière modification par blendman le mar. 29/sept./2015 7:13, modifié 1 fois.
http://blendman.blogspot.com/
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Forum PB fr : http://www.purebasic.fr/french - Forum PB Eng : http://www.purebasic.fr/english
Re: LiXu.pbi : Animation & Particule 2D
Lorsque je lance la demo, j'ai eau des soucis aux loadsprite
Il faut mettre le chemin complet avec du / et pas du \
Ce qui donne comme exemple :
Ensuite ça se lance mais le screen est tout moisi. Celà ne vient pas de ton code mais de Xserver. Le pilote video de base...
Le soucis est que si je mets le pilote Nvidia, nul doute que ça passerai mais là c'est mon PLAYONLINUX qui saute et j'en ai besoin pour faire marcher mon soft de compta (windows) "Winiser"
---- edit ----
J'ai reussi à mettre Playonlinux et mes pilotes Nvidia, du coup LiXu marche (avec les modifs des paths des loadsprites)
Il faut mettre le chemin complet avec du / et pas du \
Ce qui donne comme exemple :
Code : Tout sélectionner
/home/ldv/Documents/PB/Lixu/data/dude.png
Le soucis est que si je mets le pilote Nvidia, nul doute que ça passerai mais là c'est mon PLAYONLINUX qui saute et j'en ai besoin pour faire marcher mon soft de compta (windows) "Winiser"
---- edit ----
J'ai reussi à mettre Playonlinux et mes pilotes Nvidia, du coup LiXu marche (avec les modifs des paths des loadsprites)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels