Search Tools Links Login

3D-Stars in a Form

Posted: 2002-06-01
By: ArchiveBot
Viewed: 141

Filed Under:

VB6 Code Cache

No attachments for this post


Draws a nice 3D-Starfield in a Form (uses X,Y,Z positions)
width a very short code
Shades each star depending on the distance.

Original Author: Mikael Rickan

Assumptions

Create an Timer for the form called Timer1

Side Effects

None (maybe some flickering)

API Declarations

 

Code

'
Dim X(100), Y(100), Z(100) As Integer
Dim tmpX(100), tmpY(100), tmpZ(100) As Integer
Dim K As Integer
Dim Zoom As Integer
Dim Speed As Integer
Private Sub Form_Activate()
Speed = -1
K = 2038
Zoom = 256
Timer1.Interval = 1
For i = 0 To 100
  X(i) = Int(Rnd * 1024) - 512
  Y(i) = Int(Rnd * 1024) - 512
  Z(i) = Int(Rnd * 512) - 256
Next i
End Sub
Private Sub Timer1_Timer()
For i = 0 To 100
  Circle (tmpX(i), tmpY(i)), 5, BackColor
  Z(i) = Z(i) + Speed
  If Z(i) > 255 Then Z(i) = -255
  If Z(i) < -255 Then Z(i) = 255
  tmpZ(i) = Z(i) + Zoom
  tmpX(i) = (X(i) * K / tmpZ(i)) + (Form1.Width / 2)
  tmpY(i) = (Y(i) * K / tmpZ(i)) + (Form1.Height / 2)
  Radius = 1
  StarColor = 256 - Z(i)
  Circle (tmpX(i), tmpY(i)), 5, RGB(StarColor, StarColor, StarColor)
  
Next i
End Sub


Comments on this post

No comments have been added for this post.

You must be logged in to make a comment.