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);
}

Вы определенно захотите настроить это в соответствии со своими потребностями, но в основном он добавляет несколько прослушивателей событий мыши в список плиток и выбирает любую плитку, которая была прокручена, пока нажата кнопка мыши.

Другие вопросы по тегам