Friday, January 2, 2015

Membuat Form Bersalju Di Visual Basic 6.0



Berikut ini adalah cara membuat form di visual basic 6.0 bersalju, untuk membuatnya buka project baru dan pastinya sebuah form dan masukkan 2 buah timer ke dalam form dengan interval masing masing 500, dan masukkan pula 8 buah label ke dalam form, untuk name dari label sesuaikan saja dengan huruf yang digunakan, dalam contoh ini saya menggunakan badsoft, maka name dari label nya B-A-D-S-O-F-T dan label1, selanjutnya masuk pada jendela coding dan masukkan coding berikut :

Option Explicit
Dim jalan As Boolean
Dim Bergerak As Integer

Private Sub Form_Load()
ScaleMode = vbPixels
DrawWidth = ukuran_salju
BackColor = vbBlack

Dim I As Integer

For I = 0 To kecepatan_salju
snow(I).X = CInt(Int(ScaleWidth * Rnd))
snow(I).Y = CInt(Int(ScaleHeight * Rnd))
Next I

jalan = True
Timer1.Enabled = True
ForeColor = vbWhite
End Sub

Sub drawsnow()
Dim I As Integer
Dim newX As Integer
Dim newY As Integer

Timer1.Enabled = False

Do While jalan
For I = 0 To kecepatan_salju
PSet (snow(I).oldX, snow(I).oldY), vbBlack
PSet (snow(I).X, snow(I).Y)
Next I

For I = 0 To kecepatan_salju
snow(I).oldX = snow(I).X
snow(I).oldY = snow(I).Y
newX = snow(I).X + Int(2 * Rnd)
newX = newX - Int(2 * Rnd)

newY = snow(I).Y + 1
If Point(newX, newY) = vbBlack Then
snow(I).Y = newY
snow(I).X = newX
Else
If snow(I).istopped = 10 Then
If Point(snow(I).X + 1, snow(I).Y + 1) = vbBlack Then
snow(I).X = snow(I).X + 1
snow(I).Y = snow(I).Y + 1
ElseIf Me.Point(snow(I).X - 1, snow(I).Y + 1) = vbBlack Then
snow(I).X = snow(I).X - 1
snow(I).Y = snow(I).Y + 1
snow(I).istopped = 0
Else
newparticle (I)
End If
Else
snow(I).istopped = snow(I).istopped + 1
End If
End If

Next I
DoEvents
Loop
End Sub

Sub newparticle(I As Integer)
snow(I).X = CInt(Int(ScaleWidth * Rnd))
snow(I).Y = 0
snow(I).oldX = 0
snow(I).oldY = 0
snow(I).istopped = 0
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
jalan = False
End Sub

Private Sub Timer1_Timer()
drawsnow
End Sub

Private Sub Timer2_Timer()
If B.Enabled = True Then
B.Enabled = False
Else
If B.Enabled = True Then
B.Enabled = False
Else
If A.Enabled = True Then
A.Enabled = False
Else
If D.Enabled = True Then
D.Enabled = False
Else
If S.Enabled = True Then
S.Enabled = False
Else
If O.Enabled = True Then
O.Enabled = False
Else
If F.Enabled = True Then
F.Enabled = False
Else
If T.Enabled = True Then
T.Enabled = False
Else
B.Enabled = True
A.Enabled = True
D.Enabled = True
S.Enabled = True
O.Enabled = True
F.Enabled = True
T.Enabled = True
End If
End If
End If
End If
End If
End If
End If
End If
End Sub

Selanjutnya tambahkan sebuah module ke dalam form dengan cara klik menu project > add module dan ketikkan coding berikut :

Option Explicit
Type xparticle
X As Integer
Y As Integer
oldX As Integer
oldY As Integer
istopped As Integer
End Type

Global Const kecepatan_salju = 400
Global Const ukuran_salju = 1
Global snow(0 To kecepatan_salju) As xparticle

Selanjutnya jalankan program (F5)

Labels: ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home