Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Viivotin(tm)

Sivun loppuun

sooda [05.07.2004 19:19:13]

#

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 Sub

pipopää [06.07.2004 08:27:02]

#

Makee, ei tosin ole viivotin.

sooda [06.07.2004 10:13:48]

#

No ei niin, se on Viivotin :)

pipopää [06.07.2004 11:36:51]

#

Pistä Paremmaksi.

water flea [06.07.2004 13:15:47]

#

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 Sub

Ton kun laittaa MouseDowniksi ni on vähän parempi.

peki [06.07.2004 13:27:05]

#

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.

Zapi [07.07.2004 18:50:41]

#

Mie luulin tätä viivottimeksi, mutta voi jummi täähän on Viivotin

Puhveli [09.07.2004 13:13:31]

#

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

zigilii [03.08.2004 16:12:57]

#

pipopää kirjoitti:

Pistä Paremmaksi.

Yhtä hyvä :)

Lumi-ukkeli [03.01.2005 17:39:34]

#

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.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta