Todos os objetos em Delphi fornecem quatro atributos: topo, esquerda, altura e largura para controlar a posição e o tamanho do objeto;
Arco ⒗ Cortina
O sermão da cortina exibe lentamente a tela do meio para os dois lados. Aqui, defina a propriedade Center do DBIMAGE1 como TRUE; Defina a propriedade de largura como 0 e defina o valor da esquerda adequadamente para que ela apareça no meio da tela. O principal método para implementar a animação é modificar o atributo esquerdo (o valor gradualmente se torna menor) e o atributo de largura (o valor gradualmente se torna maior). O valor da mudança de largura deve ser o valor da mudança à esquerda. Digite a seguinte declaração no evento exclusivo de Dimeer1:
if (dbimage1.left> 0) então
Começar
dbimage1.left: = dbimage1.left-1;
dbimage1.width: = dbimage1.width+2;
// O valor de mudança de dbimage1.width deve ser 2 vezes o valor de mudança de dbimage1.left
fim
outro
Timer1.Enabled: = false; // pegue o final.
Altere esquerda no programa acima para cima e na largura da altura para obter o puxão de cortina vertical. Se o efeito de puxar a cortina for aplicado ao objeto de tipo de texto, a imagem será muito boa.
,acordeão
Na animação do olho-shijing, quando a tela inteira é exibida, a tela é lentamente bloqueada de ambos os lados para o meio e continua a pedalar, como jogar um acordeão. Ao implementar, um estado variável precisa ser adicionado para indicar o estado neste momento. Os procedimentos específicos são os seguintes:
procedimento TFFORM1.TIMER1TIMER (remetente: Tobject);
Começar
Se estado = 1 então
if (dbimage1.left> 0) então
Começar
dbimage1.left: = dbimage1.left-1
dbimage1.width: = dbimage1.width+2
fim
outro
// Quando a tela estiver completamente aberta, altere a variável de estado
estado: = 2
else // puxe de ambos os lados para o meio
Se dbimage1.left <form1.width div 2 então
Começar
dbimage1.left: = dbimage1.left+1;
dbimage1.width: = dbimage1.width-2;
fim
outro
// Quando a tela fechar, altere a variável de estado
estado: = 1;
fim;
, tipo de cerca
A superfície é inicialmente bloqueada por cercas verticais e, em seguida, as cercas gradualmente estreitam, e a imagem dividida pelas cercas gradualmente se torna completa. Nesta animação, o papel da cerca é atuado como um objeto do tipo StatictExt (a tela exibe várias cercas e requer vários objetos StatictExt). Basta alterar as propriedades da esquerda e da largura do objeto do tipo StatictExt (a esquerda gradualmente se torna maior e a largura gradualmente menor).
Se ST1.Width> 0 então // ST1 é um objeto do tipo StactictiText
Começar
st1.width: = st1.width-2;
st1.left: = st1.left+1;
fim
outro
// correi novamente
Começar
St1.Width: = 40;
st1.left: = 40;
fim;
Organize as cercas acima da horizontal, altere a esquerda para o topo e a largura da altura, que se tornará o efeito de uma janela de cem páginas.
G⒎ página
O efeito de retomar a transição é realmente corrigir o valor superior, alterar o valor da altura e definir o valor de alongamento como verdadeiro. Digite o seguinte programa no evento OnTime de Timer1 para aumentar as páginas:
Se dbimage1.Height> 0 então
dbimage1.Height: = dbimage1.Height-4
O valor do atributo da altura das máquinas ianxia muda de pequeno para grande, para que seja alcançado o efeito de girar as páginas para baixo. Se você alterar de cima para a esquerda e a altura para a largura, alcançará o efeito de virar as páginas para a esquerda e direita. Se a esquerda e a largura forem alteradas ao mesmo tempo, a imagem pode ser girada com uma linha vertical que passa pela figura como o eixo.
procedimento TFFORM1.TIMER1TIMER (remetente: Tobject);
Começar
Se estado = 1
Então
Se dbimage1.width> 0 então
Começar
// a imagem gradualmente se torna menor
dbimage1.left: = dbimage1.left+1;
dbimage1.width: = dbimage1.width-2;
// O valor de mudança da largura deve ser o dobro do valor de mudança da esquerda
fim
outro
estado: = 2
outro
Se dbimage1.width <250 então
Começar
dbimage1.left: = dbimage1.left-1;
dbimage1.width: = dbimage1.width+2;
fim
outro
estado: = 1
fim;
A partir do programa acima, podemos ver que isso é menor e depois crescer gradualmente Dois estados aparecem alternadamente.
⒋ Vindo gradualmente se move (voe) pelo rosto
O efeito de deixar o título voar pela imagem é frequentemente necessário. Para implementar esse tipo de animação, você só precisa alterar o top do título (voando verticalmente) ou atributo esquerdo (voador horizontalmente).
Se você perceber um título voando da esquerda para a direita em uma pintura. Primeiro, crie um objeto gráfico DBImage1 e um objeto de texto StatictExt1 no formulário1 (observe que os objetos do tipo de texto não podem ser exibidos na figura), defina a posição e o tamanho e, em seguida, crie um objeto de tempo Time1 no formulário1, defina sua propriedade ativada para definir trueInterval Propriedade para 10; e digite a seguinte declaração em Evento OnTime:
Procedimento TForm1.timer1timer (remetente: TObject);
Se statictExt1.left <dbimage1.width+dbimage1.left então
statictExt1..left: = statictExt1.left+3
outro
staticText1.left: = dbImage1.left;
// Quando o título voa para fora de cena, faça o título se mude para a esquerda da foto e entre na tela da esquerda para a direita novamente
fim;
Pegue um pássaro
1. Se você deseja mover o título da esquerda para a direita apenas uma vez, altere a instrução else para Timer1.Enabled: = false;
2. O valor 3 é o valor de velocidade do movimento do título e pode ser alterado à vontade;
3. Se o título for movido para uma determinada posição na figura, altere "statictExt1.left <dbimage1.width+dbimage1.left" para "statictExt1.left <valor de posição" e altere a instrução para timer1.enabled: = falso;
4. Basta alterar o valor da esquerda de grande para pequeno e depois voar da direita para a esquerda;
5. Altere a esquerda acima para cima e a largura da altura para obter animação vertical.