Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.01.2015, 22:24
maxisglad вне форума Посмотреть профиль Отправить личное сообщение для maxisglad Найти все сообщения от maxisglad
  № 1  
Ответить с цитированием
maxisglad

Регистрация: Dec 2010
Сообщений: 7
По умолчанию мультитач

Добрые люди, столкнулся с такой проблемой, есть джойстик который управляет объектом и отдельно кнопка (стрелять например). Джойстик работает норм как ток нажимаю стрельнуть отменяется действие джойстика и кнопка стрельнуть не выполняет событие.

долез вроде Multitouch.inputMode = MultitouchInputMode.GESTURE; че делать с ним не пойму. уже вникаю вникаю.

Старый 26.01.2015, 00:32
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 2  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
А вы слушаете TouchEvent? Если вы слушаете MouseEvent.MOUSE_DOWN, то тогда неудивительно. Нужно слушать TouchEvent.
__________________
There is no thing in this world that is not simple.

Старый 26.01.2015, 01:15
maxisglad вне форума Посмотреть профиль Отправить личное сообщение для maxisglad Найти все сообщения от maxisglad
  № 3  
Ответить с цитированием
maxisglad

Регистрация: Dec 2010
Сообщений: 7
да слушаю touchevent щас нашел пример через TOUCH_POINT по тихоньку получается но хочу более опытных людей так сказать направить меня в правильное плаванье

Добавлено через 24 минуты
Код AS3:
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
 
addEventListener(TouchEvent.TOUCH_BEGIN, eventTouchBegin);
addEventListener(TouchEvent.TOUCH_END, eventTouchEnd);
 
function eventTouchBegin(e:TouchEvent): void {
	if(e.type == "touchBegin"){
 
	}
	else{
 
	}
}
мне надо чтоб во время работы джойстика нажималась кнопка не врублюсь че дальше делать.

Старый 26.01.2015, 03:01
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Тебе поможет touchPointID (пример там глянь).
__________________
Поймай яблоко 2!

Старый 26.01.2015, 03:12
maxisglad вне форума Посмотреть профиль Отправить личное сообщение для maxisglad Найти все сообщения от maxisglad
  № 5  
Ответить с цитированием
maxisglad

Регистрация: Dec 2010
Сообщений: 7
вобщем получилось че хотел ток это так пробник надо как то уйти от имен. Подскажите что подкорректировать или более правильный способ реализации этой задачи.

Код AS1/AS2:
djostik.kontroler.x = djostik.kontrol_zone.width/2-djostik.kontroler.width/2;
djostik.kontroler.y = djostik.kontrol_zone.height/2-djostik.kontroler.height/2;
var massArray:Array;
massArray = [];
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
 
this.stage.addEventListener(TouchEvent.TOUCH_BEGIN, eventTouchBegin);
this.stage.addEventListener(TouchEvent.TOUCH_END, eventTouchEnd);
 
 
function eventTouchBegin(e:TouchEvent): void {
	if(e.type == "touchBegin"){
			if(e.target.name == "kontroler"){
				startPosition = e.stageX-startPositionCenterKontrolerX;
				this.stage.addEventListener(TouchEvent.TOUCH_MOVE, eventMove);
				massArray[e.touchPointID] = "kontroler";
			}
			else if(e.target.name == "attack"){
				eventAttack();
			}
 
	}
	else{
 
	}
}
 
function eventTouchEnd(e:TouchEvent): void {
		n += 1;
	ata.text = n +" : "+massArray[e.touchPointID];
		if(massArray[e.touchPointID] == "kontroler"){
			this.stage.removeEventListener(TouchEvent.TOUCH_MOVE, eventMove);
			djostik.kontroler.x = startPositionCenterKontrolerX-djostik.kontroler.width;
			delete massArray[e.touchPointID];
			timer.stop();
		}
}
 
function eventAttack(): void {
 
}
 
var centerJostika:Number = djostik.kontroler.x;
var moveActions:String = "center";
var timer:Timer = new Timer(10);
timer.addEventListener(TimerEvent.TIMER, eventTimer);
var rightEndPosition:Number = djostik.x+djostik.width;
var startPosition:Number;
var startPositionCenterKontrolerX:Number = djostik.x+djostik.kontroler.x+djostik.kontroler.width/2;
 
var n:Number = 0;
function eventMove(e:TouchEvent): void {
//function eventMove(e:MouseEvent): void {
 
	if((e.stageX-startPosition > djostik.x) && (e.stageX-startPosition < rightEndPosition)){
		djostik.kontroler.x = e.stageX-startPosition-djostik.kontroler.width;
		if(djostik.kontroler.x < centerJostika/2){
			moveActions = "left";
		}
		else if(djostik.kontroler.x > centerJostika+centerJostika/2){
			moveActions = "right";
		}
		else{
			moveActions = "center";
		}
		timer.start();
	}
}
 
 
function eventTimer(e:TimerEvent):void{
	switch(moveActions){
		case "right":
					telo.x +=5;
					break;
		case "left":
					telo.x -=5;
					break;
		case "center":
					timer.stop();
					break;
	}
}
Добавлено через 7 минут
Спасиб уже получилось завтра доковыряю до норм вида.

Старый 26.01.2015, 16:55
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 6  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Код AS3:
var centerJostika:Number = djostik.kontroler.x;
Сразу хочется стукнуть чем нибудь тяжёлым.
Уж опеределитесь jostik,djostik или всё таки joystick
__________________
Отряд Котовскага

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:15.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.