Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8

    [VB6]

    Buongiorno a tutti, cari programmatori. Sono un neo-utente di visual basic e avevo una domanda da porvi. Stavo provando a realizzare uno screen saver utilizzando VB e utilizzando funzioni, quali il Pset, per far apparire puntini a caso sullo schermo. Fin qui tutto bene. Ora però volevo provare a farli venire verso lo schermo, come il campo stellare di WIndows..esiste una funzione specifica o devo creare uno script?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non esiste qualcosa di pronto.

    Devi scrivere del codice ... (non uno script).

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da 4ur0n
    Buongiorno a tutti, cari programmatori.
    Ciao e benvenuto nel forum di Programmazione.

    Ti segnalo da subito la lettura del nostro Regolamento che contiene tutte le norme da seguire per partecipare correttamente a quest'area del forum.

    In modo particolare, devi sempre indicare il linguaggio utilizzato nel titolo della discussione, indicando la versione nel caso in cui ne esistesse più di una, assieme ad una sintesi breve ma significativa ed esplicativa del problema.

    Peraltro, Visual Basic è trattato in un'apposita area dove sposterò questa discussione, dopo aver corretto il titolo.

    Detto questo, ciao e...buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Una funzione specifica per fare quello che vuoi chiaramente non esiste, casomai puoi fare una ricerca su Internet per vedere se trovi qualche ocx o sorgente freeware in cui si crea l'effetto che cerchi o qualcosa di simile..altrimenti devi scrivere (come suggeritoti da Oregon) il codice da solo..
    Magari una metodologia veramente artigianale (d'altronde non conosco il tuo grado di preparazione in visual basic) potrebbe essere quello di un punto che, con un timer, aumenta le proprie dimensioni fino a scomparire, per dare così l'idea dell'avvicinamento..ma è solo un'ipotesi..

    ciao

  5. #5
    Public x, y As Double

    Private Sub Form_activate()
    x = -1.07
    y = 1.07
    star1.Top = Height / 2 + 100
    star1.Left = Width / 2 + 100
    star1.Width = 1
    star1.Height = 1
    Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Timer()

    star1.Left = Abs(star1.Left - (Width / 2)) * x + (Width / 2)
    star1.Top = Abs(star1.Top - (Height / 2)) * y + (Height / 2)

    star1.Width = star1.Width * abs(x)
    star1.Height = star1.Height * abs(y)

    If star1.Top + star1.Height > Height And star1.Left + star1.Width > Width Then
    Timer1.Enabled = True
    End If

    star1 è image.strech = true
    cambia pure x e y anche con valori negativi.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Originariamente inviato da MdE2005
    Una funzione specifica per fare quello che vuoi chiaramente non esiste, casomai puoi fare una ricerca su Internet per vedere se trovi qualche ocx o sorgente freeware in cui si crea l'effetto che cerchi o qualcosa di simile..altrimenti devi scrivere (come suggeritoti da Oregon) il codice da solo..
    Magari una metodologia veramente artigianale (d'altronde non conosco il tuo grado di preparazione in visual basic) potrebbe essere quello di un punto che, con un timer, aumenta le proprie dimensioni fino a scomparire, per dare così l'idea dell'avvicinamento..ma è solo un'ipotesi..

    ciao

    Si, quello che dici tu con l'ingrandimento dei pallini potrebbe essere un'idea. Quotando invece tossman, ti ringrazio per il codice, potrei usarlo xò, nn conosco ancora tutte quelle funzioni. Invece, quotando l admin, mi scuso, pensavo di averlo postato nella sezione giusta.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Originariamente inviato da 4ur0n
    Si, quello che dici tu con l'ingrandimento dei pallini potrebbe essere un'idea. Quotando invece tossman, ti ringrazio per il codice, potrei usarlo xò, nn conosco ancora tutte quelle funzioni. Invece, quotando l admin, mi scuso, pensavo di averlo postato nella sezione giusta.

    Sulla base di quello che ha detto Mde2005, ecco qui il codice:

    Private Sub Form_Load()
    DrawWidth = 1
    BackColor = vbBlack
    Height = 9000
    Width = 9000
    End Sub

    Private Sub Timer1_Timer()
    x = 9000 * Rnd
    y = 9000 * Rnd
    If Timer1.Enabled = True Then
    DrawWidth = DrawWidth + 1
    End If

    PSet (x, y), RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)

    End Sub

    Però non mi da l'effetto Campo Stellare desiderato, perchè facendo così, ad ogni tic del timer, i pallini diventano si più grandi ma, dovrebbero spostarsi e invece questi, si sovrappongono l'un sull'altro

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    8
    Voi avete qualche idea? Io sinceramento no, dato che sono un newb del Vb :/

  9. #9
    Originariamente inviato da 4ur0n
    Sulla base di quello che ha detto Mde2005, ecco qui il codice:

    Private Sub Form_Load()
    DrawWidth = 1
    BackColor = vbBlack
    Height = 9000
    Width = 9000
    End Sub

    Private Sub Timer1_Timer()
    x = 9000 * Rnd
    y = 9000 * Rnd
    If Timer1.Enabled = True Then
    DrawWidth = DrawWidth + 1
    End If

    PSet (x, y), RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)

    End Sub
    Ciao..innanzitutto per non farle aumentare molto puoi mettere:
    drawwith = drawwith + 0.25, magari controllando questa grandezza.
    Per il movimento ho dato un'occhiata al codice che ti hanno postato: l'idea non è male, solamente sarebbe da sistemare un pò..
    Appena ho tempo provo e poi ti faccio sapere..

    ciao

  10. #10
    ciao,

    sono ancora io, quello della star che si ingrandisce.
    Ovviamente si potrebbe creare una decina di "star" e farle vagare per lo schermo con x e y casuali...
    oppure mi sembra buona l'idea del pset, soltanto suggerisco di memorizzare le coordinate di più punti con un array tridimensionale
    array(a,b) dove b va da 1 a 5 a seconda se vogliamo sapere o la coord. x o la coord. y o la grandezza del drawwidth o l'incremento x o l'incremento y. in a si ha il puinto n° z.
    ad ogni evento del timer il pallino di prima viene coperto da uno uguale di colore uguale a quello dello sfondo, e poi si disegna il pallino nella posizione sucessiva, con grandezza sucessiva, e si passa ad un'altro pallino.

    sembra complesso, ma in fin dei conti, il codice dovrebbe risultare semplice.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.