AS3: перетащите, чтобы выбрать несколько плиток в TileList
Я работаю над проектом с двумя из моих сокурсников, и мы хотели бы иметь возможность перетаскивать курсор на список плиток, чтобы выбрать несколько плиток. Мы действительно не можем найти какую-либо функцию для этого, возможно ли это сделать как-нибудь?
С наилучшими пожеланиями
Спасибо
1 ответ
Решение
Это должно дать вам представление о том, чего вы хотите достичь:
tileList = new TileList();
tileList.allowMultipleSelection = true;
tileList.addEventListener(MouseEvent.MOUSE_DOWN, startSelecting);
tileList.addEventListener(MouseEvent.MOUSE_UP, stopSelecting);
function startSelecting(e:MouseEvent):void
{
tileList.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
if (CellRenderer(e.target))
{
CellRenderer(e.target).selected = true;
}
}
function onMouseMove(e:MouseEvent):void
{
if (CellRenderer(e.target))
{
CellRenderer(e.target).selected = true;
}
}
function stopSelecting(e:MouseEvent):void
{
tileList.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
Вы определенно захотите настроить это в соответствии со своими потребностями, но в основном он добавляет несколько прослушивателей событий мыши в список плиток и выбирает любую плитку, которая была прокручена, пока нажата кнопка мыши.