Oluşturduğumuz dizinin içine Form1 in Load eventi içinde değerleri yerleştirelim.
Private Sub Form_Load()
seafoodplus.info(0).x = 0
seafoodplus.info(0).y = 0
seafoodplus.info(0).Z = 0
seafoodplus.info(1).x =
seafoodplus.info(1).y = 0
seafoodplus.info(1).Z = 0
seafoodplus.info(2).x = 0
seafoodplus.info(2).y =
seafoodplus.info(2).Z = 0
seafoodplus.info(3).x =
seafoodplus.info(3).y =
seafoodplus.info(3).Z = 0
seafoodplus.info(4).x = 0
seafoodplus.info(4).y = 0
seafoodplus.info(4).Z =
seafoodplus.info(5).x =
seafoodplus.info(5).y = 0
seafoodplus.info(5).Z =
seafoodplus.info(6).x = 0
seafoodplus.info(6).y =
seafoodplus.info(6).Z =
seafoodplus.info(7).x =
seafoodplus.info(7).y =
seafoodplus.info(7).Z =
seafoodplus.info(0).p1 = seafoodplus.info(0)
seafoodplus.info(0).p2 = seafoodplus.info(1)
seafoodplus.info(1).p1 = seafoodplus.info(0)
seafoodplus.info(1).p2 = seafoodplus.info(2)
seafoodplus.info(2).p1 = seafoodplus.info(2)
seafoodplus.info(2).p2 = seafoodplus.info(3)
seafoodplus.info(3).p1 = seafoodplus.info(1)
seafoodplus.info(3).p2 = seafoodplus.info(3)
seafoodplus.info(4).p1 = seafoodplus.info(4)
seafoodplus.info(4).p2 = seafoodplus.info(5)
seafoodplus.info(5).p1 = seafoodplus.info(4)
seafoodplus.info(5).p2 = seafoodplus.info(6)
seafoodplus.info(6).p1 = seafoodplus.info(6)
seafoodplus.info(6).p2 = seafoodplus.info(7)
seafoodplus.info(7).p1 = seafoodplus.info(5)
seafoodplus.info(7).p2 = seafoodplus.info(7)
seafoodplus.info(8).p1 = seafoodplus.info(4)
seafoodplus.info(8).p2 = seafoodplus.info(0)
seafoodplus.info(9).p1 = seafoodplus.info(6)
seafoodplus.info(9).p2 = seafoodplus.info(2)
seafoodplus.info(10).p1 = seafoodplus.info(7)
seafoodplus.info(10).p2 = seafoodplus.info(3)
seafoodplus.info(11).p1 = seafoodplus.info(5)
seafoodplus.info(11).p2 = seafoodplus.info(1)
dist = 'Uzaklık
mpx = 15 'küpü kolay yoldan büyük çizdirebilmek için çarpan
seafoodplus.infodraw = True 'Picture1 in değişiklikleri otomatik çizmesi için
Drawer 'Çizici
End Sub
Module1
içine iki adet fonksiyon ekliyoruz. Bunlar defalarca yapacağımız hesaplama işlemlerinde bize kolaylık sağlayacaktır.Public Function hsx(X As Double, Z As Double, dist As Double) 'Horizontal center of screen
hsx = dist * X / (dist + Z)
End Function
Public Function hsy(Y As Double, Z As Double, dist As Double) 'Vertical center of screen
hsy = dist * Y / (dist + Z)
End Function
Drawer
adı altında yeni bir alt program yazalım. Çizimleri yapacak olan kısım budur.
Sub Drawer()
Dim x, y As Double
Dim j As Integer
Dim p1 As TDPoint
Dim p2 As TDPoint
For j = 0 To 7
x = (seafoodplus.info / 2) + (mpx * hsx(seafoodplus.info(j).x, seafoodplus.info(j).Z, dist))
y = (seafoodplus.info / 2) + (mpx * hsy(seafoodplus.info(j).y, seafoodplus.info(j).Z, dist))
seafoodplus.info (x, y), 2
Next
For j = 0 To 11
p1.x = (seafoodplus.info / 2) + (mpx * hsx(seafoodplus.info(j).p1.x, seafoodplus.info(j).p1.Z, dist))
p1.y = (seafoodplus.info / 2) + (mpx * hsy(seafoodplus.info(j).p1.y, seafoodplus.info(j).p1.Z, dist))
p2.x = (seafoodplus.info / 2) + (mpx * hsx(seafoodplus.info(j).p2.x, seafoodplus.info(j).p2.Z, dist))
p2.y = (seafoodplus.info / 2) + (mpx * hsy(seafoodplus.info(j).p2.y, seafoodplus.info(j).p2.Z, dist))
seafoodplus.info (p1.x, p1.y)-(p2.x, p2.y)
Next
End Sub
Programı çalıştırdığınızda yukarıdaki görüntüyü elde etmelisiniz. Bir sonraki adımda küpü hareket ettirme ve döndürme işlemlerini yapıyoruz.