VB 5/6-Tipp 0494: Unterwasser-Effekt
von Qais Qadoumi
Beschreibung
Per BitBlt kann man einen animierten Unterwasser-Effekt auf eine beliebige Grafik anwenden.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Bildfeld-Steuerelement "Picture1" ' Steuerelement: Bildfeld-Steuerelement "Picture2" ' ' Autor: Qais Ghalib, Qais60@hotmail.com ' Deklarationen Private Declare Function BitBlt Lib "gdi32" ( _ ByVal hDestDC As Long, _ ByVal x As Long, _ ByVal y As Long, _ ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hDC As Long, _ ByVal rc As Long, _ ByVal yrc As Long, _ ByVal dwRop As Long) As Long ' Konstanten Private Const SRCCOPY = &HCC0020 Private Const Siz = 16 ' Typen Private Type Clip x As Single y As Single Set As Single offsety As Single End Type Private Verb() As Clip Private Sine1() As Single, Sine2() As Single Private i As Integer, ii As Integer Private Sub underwater() ' Der Unterwasser-Effekt Do DoEvents For i = 0 To Picture1.ScaleWidth / Siz For ii = 0 To Picture1.ScaleHeight / Siz Verb(i, ii).x = i * Siz Verb(i, ii).y = ii * Siz Verb(i, ii).Set = Verb(i, ii).Set + 0.5 * Sin(Timer * i) Verb(i, ii).offsety = Verb(i, ii).offsety + 0.5 * Sin(Timer * ii) BitBlt Picture1.hDC, Verb(i, ii).x + Verb(i, ii).Set, Verb(i, ii).y + Verb( _ i, ii).offsety, Siz, Siz, Picture2.hDC, i * Siz, ii * Siz, SRCCOPY Next Next Loop End Sub Private Sub Command1_Click() ' Ende End End Sub Private Sub Form_Activate() underwater End Sub Private Sub Form_Load() ReDim Verb(Picture1.ScaleWidth / Siz, Picture1.ScaleHeight / Siz) End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 4 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von anonym am 21.03.2005 um 12:23
hä!?
warst nioch nie mit´n kopf unter wasser *g*
Kommentar von VB-Newbi am 24.11.2003 um 14:32
Das sieht voll wirsch aus... Also ich kann da nicht erkennen, dass da irgendwas mit Wasser ist! Vielleicht läuft es bei mir aber auch nicht so wie geplant! Irgendwie sind da nur ein paar Quadratische Bilder, die sich in der PictureBox bewegen!
Kommentar von Misrer Undercover am 19.07.2002 um 19:14
Sieht ein BISSCHEN[;-)] eckig aus.
Kommentar von Philip Saloga am 16.07.2002 um 22:14
Das Programm scheint sich nicht korrekt zu beenden. Lösungsmöglichkeit wäre eine Shutdown-Variable, diese wird vor dem End-Aufruf auf True gesetzt und in der Schleife abgefragt, ist sie auf True wird die Schleife beendet (exit do).