Henrique Ilustrador Postado Fevereiro 16, 2010 Denunciar Share Postado Fevereiro 16, 2010 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ásAgradeço e aguardo uma ajuda.Henrique Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Fevereiro 17, 2010 Denunciar Share Postado Fevereiro 17, 2010 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ódigoROOTstop(); 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 melhoreE se possivel use AS3...Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henrique Ilustrador Postado Fevereiro 17, 2010 Autor Denunciar Share Postado Fevereiro 17, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Fevereiro 18, 2010 Denunciar Share Postado Fevereiro 18, 2010 Olá sim tenho, mande o arquivo para diyungh@hotmail.com que poderei ajudá-lo com mais eficácia :)Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pooh Postado Fevereiro 19, 2010 Denunciar Share Postado Fevereiro 19, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Henrique Ilustrador Postado Fevereiro 21, 2010 Autor Denunciar Share Postado Fevereiro 21, 2010 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Henrique Ilustrador
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
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.