No ei ihan (tm) :D
Tämä on Viivotin. Ei siis viivotin, vaan Viivotin. Huomaa Isolla Alkukirjaimella ;D Elikkäs siis piirtää ala-asteen kuviksentuntien ihkuihanaa viivotinviivalelusysteemiä :) Tätä on mahdoton selittää, koklaa. Rämplää aszx nappeja.
Edit: Ainiijoo exe unohtui: http://sooda.dy.fi/foo/viivotin.exe
Private aa, bb 'pitää näkyä kaikkialle
Private Sub Form_Load()
ScaleMode = 3 'pixelit
AutoRedraw = True 'kiva ominaisuus
'hieanot aloitusarvot
aa = 5
bb = -5
Show 'muuten ei näkyisi, koska loopista ei häivytä koskaan
Do
Cls 'vanha kuva vek. poista niin tulee "mielenkiintoinen" efekti
koko = 100 'viivan pituus/2
rad = Atn(1) / 45 'radiaaneiksikerroin
X1 = ScaleWidth / 4 'ekan viivan x-keskikohta
X2 = 3 * X1 'tokan viivan...
Y = ScaleHeight / 2 'y-keskikohta (ylläri...)
'piirretään ne yhet viivat
Line (X1 - koko * Cos(rad * a), Y - koko * Sin(rad * a))-(X1 + koko * Cos(rad * a), Y + koko * Sin(rad * a))
Line (X2 - koko * Cos(rad * b), Y - koko * Sin(rad * b))-(X2 + koko * Cos(rad * b), Y + koko * Sin(rad * b))
'piirretään yhdistysviivat(:D)
'vaihda step <mitälie> niin tulee hieanoja
'viis on mielestäni paras, eniten mistä saa selvää
For i = 0 To koko Step 5
'viivan keskikohdan yläpuolen x-koordit
xx = X1 + i * Cos(rad * a)
xx2 = X1 - i * Cos(rad * a)
'y-koordit
yy = Y + i * Sin(rad * a)
yy2 = Y - i * Sin(rad * a)
'ja sama tokalle viivalle
xxb = X2 + i * Cos(rad * b)
xx2b = X2 - i * Cos(rad * b)
yyb = Y + i * Sin(rad * b)
yy2b = Y - i * Sin(rad * b)
'piirto
Line (xx, yy)-(xxb, yyb)
Line (xx2, yy2)-(xx2b, yy2b)
Next
DoEvents 'ettei tilttaa. muista aina!
'rotaatti
a = (a + aa) Mod 360
b = (b + bb) Mod 360
s = Timer: Do: DoEvents: Loop Until s + 0.001 < Timer 'pieni viive
Loop
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'pysäytys hiiren klikillä
aa = 0: bb = 0
End Sub
Private Sub Form_Unload(Cancel As Integer)
End 'näin aina loopista vek, muuten ei suleudu
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'rotaattivauhtien muuttamista
Select Case KeyCode
Case vbKeyA: aa = aa + 1
Case vbKeyS: aa = aa - 1
Case vbKeyZ: bb = bb + 1
Case vbKeyX: bb = bb - 1
End Select
End SubMakee, ei tosin ole viivotin.
No ei niin, se on Viivotin :)
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'pysäytys hiiren klikillä
If aa > 0 Then
aa = 0: bb = 0
Else
'ja uudelleenkäynnistys
aa = 5: bb = -5
End If
End SubTon kun laittaa MouseDowniksi ni on vähän parempi.
Aika hieno.
Pitäisi vaan saada silleen, että se kiertyy rullalle, ja ei mene itsensä läpi.
Sitten vähän fysiikkaa peliin, ja rullalle kiertynyt objekti palaa takaisin alkuperäiseen muotoonsa.
Mie luulin tätä viivottimeksi, mutta voi jummi täähän on Viivotin
jos se olis vähän kapeempi ja viivat harvemmassa ja sitten siinä ois sentin välein sellaset hassut numerot niin sitten se ansaitsis sen iin nimeensä, mutta kun ei niin ei, ole pelkkä viivotin :p
Tommosen kekkasin:
If laskuri = 30 Then Cls laskuri = 0 Else laskuri = laskuri + 1 End If
Ja tuohan laitetaan tuonne vanhan Cls:n päälle.
Ja tuota lukua 30 voi muuttaa tietenkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.