Seite 1 von 1

Water Effect nur wie ??

Verfasst: 04.09.2005 12:54
von Dristar
Hallo Purebasic freunde

Kann mir jemand sagen wie ich in einem Bild ein wasser effect hinbekomme?
Keine Ahnung von Mathematische Formeln.
Ich möchte es so machen wie in manchen KEYGEN´s

z.b:

http://www.gamedev.net/reference/progra ... Effect.exe


würde mich freuen wenn einer so einen code schon hat

mfg Dristar

Verfasst: 04.09.2005 13:08
von unix
Wenn du 2D meinst brauchst du die tropfen als image und legst sie halbtransparent zufällig auf dein Bild

Wenn du eine 3D Welt Regen willst lässt sich sowas leicht mit Particleemitter darstellen deren fläche die Welt überspannt

[EDIT]

sry hab jetzt erst des prog geöffnet
ich überleg mir mal was

Verfasst: 05.09.2005 11:05
von Caliban
Schau dir mal dieses Beispiel von PureArea.net an:

Code: Alles auswählen

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1269&highlight=
; Author: RobinK
; Date: 18. June 2003


; Converted from:  http://freespace.virgin.net/hugo.elias/graphics/x_water.htm

If InitSprite() = 0 Or OpenScreen(320,240,32,"Wasser") = 0 Or InitKeyboard() = 0 Or InitMouse() = 0 
  End 
EndIf 

Dim Buffer(2,319,239) 
Repeat      
  Buffer(0,Random(317)+1,Random(237)+1) = Random(128) 
  ExamineMouse()    
  If MouseButton(1) <> 0 
    Buffer(0,MouseX(),MouseY()) = 128 
  EndIf 
  out = ScreenOutput() 
  If out    
  If StartDrawing(out) 
  For x = 1 To 318 
    For y = 1 To 238 
      Buffer(1,x,y) = ((Buffer(0,x-1,y)+Buffer(0,x+1,y)+Buffer(0,x,y-1)+Buffer(0,x,y+1))>>1) - Buffer(1,x,y) 
      Buffer(1,x,y) = Buffer(1,x,y)-Buffer(1,x,y)/128 
      Plot(x,y,RGB(0,Buffer(1,x,y)+128,255))  
    Next 
  Next    
  For x = 0 To 319 
    For y = 0 To 239 
      Buffer(2,x,y) = Buffer(1,x,y) 
    Next 
  Next 
  For x = 0 To 319 
    For y = 0 To 239 
      Buffer(1,x,y) = Buffer(0,x,y) 
    Next 
  Next    
  For x = 0 To 319 
    For y = 0 To 239 
      Buffer(0,x,y) = Buffer(2,x,y) 
    Next 
  Next    
  Plot(MouseX(),MouseY(),RGB(255,0,0)) 
  StopDrawing() 
  EndIf 
  EndIf 
  FlipBuffers() 
  ClearScreen(0,0,128)  
  ExamineKeyboard()  
Until KeyboardPushed(#PB_Key_Escape) 

Verfasst: 05.09.2005 11:12
von DarkDragon
Haha :lol: kaum zu glauben dass robink ein eintrag im codearchiv hat. Ich hol ihn mal her.

Verfasst: 05.09.2005 17:57
von robink
Hi!
Das was ich da gemacht hab ist bisschen billig, in einer kleinen Grafikdemo
hat ich das mal richtig, aber ich hab die nicht mehr (Wenn noch wer die hat
... ich würde sie gerne haben ;)). Schau mal hier: http://freespace.virgin.net/hugo.elias/ ... x_main.htm
unter water, da steht ganz gut erklärt wie man sowas basteln kann!

Verfasst: 06.09.2005 00:55
von Dristar
@Caliban

Denn kenne ich schon :-) , aber trotzdem danke.

Ich hoffe das @unix so ein änlichen wasser effect hinbekommt wie in dem Demo :o
sry hab jetzt erst des prog geöffnet
ich überleg mir mal was
:allright: