Vous aimez les moutons

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Vous aimez les moutons

Message par Le Soldat Inconnu »

Un petit mouton qui se promène sur votre écran, cela vous dit ?

Alors essayez ce petit truc :) et dite moi si ca marche bien chez vous (surtout sur vista)

http://partage.lsi-dev.com/Mouton.zip

Et ne mettez pas la souris sur le mouton, sinon, il se cache, c'est voulu


Voici le code, mais il faut les ressources du zip

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 4
;
; Explication du programme :
; Un petit mouton

#Ressource = "Ressources\"
Enumeration
  ; Menu
  #Quitter
  
  ; Image
  ; #Mouton
  ; #Mouton_Corp
  ; #Mouton_TeteProfil
  ; #Mouton_OeilProfil
  ; #Mouton_TeteFace
  ; #Mouton_DentsFace
  ; #Mouton_LangueFace
  ; #Mouton_PatteAv1
  ; #Mouton_PatteAv2
  ; #Mouton_PatteAr1
  ; #Mouton_PatteAr2
EndEnumeration

Structure Structure_Image
  x.l
  y.l
  id.l
  id_Inversion.l
EndStructure
Structure Structure_Mouton
  Mvt.l
  Animation.l
  x.l
  y.l
  Sens.l
  Corp.Structure_Image
  Tete_Animation.l
  TeteProfil.Structure_Image
  OeilProfil.Structure_Image
  TeteFace.Structure_Image
  DentsFace.Structure_Image
  LangueFace.Structure_Image
  PatteAv1.Structure_Image
  PatteAv2.Structure_Image
  PatteAr1.Structure_Image
  PatteAr2.Structure_Image
EndStructure
Global Mouton.Structure_Mouton
Structure Structure_Animation
  Frequence.l
  Continuer.l
  Duree.l
  ClignerOeil.l
  Special.l
EndStructure
Global NewList Animation.Structure_Animation(), Animation_Total

#Fenetre_H = 48
#Fenetre_L = 64

UsePNGImageDecoder()

Procedure Timer(hwnd.l, uMsg.l, idEvent.l, dwTime.l) 
  Select uMsg 
    Case #WM_TIMER 
      PostMessage_(hwnd, #WM_USER, idEvent, dwTime)
  EndSelect 
EndProcedure
Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l)
  If OpenLibrary(0, "user32.dll")
    CallFunction(0, "SetLayeredWindowAttributes", WinHandle, 0, Transparency_Level, 2)
    CloseLibrary(0)
  EndIf
EndProcedure

Procedure Image(Fichier.s)
  id = LoadImage(#PB_Any, #Ressource + Fichier)
  If id = 0
    MessageRequester("Erreur", "Impossible de charger l'image : " + Chr(10) + #Ressource + Fichier)
    End
  EndIf
  ProcedureReturn id
EndProcedure
Procedure Deplace(*Position.Structure_Image, x, y)
  *Position\x = x
  *Position\y = y
EndProcedure
Procedure Retourne(*Image.Structure_Image)
  id = *Image\id
  *Image\id = *Image\id_Inversion
  *Image\id_Inversion = id
EndProcedure

Procedure Mouton_Retourne()
  Mouton\Sens * -1
  Retourne(Mouton\Corp)
  Retourne(Mouton\TeteProfil)
  Retourne(Mouton\OeilProfil)
  Retourne(Mouton\TeteFace)
  Retourne(Mouton\LangueFace)
  Retourne(Mouton\DentsFace)
  Retourne(Mouton\PatteAv1)
  Retourne(Mouton\PatteAv2)
  Retourne(Mouton\PatteAr1)
  Retourne(Mouton\PatteAr2)
EndProcedure

;{- Fenêtre
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, -#Fenetre_L, 0, #Fenetre_L, #Fenetre_H, "Mouton", #PB_Window_BorderLess | #PB_Window_Invisible) = 0
  End
EndIf
SetWindowLong_(WindowID(0), #GWL_EXSTYLE, GetWindowLong_(WindowID(0), #GWL_EXSTYLE) | #WS_EX_TOOLWINDOW | $00080000) ; choix de la barre d'outil réduite
StickyWindow(0, 1)
SetWinTransparency(WindowID(0), 255)
HideWindow(0, 0)

IconEx_LoadIconFile(#Ressource + "Mouton.ico")
Icone = IconEx_ExtractIcon(16)
IconEx_FreeIcon()

If AddSysTrayIcon(0, WindowID(0), Icone)
  If CreatePopupImageMenu(0)
    MenuItem(#Quitter, "Quitter", Icone)
  Else
    End
  EndIf
Else
  End
EndIf
;}

;{- Images
Mouton\Corp\id = Image("Corp.png")
Mouton\Corp\id_Inversion = ImageSymmetryV(ImageID(Mouton\Corp\id))
Mouton\TeteProfil\id = Image("Tete profil.png")
Mouton\TeteProfil\id_Inversion = ImageSymmetryV(ImageID(Mouton\TeteProfil\id))
Mouton\OeilProfil\id = Image("Oeil profil.png")
Mouton\OeilProfil\id_Inversion = ImageSymmetryV(ImageID(Mouton\OeilProfil\id))
Mouton\TeteFace\id = Image("Tete face.png")
Mouton\TeteFace\id_Inversion = ImageSymmetryV(ImageID(Mouton\TeteFace\id))
Mouton\DentsFace\id = Image("Dents face.png")
Mouton\DentsFace\id_Inversion = ImageSymmetryV(ImageID(Mouton\DentsFace\id))
Mouton\LangueFace\id = Image("Langue face.png")
Mouton\LangueFace\id_Inversion = ImageSymmetryV(ImageID(Mouton\LangueFace\id))
Mouton\PatteAv1\id = Image("Patte avant 1.png")
Mouton\PatteAv1\id_Inversion = ImageSymmetryV(ImageID(Mouton\PatteAv1\id))
Mouton\PatteAv2\id = Image("Patte avant 2.png")
Mouton\PatteAv2\id_Inversion = ImageSymmetryV(ImageID(Mouton\PatteAv2\id))
Mouton\PatteAr1\id = Image("Patte arriere 1.png")
Mouton\PatteAr1\id_Inversion = ImageSymmetryV(ImageID(Mouton\PatteAr1\id))
Mouton\PatteAr2\id = Image("Patte arriere 2.png")
Mouton\PatteAr2\id_Inversion = ImageSymmetryV(ImageID(Mouton\PatteAr2\id))
Mouton\Sens = 1
;}
;{- Animation
SetTimer_(WindowID(0), 1, 50, @Timer())
; Gère la chance d'avoir une animation
; Plus la valeur est grande et plus l'animation a de chance d'apparaitre
AddElement(Animation()) : Animation()\Frequence = 25 : Animation()\Continuer = 15 : Animation()\ClignerOeil = 50 ; Avancer
AddElement(Animation()) : Animation()\Frequence = 5 : Animation()\Continuer = 30 : Animation()\ClignerOeil = 10 ; Arrêt
AddElement(Animation()) : Animation()\Frequence = 5 : Animation()\Continuer = 10 ; Tire la langue
AddElement(Animation()) : Animation()\Frequence = 5 : Animation()\Continuer = 10 ; Sourire
AddElement(Animation()) : Animation()\Frequence = 3 : Animation()\Continuer = 300 ; Coucher
AddElement(Animation()) : Animation()\Frequence = 15 : Animation()\Continuer = 8 : Animation()\ClignerOeil = 50 : Animation()\Special = 20 ; Saut
Animation_Total = 0
ForEach Animation()
  Animation_Total + Animation()\Frequence
Next
;}
;{ Ecran
ExamineDesktops()
Ecran_Largeur = DesktopWidth(0)
Ecran_Hauteur = DesktopHeight(0)
SystemParametersInfo_(#SPI_GETWORKAREA, 0, @Ecran_Zone.RECT, 0)
Mouton\x = -#Fenetre_L
Mouton\y = Ecran_Zone\bottom - #Fenetre_H
DC = GetDC_(0)
;}

Repeat
  Event = WaitWindowEvent()
  
  Select Event
    Case #PB_Event_Menu
      Select EventMenu() ; Menus
        Case #Quitter
          Event = #PB_Event_CloseWindow
      EndSelect
      
    Case #PB_Event_Gadget
      Select EventGadget() ; Gadgets
          
      EndSelect
      
    Case #PB_Event_SysTray
      Select EventType()
        Case #PB_EventType_LeftClick, #PB_EventType_RightClick
          DisplayPopupMenu(0, WindowID(0))
      EndSelect
      
    Case #WM_USER
      If DesktopMouseX() >= WindowX(0) And DesktopMouseX() < WindowX(0) + #Fenetre_L And DesktopMouseY() >= WindowY(0) And DesktopMouseY() < WindowY(0) + #Fenetre_H
        HideWindow(0, 1)
      Else
        HideWindow(0, 0)
      EndIf
      ;/ Mouton
      ;{- Choix de l'animation
      If Mouton\Animation = 0
        If Mouton\x < 0 Or Mouton\x > Ecran_Largeur - #Fenetre_L
          Mouton\Mvt = 0 ; Si on est en dehors de l'écran, on marche
        Else
          Sauvegarde_Mvt = Mouton\Mvt
          Repeat
            x = Random(Animation_Total - 1) + 1
            xx = 0
            ForEach Animation()
              xx + Animation()\Frequence
              If xx > x
                Mouton\Mvt = ListIndex(Animation())
                Break
              EndIf
            Next
          Until Mouton\Mvt <> Sauvegarde_Mvt
        EndIf
        Animation()\Duree = 0
        ; On initialise la position du mouton
        ClignerOeil = 0 ; On ouvre l'oeil, finit de cligner, on change d'animation
        Mouton\Tete_Animation = 0 ; tete droite
        Deplace(Mouton\Corp, 0, 0)
        Deplace(Mouton\TeteProfil, 0, 0)
        Deplace(Mouton\TeteFace, 0, 0)
        Deplace(Mouton\DentsFace, 0, 0)
        Deplace(Mouton\LangueFace, 0, 0)
        Deplace(Mouton\PatteAv1, 0, 0)
        Deplace(Mouton\PatteAv2, 0, 0)
        Deplace(Mouton\PatteAr1, 0, 0)
        Deplace(Mouton\PatteAr2, 0, 0)
      EndIf
      ;}
      ; On gère l'animation du mouton
      Mouton\Animation + 1
      SelectElement(Animation(), Mouton\Mvt)
      ;{- Cligner de l'oeil
      ; Pour faire cligner de l'oeil le mouton
      If ClignerOeil > 0
        ClignerOeil - 1
        Select ClignerOeil
          Case 2
            Mouton\Tete_Animation = 1
          Case 0
            Mouton\Tete_Animation = 0
        EndSelect
      ElseIf Animation()\ClignerOeil > 1
        ClignerOeil = Random(Animation()\ClignerOeil) + 10
      EndIf
      ;}
      Select Mouton\Mvt
        Case 0
          ;{- On avance
          Vitesse = 2
          HauteurPied = 2
          Mouton\x + Vitesse * Mouton\Sens
          If Mouton\Animation = 5 ; Pour revenir au départ de l'animation
            Mouton\Animation = 1
          EndIf
          Select Mouton\Animation
            Case 1
              Deplace(Mouton\TeteProfil, 0, 0)
              Deplace(Mouton\PatteAv1, -Vitesse, 0)
              Deplace(Mouton\PatteAv2, Vitesse, 0)
              Deplace(Mouton\PatteAr1, Vitesse, 0)
              Deplace(Mouton\PatteAr2, -Vitesse, 0)
            Case 2
              Deplace(Mouton\TeteProfil, 0, 1)
              Deplace(Mouton\PatteAv1, 0, -HauteurPied)
              Deplace(Mouton\PatteAv2, 0, 0)
              Deplace(Mouton\PatteAr1, 0, 0)
              Deplace(Mouton\PatteAr2, 0, -HauteurPied)
            Case 3
              Deplace(Mouton\PatteAv1, Vitesse, 0)
              Deplace(Mouton\PatteAv2, -Vitesse, 0)
              Deplace(Mouton\PatteAr1, -Vitesse, 0)
              Deplace(Mouton\PatteAr2, Vitesse, 0)
            Case 4
              Deplace(Mouton\TeteProfil, 0, 0)
              Deplace(Mouton\PatteAv1, 0, 0)
              Deplace(Mouton\PatteAv2, 0, -HauteurPied)
              Deplace(Mouton\PatteAr1, 0, -HauteurPied)
              Deplace(Mouton\PatteAr2, 0, 0)
              If Random(Animation()\Continuer) = 0
                Mouton\Animation = 0
              EndIf
          EndSelect
          ;}
        Case 1
          ;{- Le mouton s'arrête
          If Animation()\Duree = 0
            Animation()\Duree = Random(Animation()\Continuer) + 10
          EndIf
          If Mouton\Animation = Animation()\Duree
            Mouton\Animation = 0
          EndIf
          ;}
        Case 2
          ;{- Tire la langue
          If Animation()\Duree = 0
            Animation()\Duree = Random(Animation()\Continuer) + 10
          EndIf
          Select Mouton\Animation
            Case 1
              Mouton\Tete_Animation = 10
            Case 2, Animation()\Duree + 2
              Mouton\Tete_Animation = 12
              Deplace(Mouton\LangueFace, 0, -3)
            Case 3, Animation()\Duree + 1
              Deplace(Mouton\LangueFace, 0, -2)
            Case 4, Animation()\Duree
              Deplace(Mouton\LangueFace, 0, -1)
            Case 5
              Deplace(Mouton\LangueFace, 0, 0)
            Case Animation()\Duree + 3
              Mouton\Tete_Animation = 10
              Mouton\Animation = 0
          EndSelect
          ;}
        Case 3
          ;{- Sourire
          Mouton\Tete_Animation = 11
          If Animation()\Duree = 0
            Animation()\Duree = Random(Animation()\Continuer) + 10
          EndIf
          Select Mouton\Animation
            Case 1
              Deplace(Mouton\DentsFace, 0, -2)
            Case 2, Animation()\Duree
              Deplace(Mouton\DentsFace, 0, -1)
            Case 3
              Deplace(Mouton\DentsFace, 0, 0)
            Case Animation()\Duree + 1
              Mouton\Tete_Animation = 10
              Mouton\Animation = 0
          EndSelect
          ;}
        Case 4
          ;{- Coucher
          If Animation()\Duree = 0
            Coucher = 0
            Animation()\Duree = Random(Animation()\Continuer) + 30
          EndIf
          Select Mouton\Animation
            Case 1, Animation()\Duree + 1
              Deplace(Mouton\TeteProfil, 0, 1)
            Case 2, Animation()\Duree
              Deplace(Mouton\TeteProfil, 0, 2)
            Case 3 To 15
              Coucher + 1
              Mouton\Tete_Animation = 1
              Deplace(Mouton\TeteProfil, -1, 3)
              Deplace(Mouton\Corp, 0, Coucher)
            Case Animation()\Duree + 2 To Animation()\Duree + 14
              Coucher - 1
              Mouton\Tete_Animation = 0
              Deplace(Mouton\TeteProfil, 0, 0)
              Deplace(Mouton\Corp, 0, Coucher)
            Case Animation()\Duree + 15
              Deplace(Mouton\Corp, 0, 0)
              Mouton\Animation = 0
          EndSelect
          ;}
        Case 5
          ;{- Saut
          Vitesse = 3
          If Mouton\Animation <= 1
            Mouton\Animation = 1
            Select Random(Animation()\Special)
              Case 0, 1
                Animation()\Duree = 15
              Case 2
                Animation()\Duree = 20
              Default
                Animation()\Duree = 10
            EndSelect
            Saut_Y = Mouton\y
          EndIf
          Select Mouton\Animation
            Case 1 ; Prise d'élan
              Deplace(Mouton\Corp, 1, 1)
            Case 2
              Deplace(Mouton\Corp, 2, 2)
            Case 3 
              Deplace(Mouton\Corp, 2, 3)
            Case 4
              Deplace(Mouton\Corp, 2, 4)
              Saut_Depart = Mouton\Animation
              Saut_Corp = Mouton\Corp\y
            Default ; Début du saut
              Vitesse = 4
              Mouton\x + (Vitesse - Mouton\Corp\x) * Mouton\Sens
              x = (Mouton\Animation - Saut_Depart) * Vitesse
              y = -Animation()\Duree / 3 * x * x / (Animation()\Duree * Vitesse) + Animation()\Duree / 3 * x ; Equation du saut
              If y <= Saut_Corp And Mouton\Corp\y <> 0 ; On tend les pattes
                Deplace(Mouton\Corp, 0, Saut_Corp - y)
              Else ; On décolle
                Deplace(Mouton\Corp, 0, 0)
                ; on rentre les pattes
                If Mouton\y >= Saut_Y - y - Saut_Corp
                  If Saut_RentrePatte < 4
                    Saut_RentrePatte + 1
                  EndIf
                Else
                  If Saut_RentrePatte > 0
                    Saut_RentrePatte - 1
                  EndIf
                EndIf
                Deplace(Mouton\PatteAv1, -Saut_RentrePatte, -Saut_RentrePatte / 2)
                Deplace(Mouton\PatteAv2, -Saut_RentrePatte, -Saut_RentrePatte / 2)
                Deplace(Mouton\PatteAr1, -Saut_RentrePatte / 2, 0)
                Deplace(Mouton\PatteAr2, -Saut_RentrePatte / 2, 0)
                ; On monte
                Mouton\y = Saut_Y - y - Saut_Corp
              EndIf
              If Mouton\y >= Saut_Y
                Mouton\y = Saut_Y
                If Random(Animation()\Continuer) = 0
                  Mouton\Animation = 0
                Else
                  Mouton\Animation = -1
                EndIf
              EndIf
          EndSelect
          
          ;}
      EndSelect
      ;{- On dessine le mouton
      If Mouton\x > Ecran_Largeur + #Fenetre_L ; Si on sort de l'écran
        If Random(1) = 0
          Mouton\x = -#Fenetre_L
        Else
          Mouton_Retourne()
          Mouton\x = Ecran_Largeur
        EndIf
      EndIf
      If Mouton\x < -#Fenetre_L
        If Random(1) = 0
          Mouton_Retourne()
          Mouton\x = -#Fenetre_L
        Else
          Mouton\x = Ecran_Largeur
        EndIf
      EndIf
      Dessin = StartDrawing(WindowOutput(0))
        If Dessin
          Box(0, 0, #Fenetre_L, #Fenetre_H, $000000)
          BitBlt_(Dessin, 0, 0, #Fenetre_L, #Fenetre_H, DC, Mouton\x, Mouton\y, #SRCPAINT)
          DrawAlphaImage(ImageID(Mouton\PatteAv1\id), Mouton\PatteAv1\x * Mouton\Sens, Mouton\PatteAv1\y)
          DrawAlphaImage(ImageID(Mouton\PatteAv2\id), Mouton\PatteAv2\x * Mouton\Sens, Mouton\PatteAv2\y)
          DrawAlphaImage(ImageID(Mouton\PatteAr1\id), Mouton\PatteAr1\x * Mouton\Sens, Mouton\PatteAr1\y)
          DrawAlphaImage(ImageID(Mouton\PatteAr2\id), Mouton\PatteAr2\x * Mouton\Sens, Mouton\PatteAr2\y)
          DrawAlphaImage(ImageID(Mouton\Corp\id), Mouton\Corp\x * Mouton\Sens, Mouton\Corp\y)
          Select Mouton\Tete_Animation
            Case 0, 1
              DrawAlphaImage(ImageID(Mouton\TeteProfil\id), (Mouton\Corp\x + Mouton\TeteProfil\x) * Mouton\Sens, (Mouton\Corp\y + Mouton\TeteProfil\y))
              If Mouton\Tete_Animation = 0
                DrawAlphaImage(ImageID(Mouton\OeilProfil\id), (Mouton\Corp\x + Mouton\TeteProfil\x + Mouton\OeilProfil\x) * Mouton\Sens, (Mouton\Corp\y + Mouton\TeteProfil\y +  Mouton\OeilProfil\y))
              EndIf
            Case 10, 11, 12
              If Mouton\Tete_Animation = 11
                DrawAlphaImage(ImageID(Mouton\DentsFace\id), (Mouton\Corp\x + Mouton\TeteFace\x + Mouton\DentsFace\x) * Mouton\Sens, (Mouton\Corp\y + Mouton\TeteFace\y + Mouton\DentsFace\y))
              EndIf
              If Mouton\Tete_Animation = 12
                DrawAlphaImage(ImageID(Mouton\LangueFace\id), (Mouton\Corp\x + Mouton\TeteFace\x + Mouton\LangueFace\x) * Mouton\Sens, (Mouton\Corp\y + Mouton\TeteFace\y + Mouton\LangueFace\y))
              EndIf
              DrawAlphaImage(ImageID(Mouton\TeteFace\id), (Mouton\Corp\x + Mouton\TeteFace\x) * Mouton\Sens, (Mouton\Corp\y + Mouton\TeteFace\y))
          EndSelect
          
          ;{ FPS
          CompilerIf #PB_Compiler_Debugger
            Ips_Cpt + 1
            If Ips_Cpt >= Ips.f
              Ips = Ips_Cpt * 1000 / (ElapsedMilliseconds() - Ips_Temps)
              Ips_Cpt = 0
              Ips_Temps = ElapsedMilliseconds()
            EndIf
            DrawText(0, 0, Str(Ips))
          CompilerEndIf
          ;}
          
        StopDrawing()
      EndIf
      ResizeWindow(0, Mouton\x, Mouton\y, #PB_Ignore, #PB_Ignore)
      ;}
  EndSelect
  
Until Event = #PB_Event_CloseWindow

ReleaseDC_(0, DC)

End
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

C'est excellent :D En plus le mouton est tout mimi.
Ce serait plus sympa si on pouvait le glisser/déposer du le dessus de n'importe qu'elle fenêtre. En tout cas merci du cadeau.
(suis sous xp)
~~~~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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tu nous a refais le coup de la chenille !! :D

j'ai toujour le code de la chenille d'ailleurs ! :)


cool ce mouton, mais maintenant, je ne peux utiliser mon ordi, sans avoir envie de dormir !! c'est malin ! :? :lol:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Code : Tout sélectionner

IconEx_LoadIconFile(#Ressource + "Mouton.ico")
ça sent la lib non ???? :roll:
Zut, ..... :cry:
KCC, il est préssé de voir les seules bebetes qui porte des pulls dans la nature, se promener sur son ecran a lui aussi :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

arf, il faut la lib IconEx. Tu la trouveras sur mon site.
Mais dans le zip, tu as l'exe
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci soldat 8)

TROP COOL TON BEEEEEEEEHHHH

J'ADORE !!!!!!!


Il est rigolo, y me tire la langue, hihihihihi !!

TROP DU LA BALLE

J'croyais etre le seul à aimer ce genre "d'utilitaire" :lol:

Dis donc, et si on le tond......tu crois qu'il saute plus haut :lol:

Ca va drolement me servir ton code, je voulais dans le temps faire un petit bonhome, qui traverse la page et sort de sa poche un papier immense style carte qu'il déplie et ça deviens une fenetre de travail d'une appli :D
On aurait vu sur les coté de la fenetre ses petits doigts boudinés qui tiennent la fenetre et lui on le verrait pas car on suposerais qu'il tiens la fenetre et est caché derriere :roll:
Et quand tu ferme la fenetre le grand papier se replie, et hop il la met dans la poche et se taille 8)
C'est déja une grosse partie du boulot de fait grace à ton code :D

Car pas la peine de te dire, qu'avec mes idée à la Biiiip, j'aurais de quoi occupé les trois forums 24/24 h, mais faudra déja que j'apprenne à lancer l'ide sans le refermer, avant de me lancer dans ce genre de code :lol:

Mille merci, mon bon soldat
Hihihihihi !!! y viens de sourire, aussi intelligement que KCC, hihihiihi !! :D

Trop cool
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Bonne idée KCC, moi je visais plus un genre d'avatar qui gèrerait des Post It, rendez vous etc.. :P
Peut-être de façon vocals, genre le personnage arrive en courant au milieu de l'ecran et gueule "Arrête de buller devant ton PC, ta femme rentre dans 1 heure et tu devais faire à bouffer !"

J'adore le concept :D
~~~~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
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

C'est vrai on pourrais faire noir de choses surprenantes avec ce genre d'idée.
Plutot que de faire toujours des fenetres banales qui s'ouvrent.

Ou alors aussi, pour l'aide, un peu comme office, le pelo y sort de derriere la fenetre et il deplie son plan :D et hop y'a l'aide dedans.

Ou alors j'avais aussi pensé à une braguette au milieu de l'ecran.
Elle s'ouvre et la fenetre sort de derriere.

J'ai bien dit la fenetre !!!

Je vois deja les esprits tordus me dire qu'on pourrais faire sortir autre chose de la braguette :lol:

En attendant revenons à nos moutons :lol: :lol:
J'etais obligé de la faire celle la, rien que pour le plaisir

Le code du soldat, il est trop cool !!!
Y m'fait rigoler, c'est un peu comme un aquarium, on se surprent à regarder cette bestiole un bon moment :D
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Tiens je viens d'essayer de le compiler et pouf :
ImageSymmetryV() is not a function blablabla...

Y'a autre chose que la lib IconEx à utiliser ?
~~~~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
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Oui apparement, j'ai vu que y'avais aussi la lib Effect, enfin je crois :roll:

Moi, j'ai essayé de recuperer les codes sources de chaque lib, et de les metre en include, mais ça n'a pas marché non plus.
J'ai un bleme avec une liste chainée qui dit qu'elle n'est pas initialisée.

Mais ça doit etre normal, le mouton y doit pas aimer que KCC y fouine dans ses entrailles :?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Oui, il faut aussi la lib Effect

KCC, pour mettre le code des lib en include, ca marche, mais il faut que tu lance les fonctions d'init des lib
En gros, dans la lib IconEx par exemple, tu as la fonction IconEx_Init()
Et bien cette fonction, tu dois la lancer, elle initialise le code de la librairie.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Merci beaucoup mon bon soldat 8)
Tu es une vraie maman pour moi :D

Tu sais, je sais meme pas comment mon cerveau désséché a pu aller jusqu'a penser à inclure les codes sources des lib.
En fait, j'aime bien voir tout le code, j'y comprend rien, mais j'aime bien :D

C'est comme pour les sources de COMATE de SROD, c'est joli toutes ces lignes egyptiennes :D

J'essaierais de faire comme tu dis, et je te tiendrais au courant.

Au fait, j'me rappelle pas si j't'ai dit qu'il etait
GEANT TON PETIT MOUTON !!! :D

Au fait ça me fait penser que la derniere fois que j'ai dit ça à une fille.......elle m'a mis une baigne...... :cry:
Bizzare non ???? :roll:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Voila a peine arrivé au boulot, que hop, j'me suis jeté "sul'mouton".
J'ai fait tout comme t'as dit, et le sourire c'est installé sur mon visage boufonesque.
Le p'tit mouton est apparu :D

Et y m'a souris, alors j'lui ai souri aussi, puis il est reparti.

Mais dis donc......j'ai pas osé le lui dire, parce que je ne voulais pas le vexer....
Mais il avait une espece de crotte carré et blanche au derriere avec un chiffre dedans 20 ou 33 8O
Ce mouton il est moins propre que celui de l'exe, si y sait pas se torcher :?

Voila, encore merci de ce joli cadeau SOLDAT
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

En mode debug, tu as le FPS qui s'affiche, c'est de ca que tu parles ?

Je vais rajouter des animations pour mon mouton. J'ai quelques idées que j'ai commencé de dessiner
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

FPS 8O
Peut etre ....
Y'a un carré blanc avec ces deux chiffres, ça doit etre ça :D

C'est toi qui le dessine....j'suis ébouriffé 8O

Je l'aime vraiment beaucoup ce mouton la :D
Je te promet de pas le manger 8)

Et pourtant quand je vois tout le travail que tu as accompli, je n'ai que quelques mots qui me viennent à l'esprit, c'est
MECHOUI BEAUCOUP !!! :lol: :lol: d'avoir partagé ce génial code 8)
Répondre