Два года назад, когда я разрабатывал приложение для iPhone, я использовал следующий встроенный системный метод для всех своих кнопок:
[button setExclusiveTouch:YES];
По сути, если у вас было много кнопок на экранеэтот метод гарантировал, что приложению не будет разрешено делать сумасшедшие вещи, когда несколько событий кнопок, запускаемых одновременно с нажатием любой новой кнопки, отменяют все остальные.
проблематично : ButtonA и ButtonB доступны.Каждая кнопка имеет событие мыши, которое запускает определенную анимированную (анимационную) реорганизацию / макет пользовательского интерфейса.Если события обеих кнопок запускаются одновременно, их события, вероятно, будут конфликтовать, вызывая странный новый макет, возможно, ошибку времени выполнения.
решение : кнопки приложения отменяют любую текущую ожидающую мышь вверхсобытия, когда указанная кнопка входит в положение мыши.
private function mouseDownEventHandler(evt:MouseEvent):void
{
//if other buttons are currently in a mouse down state ready to fire
//a mouse up event, cancel them all here.
}
Это просто сделать вручную, если на сцене всего несколько кнопок, но управление кнопками становится все более сложным / подверженным ошибкам, если их несколько /доступно много кнопок.
Есть ли в AIR удобный метод специально для этой функции?