Ir para conteúdo

Arquivado

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

André Birnfeld

Diferença entre TouchTap e mouse CLICK

Recommended Posts

Gostaria de saber se existe alguma diferença entre o TouchTap do TouchEvent e o Click do MouseEvent... sou meio amador, tava fazendo o app em as3 pra android e comecei a me questionar se o usuário do app por android consegue clicar nos botões que estão com "MouseEvent.CLICK" ao invez de "TouchEvent.TOUCH_TAP"...

 

 

outra questão, menos importante.. eu sou amador em programação e tenho certeza que exista um caminho mais curto para o exemplo que estarei mostrando no código abaixo..

me sinto burro de criar algo assim, mas eu preciso saber por onde começar, pelo o que procurar pra "juntar" esses comandos de uma forma mais simples...

 

eis o trecho:

wrong.buttonMode = true;
wrong.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); 
function onTouchBegin(e:TouchEvent):void {
    wrong.x = e.stageX;
	wrong.y = e.stageY;
}
wrong.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove); 
function onTouchMove(e:TouchEvent):void {
    wrong.x = e.stageX;
	wrong.y = e.stageY;
}
wrong.addEventListener(TouchEvent.TOUCH_END, onTouchFinish); 
function onTouchFinish(e:TouchEvent):void {
    wrong.x = e.stageX;
	wrong.y = e.stageY;
}
wrong2.buttonMode = true;
wrong2.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin2); 
function onTouchBegin2(e:TouchEvent):void {
    wrong2.x = e.stageX;
	wrong2.y = e.stageY;
}
wrong2.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove2); 
function onTouchMove2(e:TouchEvent):void {
    wrong2.x = e.stageX;
	wrong2.y = e.stageY;
}
wrong2.addEventListener(TouchEvent.TOUCH_END, onTouchFinish2); 
function onTouchFinish2(e:TouchEvent):void {
    wrong2.x = e.stageX;
	wrong2.y = e.stageY;
}
wrong3.buttonMode = true;
wrong3.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin3); 
function onTouchBegin3(e:TouchEvent):void {
    wrong3.x = e.stageX;
	wrong3.y = e.stageY;
}
wrong3.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove3); 
function onTouchMove3(e:TouchEvent):void {
    wrong3.x = e.stageX;
	wrong3.y = e.stageY;
}
wrong3.addEventListener(TouchEvent.TOUCH_END, onTouchFinish3); 
function onTouchFinish3(e:TouchEvent):void {
    wrong3.x = e.stageX;
	wrong3.y = e.stageY;
}
wrong4.buttonMode = true;
wrong4.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin4); 
function onTouchBegin4(e:TouchEvent):void {
    wrong4.x = e.stageX;
	wrong4.y = e.stageY;
}
wrong4.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove4); 
function onTouchMove4(e:TouchEvent):void {
    wrong4.x = e.stageX;
	wrong4.y = e.stageY;
}
wrong4.addEventListener(TouchEvent.TOUCH_END, onTouchFinish4); 
function onTouchFinish4(e:TouchEvent):void {
    wrong4.x = e.stageX;
	wrong4.y = e.stageY;
}


addEventListener(Event.ENTER_FRAME, Bateu);

function Bateu(e:Event):void{
	if (wrong.hitTestObject(wrong2) && wrong2.hitTestObject(wrong4) && wrong4.hitTestObject(wrong3)){
		AllowedBt.x = wrong3.x - 115;
		AllowedBt.y = wrong3.y - 50;
		AllowedBt.visible = true;
	};
}

abraços, valeu



no emulador do cs6, quando eu clico em "Touch and Gesture" do emulador funciona tudo de TouchEvents, mas os de MouseEvents nao...então fico ressaviado de estar utilizando o CLICK em todo código e dps só vai funcionar o TouchTap

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostaria de saber se existe alguma diferença entre o TouchTap do TouchEvent e o Click do MouseEvent...

 

Resumidamente falando, MouseEvent.CLICK funciona em dispositivos touch screen e nos dispositivos não-touch. Já "TouchEvent",

apenas em dispositivos com suporte a tal.

 

 

outra questão, menos importante.. eu sou amador em programação e tenho certeza que exista um caminho mais curto...

 

Tem sim, basta usar referência dinâmica em vez do próprio objeto:

wrong.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
wrong.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove);
wrong.addEventListener(TouchEvent.TOUCH_END, onTouchFinish);

wrong2.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);
wrong2.addEventListener(TouchEvent.TOUCH_MOVE, onTouchMove);
wrong2.addEventListener(TouchEvent.TOUCH_END, onTouchFinish);
//etc

function onTouchBegin(e:TouchEvent):void {
    e.currentTarget.x = e.stageX;
    e.currentTarget.y = e.stageY;
}

function onTouchMove(e:TouchEvent):void {
    e.currentTarget.x = e.stageX;
    e.currentTarget.y = e.stageY;
}

function onTouchFinish(e:TouchEvent):void {
    e.currentTarget.x = e.stageX;
    e.currentTarget.y = e.stageY;
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode cre brother! nunca aprendi sobre o "currentTarget", vai facilita toneladas...

 

em relação ao touchEvent, vou seguir usando o mouseEvent então, mas o gozado é que quando ativo a "TouchLayer" do emulador nenhuma função mouseEvent funciona.. mas deve se coisa do próprio emulador...

 

valeu mestre!!



Ademais, lembrei que eu estou com uma nova questão:

 

Agora que eu estou prestes a acabar minha aplicação desenvolvida em as3 com flash cs6, é simples transmuta-la para iOS?

 

E a questão do Adobe air embutido significa que o usuário vai poder baixar/instalar o Adobe air com a minha aplicação ou vai rodar como qualquer app? É possivel também embutir o air para iOS?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que eu estou prestes a acabar minha aplicação desenvolvida em as3 com flash cs6, é simples transmuta-la para iOS?

 

Sim. Basicamente, é o mesmo código(salvo alguns recursos que só estejam disponíveis no Android...).

 

 

E a questão do Adobe air embutido significa que o usuário vai poder baixar/instalar o Adobe air com a minha aplicação ou vai rodar como qualquer app? É possivel também embutir o air para iOS?

 

Nesse caso, ele terá que ter o AIR instalado...

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.