Water Effect nur wie ??

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

Water Effect nur wie ??

Beitrag 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
Benutzeravatar
unix
Beiträge: 361
Registriert: 15.02.2005 19:25
Wohnort: Zwischen Coburg und Bamberg :-)
Kontaktdaten:

Beitrag 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
Hier steht normalerweise die Putzfrau drin,
die hat aber Urlaub.
MfG : Unix
Caliban
Beiträge: 41
Registriert: 08.09.2004 08:46

Beitrag 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) 
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Haha :lol: kaum zu glauben dass robink ein eintrag im codearchiv hat. Ich hol ihn mal her.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
robink
Beiträge: 33
Registriert: 29.08.2004 15:11
Wohnort: Rinteln
Kontaktdaten:

Beitrag 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!
Dristar
Beiträge: 72
Registriert: 13.09.2004 12:46

Beitrag 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:
Antworten