Olá Pessoal,
estou fazendo uma apresentação no Flash, daquelas básicas estilo powerpoint, porém usando os efeitos do flash, para o frame seguinte,
estou usando seta à direita ao invés de "release", e seta à esquerda para voltar ao frame anterior.
Isso funciona perfeitamente, desde que a pessoa use o teclado para navegar na apresentação.
Preciso saber se existe alguma forma de colocar a ação da seguinte maneira:
para o próximo frame "botão direito" do mouse.
para o frame anterior "botão esquerdo" do mouse.
ISSO EM QUALQUER LUGAR DA TELA.
Ou seja, qualquer outro botão seria via teclado, o mouse serviria apenas para ir para os slides anteriores ou posteriores.
Isso resolveria o problema no caso de usar aqueles mouses sem fio
de auditório
Alguem poderia me ajudar?
Desde já agradeço
Valter
Navegando Com O Clique Do Mouse Sem Release Em Botão
Started By valazari, 27/07/2006, 17:15
3 replies to this topic
#1
Posted 27/07/2006, 17:15
#2
Posted 27/07/2006, 19:19
Creio que essa seja uma forma...
//CLIQUE ESQUERDO
//removemos algum ouvinte que esteja associado ao Mouse
//por algum motivo sem essa linha as ações não funcionam da forma que eu esperava
Mouse.removeListener(ouvinte);
//criamos um listener
var ouvinte:Object = new Object();
//definimos a função onMouseDown do listener
//quando o botão esquerdo for pressionado
ouvinte.onMouseDown = function () {
//frame anterior
prevFrame();
};
//definimos o listener ao objeto Mouse
Mouse.addListener(ouvinte);
//CLIQUE DIREITO
//criamos um objeto do tipo ContextMenu chamado meu_cm
//um objeto do tipo ContextMenu trabalha com os
//menus que aparecem quando se clica com o botão direito
var meu_cm:ContextMenu = new ContextMenu();
//quando o meu_mc for chamada, isto é, quando o botão direito for pressionado
meu_cm.onSelect = function():Void{
//próximo frame
nextFrame();
}
//definimos o objeto meu_cm para funcionar em todo o _root
_root.menu = meu_cm;
Edição feita por: Saruman, 28/07/2006, 08:54.
import Profile;
var saruman:Profile = new Profile();
saruman.nome = new String("Tiago S. Kaneta");
saruman.localizacao = new Array("São Paulo","SP");
#3
Posted 27/07/2006, 19:46
Olá Saruman,
que ótimo revê-lo aqui.... Vc é o cara!
Vou tentar usando o método que vc postou aí.
O resultado eu posto aqui.
Mais uma vez, Obrigado
Valter
que ótimo revê-lo aqui.... Vc é o cara!
Vou tentar usando o método que vc postou aí.
O resultado eu posto aqui.
Mais uma vez, Obrigado
Valter
#4
Posted 27/07/2006, 20:39
O código tem algum problema e ainda não encontrei o problema nem sua solução... vou dar uma trabalha em cima...
--EDITADO--
Ok corrigi o problema...
Outra possivel solução como havia dito antes de editar este post, é um clique vai para o proximo, dois cliques volta... o problema no código era o mesmo e já corrigi:
--EDITADO--
Ok corrigi o problema...
//CLIQUE ESQUERDO
//BASTA COLOCAR ESSA LINHA
Mouse.removeListener(ouvinte);
var ouvinte:Object = new Object();
ouvinte.onMouseDown = function () {
prevFrame();
};
Mouse.addListener(ouvinte);
//CLIQUE DIREITO
var meu_cm:ContextMenu = new ContextMenu();
meu_cm.onSelect = function():Void{
nextFrame();
}
_root.menu = meu_cm;O problema dessa solução é que quando se usa o filme fora do ambiente de programação, o menu de contexto aparece cada vez que se aperta o botão direito... o que não é muito bom para uma apresentacao...Outra possivel solução como havia dito antes de editar este post, é um clique vai para o proximo, dois cliques volta... o problema no código era o mesmo e já corrigi:
var tempo:Number = 200;
Mouse.removeListener(someListener);
someListener = new Object();
clique = false;
someListener.onMouseUp = function() {
if (clique) {
clique = false;
prevFrame();
clearInterval(intID);
} else if (!clique) {
clique = true;
clearInterval(intID);
intID = setInterval(function () {
nextFrame();
clique = false;
clearInterval(intID);
}, tempo);
}
};
Mouse.addListener(someListener);Espero ter ajudado mais do que atrabalhado...
Edição feita por: Saruman, 28/07/2006, 08:58.
import Profile;
var saruman:Profile = new Profile();
saruman.nome = new String("Tiago S. Kaneta");
saruman.localizacao = new Array("São Paulo","SP");
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)










