Aktuelle Zeit: 20.08.2019 22:16

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Circles2.0
BeitragVerfasst: 30.08.2012 18:06 
Offline
Benutzeravatar

Registriert: 14.09.2004 21:51
Hallo an alle,

ich habe gerade meinen alten Bildschirmschoner Circles etwas aufgepeppt und neukompiliert. Ich benutze ihn
gerne zum Entspannen, wenn ich mal wieder einen stressigen Tag hatte. Ich hoffe er gefällt euch!
Hab zwei Versionen draus gemacht, einmal als normale Exe und nochmal als Screensaver.

https://dl.dropbox.com/u/79165522/circles.zip

Grüsse
Darie

_________________
Repeat
PureBasic
ForEver


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Circles2.0
BeitragVerfasst: 10.08.2014 12:03 
Offline
Benutzeravatar

Registriert: 14.09.2004 21:51
neuer Link: https://dl.dropboxusercontent.com/u/79165522/circles.exe

_________________
Repeat
PureBasic
ForEver


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Circles2.0
BeitragVerfasst: 11.02.2019 12:45 
Offline
Benutzeravatar

Registriert: 14.09.2004 21:51
Sorry, dass meine Links down gewesen sind. Deswegen poste ich mal meinen aktuellen Code.

Code:
;*************************************************************************************************************************
;************************************************** CIRCLES Bildschirmschoner **************************************************
;**************************************************  by Alexander Diaconu  ******************************************************
;*************************************************************************************************************************

; Lizenzvereinbarung / Urheberrechtshinweise
;
; a) ENDBENUTZERVERTRAG:
; Mit Installation und/oder Verwendung dieser Software sowie der Weitergabe an Dritte akzeptiert der Anwender diese Lizenzvereinbarung.
;
; 1. CIRCLES ist kostenlos! Der Anwender ist berechtigt, diese Software zu benutzen und kostenfrei an Dritte weiterzugeben. Eine Nutzung im kommerziellen Bereich ist
; nur mit dem Einverständnis und unter den Bedingungen des Authors erlaubt.
; 2. Haftungsauschluss: der Autor dieses Programmes kann unter keinen Umständen, eingeschlossen Fahrlässigkeit, für Schäden jeglicher Art (inklusive Datenverlust,
; Gewinn-/Umsatzeinbußen, die durch Verwendung oder Verbreitung der Software verursacht werden, zur Verantwortung gezogen werden.
;
; 2016 Copyright by Alexander Diaconu

; ************************************************************************************************************************
 

; Init
Declare Run()
Declare About()

Global Kreise.w   
Global Abstand = 2
Global Delay = 5
Global Delay2 = 300   
Global BreakID.b
Global Started = 0


; ************************************************************************************************************************
 

Macro RandomizeColors
  Farbe1 = RGB(Random(255), Random(255), Random(255))
  Farbe2 = RGB(Random(255), Random(255), Random(255))
  Farbe3 = RGB(Random(255), Random(255), Random(255))
  Farbe4 = RGB(Random(255), Random(255), Random(255))
  Farbe5 = RGB(Random(255), Random(255), Random(255))
  Farbe6 = RGB(Random(255), Random(255), Random(255))
  ;Farbe1 = RGBA(Random(255), Random(255), Random(255),Random(255))
  ;Farbe2 = RGBA(Random(255), Random(255), Random(255),Random(255))
  ;Farbe3 = RGBA(Random(255), Random(255), Random(255),Random(255))
  ;Farbe4 = RGBA(Random(255), Random(255), Random(255),Random(255))
  ;Farbe5 = RGBA(Random(255), Random(255), Random(255),Random(255))
  ;Farbe6 = RGBA(Random(255), Random(255), Random(255),Random(255))
 EndMacro
 
Macro RandomArea(StartValue, EndValue, StepValue)
( Random(Int(((EndValue)-(StartValue))/(StepValue)))*(StepValue)+(StartValue) )
EndMacro

                 
Procedure Run()
 
 ShowCursor_(0)
 InitKeyboard()
 InitSprite()
 
 Desk=ExamineDesktops()
 Screen_X = DesktopWidth(0)
 Screen_Y = DesktopHeight(0)
 
;  Debug Desk
;  Debug Screen_X
;  Debug Screen_Y
;  Debug DesktopX(1)
;  Debug DesktopY(1)
;  End

 ;GetCursorPos_(Maus.Point)
 ;Screen_X = GetSystemMetrics_(#SM_CXSCREEN)
 ;Screen_Y = GetSystemMetrics_(#SM_CYSCREEN)
 
 WinID = OpenWindow(0, 0, 0, Screen_X, Screen_Y, "",#PB_Window_BorderLess)
 OpenWindowedScreen(WinID, 0, 0, Screen_X, Screen_Y,0,0,0,0) : StickyWindow(0, 1) ;: SetFrameRate(57)
 
 Kreise = Sqr(Pow(Screen_X/2,2) + Pow(Screen_Y/2,2))
 ClearScreen($000000)

 Sprite = 0 : CreateSprite(Sprite,Screen_X,Screen_Y,#PB_Sprite_AlphaBlending)
 
 posx =  -screen_x/2
 posy =  -screen_y/2
 
 Repeat
   
  Select Mode
  Case 0
   x1 = Random(Screen_X) : y1 = Random(Screen_Y)
   lum = RandomArea(30, 50, 5)
  Case 1
   x1 = Random(Screen_X*1.7) : y1 = Random(Screen_Y*1.7)
   ;lum = 20
   lum = RandomArea(20, 40, 10)
  EndSelect
  x2 = x1 + Random(2)
 
 
  RandomizeColors : Radius = 0
  ;Timer = 2500
  Timer = RandomArea(Random(1000,200), Random(8700, 2600), 10); Random(100,10))
  ;If Started = 1 : Delay(Delay2) : Else : Started = 1 : EndIf
  ;Abstand = Random(2,1)
   
  For Radius = 1 To Kreise
   
    Select Mode
    Case 0
     DisplayTransparentSprite(Sprite, 0, 0, lum)
     ;SpriteBlendingMode(#PB_Sprite_BlendInvertSourceColor,#PB_Sprite_BlendDestinationColor)
     Delay(Delay)
    Case 1
     RotateSprite(Sprite, Gamma.f,  #PB_Relative) ;: ZoomSprite(Sprite, Screen_X+RandomArea(-100,100,1), Screen_Y+RandomArea(-100,100,1))
     ;ZoomSprite(Sprite, SpriteWidth(Sprite)+RandomArea(-10,10,1), SpriteHeight(Sprite)+RandomArea(-10,10,1))
     DisplayTransparentSprite(Sprite, posx, posy, lum)
     ;Delay(0)
    EndSelect
   
   FlipBuffers()
   
   ;If Radius = Kreise : Delay(Delay) : EndIf
   
   ;GetCursorPos_(temp.POINT)
   ;If Maus\x <> temp\x : Break_ID = 1 : Break : EndIf
   ;If Maus\y <> temp\y : Break_ID = 1 : Break : EndIf
   
   ExamineKeyboard()
 
   If KeyboardReleased(#PB_Key_P)
    Select Psychedelic
     Case 0 : Psychedelic = 1
     Case 1  :  Psychedelic = 0
    EndSelect
   EndIf
   
   If KeyboardReleased(#PB_Key_Space)
    Select Mode
     Case 0
      Mode = 1 : Radius = 1 : ClearScreen($000000) : Gamma.f = RandomArea(-0.14, 0.14, 0.01)
      Kreise = Sqr(Pow(Screen_X/2,2) + Pow(Screen_Y/2,2)) * 2
      x1 = Screen_X + RandomArea(-300, 300, 1) : y1 = Screen_Y + RandomArea(-300, 300, 1)
      Sprite = 0 : FreeSprite(Sprite) : CreateSprite(Sprite,Screen_X*2,Screen_Y*2,#PB_Sprite_AlphaBlending)
      RandomizeColors : Psychedelic = 0
     Case 1
      x1 = Random(Screen_X) : y1 = Random(Screen_Y) : y2 = y1 : x2 = x1 + Random(2)
      Mode = 0 : Radius = 1 : ClearScreen($000000) : Delay = 5
      Kreise = Sqr(Pow(Screen_X/2,2) + Pow(Screen_Y/2,2))
      Sprite = 0 :  FreeSprite(Sprite) : CreateSprite(Sprite,Screen_X,Screen_Y,#PB_Sprite_AlphaBlending)
      RandomizeColors : Psychedelic = 0
    EndSelect
   EndIf
   
   If Mode = 0
   If KeyboardReleased(#PB_Key_Add)
   Delay-1 : If Delay < 0 : Delay = 0 : EndIf
   ElseIf KeyboardReleased(#PB_Key_Subtract)
   Delay+1 : If Delay > 30 : Delay = 30 : EndIf
   EndIf
   EndIf
   
   If KeyboardReleased(#PB_Key_Divide)
   Gamma.f - 0.01 : If Gamma.f < -1.4 : Gamma.f = 0.01 : EndIf
   If Gamma.f = 0 : Gamma.f = - 0.01 : EndIf
   ;ZoomSprite(Sprite, SpriteWidth(Sprite)+10, SpriteHeight(Sprite)+10)
   ElseIf KeyboardReleased(#PB_Key_Multiply)
   Gamma.f + 0.01 : If Gamma.f > 1.4 : Gamma.f = 1.4 : EndIf
   ;ZoomSprite(Sprite, SpriteWidth(Sprite)-10, SpriteHeight(Sprite)-10)
   If Gamma.f = 0 : Gamma.f = 0.01 : EndIf
   EndIf
   
   If KeyboardReleased(#PB_Key_Pad0) : Gamma.f = 0.01 : EndIf
   If KeyboardReleased(#PB_Key_PadEnter) : Gamma.f = 1.4 : EndIf
   If KeyboardPushed(#PB_Key_Escape) <> 0 : Quit = 1 : Break : EndIf
   
   Repeat
   Event = WindowEvent()
   Until Event = 0
   
    t = ElapsedMilliseconds()
    If t >= M1 + Timer
    If Psychedelic = 1
    If DrawPsychedelic = 0 : DrawPsychedelic = 1 : Else :  DrawPsychedelic = 0 : EndIf
    EndIf
    M1 = t
    EndIf
 
   StartDrawing(SpriteOutput(Sprite))
 
   If DrawPsychedelic = 0
   DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_Outlined)
   Else
   DrawingMode(#PB_2DDrawing_Gradient|#PB_2DDrawing_Outlined|#PB_2DDrawing_XOr) 
   EndIf
   
   ;ConicalGradient(x1,y1, Random(90))
   ;LinearGradient(screen_x*2, screen_y*2,screen_x, screen_y);EllipticalGradient(x1, y1, Random(Screen_X),Random(Screen_Y))
   
   ResetGradientColors()
   GradientColor(0.0, Farbe1)
   If Mode = 1 : GradientColor(0.5, Farbe2) : EndIf
   GradientColor(1.0, Farbe3)
   CircularGradient(x1, y1, Kreise)
   Circle(x1,y1, Radius * Abstand)
   
   GradientColor(0.0, Farbe4)
   If Mode = 1 : GradientColor(0.5, Farbe5) : EndIf
   GradientColor(1.0, Farbe6)
   CircularGradient(x1, y1, Kreise)
   Circle(x2,y1, (Kreise - Radius + 1) * Abstand)
   
   StopDrawing()
     
 Next Radius
 Until Quit

 CloseWindow(0)
 End

EndProcedure

;****************************************************************************************************************

Procedure About()

 MessageRequester("Circles V2.1","    Copyright 2015 by Alexander Diaconu", #PB_MessageRequester_Ok)

EndProcedure


;****************************************************************************************************************

; Parameter1.s = ProgramParameter() : Fenster_ID.s
; If Len(Parameter1) > 2
;  Fenster_ID = Mid(Parameter1,4,Len(Parameter1) - 3)
; Else
;  Fenster_ID = ProgramParameter()
; EndIf
; Parameter1 = Mid(Parameter1,2,1)
;
; If FindString(Parameter1, "s",#PB_Ignore,#PB_String_NoCase) : Run() : EndIf
; If FindString(Parameter1, "c",#PB_Ignore,#PB_String_NoCase) : About() : EndIf

;Parameterabfrage mit Delay
;Repeat :  param.s= ProgramParameter() : Parameter1.s + param.s : Until param.s = "" ; : Debug parameter1.s : End
;If  FindString(Parameter1, "delay=",#PB_Ignore,#PB_String_NoCase)  :  pos = FindString(Parameter1, "delay=",#PB_Ignore,#PB_String_NoCase) : Delay=Val(Mid(Parameter1, pos+6 ))  : EndIf

Run()


_________________
Repeat
PureBasic
ForEver


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye