1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Animação

Discussão em 'Programação' iniciada por JomarB, 14 de Novembro de 2006. (Respostas: 4; Visualizações: 1160)

  1. JomarB

    JomarB Power Member

    Mais uma vez estou com uma duvidazinha em VB6.
    Eu gostaria de fazer um programa em que quando ele fosse carregado, no seu form inicial ele apresentasse uma animação. Aí esta o problema, não sei fazer nenhuma animação em VB6.
    Séra que me poderiam ajudar?:kfold:
     
  2. Podes usar o timer é um molho de imagens. Ou podes usar o MMControl para passar um video.
    Não tenho a certeza se podes fazér-lo assim, ja a tanto tempo que não uso o VBasic.
    Tenta aprender C++ ou ASM e cria OpenGLs como animação.
     
  3. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Como queres a animação? Há vários tipos de animações. Isto só depende da criatividade de cada um (daí eu dizer que a programação é mais uma arte :-D)

    Podes, por exemplo, fazer o programa descer do topo do e crã ou subir do fundo.

    Para os próximos exemplos, faz apenas uma coisa: abre um novo projecto, e mete um timer. Não mudes o nome (Timer1), e cola cada exemplo num projecto individual (ou substitui o código já existente de cada projecto - reutiliza-o :D):
    - subir do fundo do ecrã até MAIS OU MENOS ao meio
    Código:
    Option Explicit
    Private Sub Form_Load()
        Top = Screen.Height
        Show
        Timer1.Interval = 10
    End Sub
    Private Sub Timer1_Timer()
        Top = Top - 60
        If Top <= (Screen.Height - Height) / 2 Then Timer1.Interval = 0
    End Sub
    
    - de cima para baixo, idem:
    Código:
    Option Explicit
    Private Sub Form_Load()
        Top = -Height
        Show
        Timer1.Interval = 10
    End Sub
    Private Sub Timer1_Timer()
        Top = Top + 60
        If Top >= (Screen.Height - Height) / 2 Then Timer1.Interval = 0
    End Sub
    
    - da esquerda para a direita:
    Código:
    Option Explicit
    Private Sub Form_Load()
        Left = -Width
        Show
        Timer1.Interval = 10
    End Sub
    Private Sub Timer1_Timer()
        Left = Left + 60
        If Left >= (Screen.Width - Width) / 2 Then Timer1.Interval = 0
    End Sub
    
    - da direita para a esquerda:
    Código:
    Option Explicit
    Private Sub Form_Load()
        Left = Screen.Width
        Show
        Timer1.Interval = 10
    End Sub
    Private Sub Timer1_Timer()
        Left = Left - 60
        If Left <= (Screen.Width - Width) / 2 Then Timer1.Interval = 0
    End Sub
    
    Podes aplicar isso ao form original... a um splash screen... podes acrescentar transparência... podes brincar com os níveis de transparência de modo a que o form vá "aparecendo" - fade in... como eu disse, depende apenas da criatividade de cada um. Primeiro pensa em como queres que ele apareça. Só depois deves pensar em como fazê-lo ;)

    Cumps [[[[[[[[[]]]]]]]]]
    angelofwisdom
     
  4. JomarB

    JomarB Power Member

    ...............

    O tipo de animacao que eu quero e mais ou menos a de um Marquee tas a ver, aquelas em que faz um texto passar de um lugar ao outro.
    Obs: Usa-se mais em HTML.
     
  5. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Aaaaaaaaaaaaaaaaaaahhhhhhhhhhhhhhh já podias ter dito :lol:

    Mas para isso basta brincares com os códigos que eu te dei....
    Sei que não devia fazer isto, mas fiquei com vontade de programar o que disseste :-D

    Espeta num form novo, uma label (Label1) e um timer (Timer1):
    Código:
    Option Explicit
    Private Sub Form_Load()
        Label1.AutoSize = True
        Timer1.Interval = 10
    End Sub
    Private Sub Timer1_Timer()
        Label1.Left = Label1.Left - 30
        
        If Label1.Left <= -Label1.Width Then Label1.Left = Width
    End Sub
    
    Isto basta, penso eu :) se quiseres PARAR de fazer o marquee, basta fazeres disable ao timer, ou mudares o seu intervalo para 0.

    Espero que ajude :)

    Cumprimentos [[[[[[[[]]]]]]]]
    angelofwisdom
     

Partilhar esta Página