Page 1 sur 1

Effet de nuit

Publié : dim. 20/mai/2007 15:44
par scaraber
Bonjour,
Je cherche un moyen de faire un effet "nuit", j'ai essayer avec un DisplayRGBFilter(), mais sa lag beacoup trop, quelqu'un a t-il une idée de comment faire ?
Merci d'avance
a+
Scaraber

Publié : dim. 20/mai/2007 16:35
par minirop
tu veux dire assombrir ton rendu ? peut être avec une image noire (ou bleue foncé) avec de l'alpha qui fait toute la fenêtre.

Publié : dim. 20/mai/2007 16:52
par scaraber
oui c'est sa

Publié : dim. 20/mai/2007 22:26
par scaraber
Je rencontre des probleme sur l'utilisation de DisplayAlphaSprite, sa ne change rien quil saffiche ou pas, quql'un a t-il un ptit code ?
a+
Scaraber

Publié : dim. 20/mai/2007 22:29
par Anonyme

Publié : dim. 20/mai/2007 22:58
par scaraber
Merci mais je cherche pas a changer l'intensiter d'un sprite 3D mais de tout l'ecran en mode fentrer ou en full screen ...

Publié : dim. 20/mai/2007 23:02
par Anonyme
Bah réfléchis 2 secondes, tu prends un sprite 3D noir de la taille de ton écran, tu joues avec l'apha pour simuler "la nuit" , et bien sur tu l'affiches en dernier.

Publié : dim. 20/mai/2007 23:08
par scaraber
ha ouai javait pas vue sa comme sa *est crever*
Je vais tester

Publié : lun. 21/mai/2007 15:05
par scaraber
Salut
C'est bon sa marche, Je charge un sprite, bleu foncé, et je le met en sprite3D avec une transparence de 170 et sa rend bien ..
Merci Cpl.Bator
A++
Scaraber

Publié : dim. 27/mai/2007 22:38
par scaraber
Bonsoir,
Je cherche a faire maintenant un effet de lumiere quand il fait nuit(un cercle) j'ai essayer de faire une image avec un cecle blanc en degrader dedans, mais sa le fait oas trop, on voit les contour du sprite ...
Quelqu'un a-til une idée?
a+
Scaraber

Publié : dim. 27/mai/2007 23:06
par minirop
utilises un PNG qui contient déjà la transparence

Publié : lun. 28/mai/2007 8:56
par scaraber
ok, je vais voir sa je ne savait pas que purebasic gerait la transparence des png ...
++
Scaraber

Publié : lun. 28/mai/2007 10:29
par scaraber
Salut
La methode des sprite 3D ne marche pas vraiment bien
J'ai essayer ceci pour pouvoir ensuite choisir ou j'eclairci et ou je n'eclairci pas, mais sa prend bcp trop de temps a faire generer la nouvell image (20 sec environ), Quelqu'un a-t-il une idée ?

Code : Tout sélectionner

     StartDrawing(ScreenOutput())
      For x=0 To 639
        For y=0 To 479
          Couleur=Point(x,y)
          Rouge=Red(Couleur)
          Vert=Green(Couleur)
          Bleu=Blue(Couleur)
          If Rouge<80
            Rouge=0
          Else
            Rouge-80
          EndIf
          If Vert<80
            Vert=0
          Else
            Vert-80
          EndIf
          If Bleu<20
            Bleu=0
          Else
            Bleu-20
          EndIf
          Plot(x,y,RGB(Rouge,Vert,Bleu))
        Next
        Debug Str(x)+"/640"
      Next
    StopDrawing()
a+
Scaraber

Publié : lun. 28/mai/2007 11:53
par Backup
lorsque tu as a travailler sur une image

met le tableau de point qui represente ton image (point()) dans un tableau !!

en effet la fonction point() est tres tres lente !!


ensuite les traitement sont beaucoup plus rapide sur les valeur se trouvant dans le Tableau

il ne reste plus a la fin qu'a plot(er) les valeur du tableau dans l'image qui recoit le resultat du traitement :D

Beaucoup plus rapide !! :)

un peu comme ça :

Code : Tout sélectionner

Dim image.l(639,479)
For x=0 To 639
    For Y=0 To 479
        image(x,Y)=Point(x,Y)
    Next Y
Next x




StartDrawing(ScreenOutput())
For x=0 To 639
    For Y=0 To 479
        Couleur= image(x,Y)
        Rouge=Red(Couleur)
        Vert=Green(Couleur)
        Bleu=Blue(Couleur)
        If Rouge<80
            Rouge=0
        Else
            Rouge-80
        EndIf
        If Vert<80
            Vert=0
        Else
            Vert-80
        EndIf
        If Bleu<20
            Bleu=0
        Else
            Bleu-20
        EndIf 
         image(x,Y)=RGB(Rouge,Vert,Bleu)
    Next
    Debug Str(x)+"/640"
Next


For x=0 To 639
    For Y=0 To 479
          Plot(x,Y, image(x,Y)) 
    Next Y
Next x



StopDrawing()

Publié : lun. 28/mai/2007 11:53
par Anonyme
Essaye sprite3Dblending mode, tu peut obtenir de bon effets lumineux. evite de dessiner avec des plots sur l'écran