Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

pedrovoltaire

Clicar e arrastar para ver cena

Recommended Posts

Bom dia Galera, valeu pela visualização.

 

Estou querendo fazer algo parecido com este banner:

http://www.shakemelikeascroll.com/jacket/peca/index.html

 

Porém, ao invés de começar a cena do começo, eu queria começar do meio.

 

Ou seja, quando iniciar o banner aparece o player no centro da barra de rolagem e também está no meio da cena. Daí eu clico e arrasto para a esquerda ou direita

para poder visualizar o resto da cena. Ou seja, se clico e arrasto para esquerda, vou para o inicio da cena; se clico e arrasto para a direita vou para o final da cena.

 

Consegui o script deste de já começa no início, porém mexi aqui e não deu em nada:

 


function fncOEF(parBln)
{
    if (parBln)
    {
        var Frame = 1;
        this.onEnterFrame = function ()
        {
            Porcentagem = Math.round((Slider._x - xInicial) / (xFinal - xInicial) * 100);
            Frame = Math.floor(Frame + (TotalFotos * Porcentagem / 100 - Frame) / 50);
            Frame = Math.floor(TotalFotos * Porcentagem / 100);
            Fotos.gotoAndStop(Frame);
            maskDonate._x = xInicialMaskDonate + (Slider._x - xInicial);
            maskDrag._x = xInicialMaskDrag + (Slider._x - xInicial);
            xAnteriorSlider = Slider._x - xInicial;
        };
    }
    else
    {
        delete this.onEnterFrame;
    } // end else if
} // End of the function
stop ();
xInicial = Slider._x;
yInicial = Slider._y;
xFinal = 257;
xInicialMaskDonate = maskDonate._x;
xInicialMaskDrag = maskDrag._x;
TotalFotos = Fotos._totalframes;
Slider.onPress = function ()
{
    this.onEnterFrame = function ()
    {
        var _loc2 = _xmouse > xFinal ? (xFinal) : (_xmouse < xInicial ? (xInicial) : (_xmouse));
        if (_xmouse > xFinal / 2)
        {
            var _loc3 = 1 + Math.round(_xmouse * 10 / xFinal);
            var _loc4 = this._x + (_loc2 - this._x) / _loc3;
            this._x = _loc4;
        }
        else
        {
            this._x = _loc2;
        } // end else if
    };
    fncOEF(true);
};
Slider.onRelease = Slider.onReleaseOutside = function ()
{
    delete this.onEnterFrame;
    fncOEF(false);
};


Daí eu mexi aqui e descobri que este "slider" é a instancia do player, e o local onde estão as fotos da cena se chama "fotos".

 

Dentro de fotos tem 210 frames com fotos formando a cena completa.

No primeiro frame tem um stop.

 

Daí eu precisava que ele iniciasse do frame 105 e então pudesse ir para a esquerda e direita, ou seja, do 105 pra baixo(esquerda) e do 105 pra cima(direita).

 

Fiz alguns testes aqui e não deu certo. Aguardo ajuda, valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não deu certo, pra tentar expor melhor o que quero coloquei em um link:

www.mjsoftware.com.br/pedro/teste/agente1.swf

 

Ou seja, quando eu arrasto o mouse chega uma hora que aparece uma bola vermelha. Ali é onde eu queria que começasse quando abrisse o banner, com o player no meio também. Agora eu mudei o frame pra exemplificar, então começaria no frame 6. Eu deixei só com 10 frames para exemlificar.Então começaria no frame 6 e dali poderia seguir para o 1 ou o 10, daí diminuiria ou aumentaria a linha do exemplo. Ou seja , andava na cena.

 

 

 

Pra ver se ajuda, também disponibilizeio fla, para darem uma olhada.

 

www.mjsoftware.com.br/pedro/teste/agente1.rar

 

Valeu galera!!!

 

Coloque isso:

Slider.onEnterFrame = function(){
 Slider.gotoAndStop(105);
 delete Slider.onEnterFrame;
}

Abraços

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok pra iniciar no frame que você quer

 

Você coloca:

Fotos.gotoAndStop(6);

Mas ai você teria que mudar a matemática do slider para começar a barra do meio, pois a matemática atual assim que você clicar vai começar do inicio a barrinha novamente.

 

;)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.