Ir para conteúdo
Fórum Script Brasil
  • 0

arrastar um MC na vertical e influenciar a timeline


Henrique Ilustrador

Pergunta

Estou fazendo um site, usando ainda o flash 5, e precisava de um código bem simples para complementar o abaixo:

on (press) {

startDrag (_root.MC, true, 245.5, 0, 245.5, 540);

}

on (release) {

stopDrag ();

}

//agora o que eu preciso:

//enquanto eu arrastar o _root.MC para baixo, a timeline anda para frente, e

// enquanto eu arrastar o _root.MC para cima, a timeline anda para trás

Agradeço e aguardo uma ajuda.

Henrique

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá amigo !

perdi uns minutos e fiz um exemplo pra você do que eu imagino ser o mesmo "caso"

Fiz um drag vertical(não importa vertical horizontal...) e calculei através desse drag qual frame devemos estar.

vamos ao código

ROOT

stop();

var DragStatus = false;
var NumFrames = 20;
var DragSize = 400;
DragStatus é uma variável para que nosso evento ENTERFRAME não fique sendo lido continuamente. NumFrames é o numero de frames da amostra... DragSize é o tamanho do espaço que nosso MC tem à percorrer (O mc scroll) MOVIECLIP
onClipEvent (enterFrame) {
    
    if(_root.DragStatus == true){
        
        var Pos = this._y/_root.NumFrames;
        _root.gotoAndStop(Math.round(Pos));
        
        }
    
}

on (press) {
    
    _root.DragStatus = true;
    startDrag (this, true, 0, 0, 0, 400);
    
}

on (release) {

    _root.DragStatus = false;
    this.stopDrag();
    
    }

on (releaseOutside) {

    _root.DragStatus = false;
    this.stopDrag();
    }

Conta simples, dividi nossa posição atual (do drag ) pelo numero de quadros, já que não existe o quadro 1,7 temos de arredondar nossa conta por isso usamos Math.round.

Repare que para funcionar precisa ser a partir do frame 0;

Caso você queira modificar basta adicionar na conta final "Pos" o nuemro do frame por exemplo quer que começe no frame 27 e vá até o 47(20 frames novamente so pra não mudar a conta)

Basta em Pos eu colocar

"var Pos = (this._y/_root.NumFrames)+(27);"

deixo o codigo em suas mãos.

Estude e melhore

E se possivel use AS3...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Pooh!

Obrigado pela atenção e tempo gasto.

A dica funcionou num arquivinho de exemplo que fui fazendo para ver como ficava.

Mas quando transformei este arquivo para as medidas reais iguais a do site que estou fazendo, começou a não funcionar...

Você teria um email para eu te mandar esse arquivo de exemplo pra você ver o que aconteceu?

Agradeço e aguardo.

Henrique

Link para o comentário
Compartilhar em outros sites

  • 0

Dei uma olhada e achei 2 erros, um meu e um seu :)

Para pequenas medidas a conta deu certo porém apra medidas maiores precisamos usar uma CONSTANTE de multiplicação, é o que iguala as proporções "1 para 100" etc...

alterei no seu mc:

onClipEvent (enterFrame) {
    if (_root.DragStatus == true) {
        var Const = (_root.NumFrames/_root.DragSize);
        var Pos = (this._y*Const)+(4);
        _root.gotoAndStop(Math.round(Pos));
    }
}
e no seu _root
stop();
var DragStatus = false;
var NumFrames = 239;
var DragSize = 540;

o DragSize para 540 e Vualá ! funfou :), dica, eu faço tudo com alinhamento top-left o seu é center, precisa dar uma ajustada;

Boa sorte :D

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Pooh, valeu pela resposta.

Demorei a voltar ao fórum, por isso desculpe não lhe responder antes.

Agora realmente funcionou, mas ainda está dando um probleminha. Assim que clica a primeira vez no objeto, ele dá um pulo grande na timeline...

Tentei pensar o que poderia ser, mas não encontrei nenhuma lógica para isso...

Valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...