# 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)

### 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```