PDA

Просмотр полной версии : Не перемещается изображение


art_maestro
02.08.2013, 00:46
Здравствуйте

У меня такая проблема. есть картинка на сцене, которую можно перемещать (зажав курсор и тянуть), реализовывал не с помощью функций drag & drop. Но не столь важно, у меня получилось, все хорошо - работает.
Но у моего товарища, почему - то нет. Приложение загружено в ВК.

В параметрах публикации я поставил версию flash Player 10.3 ( ставил разные).
Я выяснил, что версия моего флеш-плеера, который внедрен в браузер

You have version 11,8,800,97 installed
22:33:12

Версия плеера у моего товарища

You have version 11,7,700,225 installed

Выяснил, путем перехода по ссылке на сайт Адоба (http://www.adobe.com/software/flash/about/)

Подскажите товарищи как решить данную проблему. Ладно бы не где функция перемещения не работала, а так она у меня работает у моего товарища нет.

Заранее спасибо!

caseyryan
02.08.2013, 07:33
Прискорбно.
Одно могу сказать точно, дело не в версии плеера, а в кривом коде.

dark256
02.08.2013, 10:24
Было бы неплохо взглянуть на КОД, который перемещает картинку.

art_maestro
02.08.2013, 16:30
Дело в том, что я использую движок AS3ISOLIB. на ViewPort (объект IsoView) добавлена карта (рисунок), когда на ViewPort я добавляю еще сетку (IsoGrid) то все работает.


//добавляю слушатель на объект viewPort в котором размещено изображение
viewPort.addEventListener(MouseEvent.MOUSE_DOWN, onStartPan, false, 0, true);

....

private function onStartPan(e:MouseEvent):void
{
viewPort.removeEventListener(MouseEvent.MOUSE_DOWN, onStartPan);

viewPort.addEventListener(MouseEvent.MOUSE_MOVE, onPan, false, 0, true);
viewPort.addEventListener(MouseEvent.MOUSE_UP, onStopPan, false, 0, true);
}

private function onPan(e:MouseEvent):void
{
viewPort.panBy(panPt.x - stage.mouseX, panPt.y - stage.mouseY);


}

private function onStopPan(e:MouseEvent):void
{
viewPort.removeEventListener(MouseEvent.MOUSE_MOVE, onPan);
viewPort.removeEventListener(MouseEvent.MOUSE_UP, onStopPan);
viewPort.addEventListener(MouseEvent.MOUSE_DOWN, onStartPan, false, 0, true);
}

caseyryan
03.08.2013, 17:12
Сложно что-то судить по такому небольшому куску кода, но мне интересно зачем слушателям задается weakReference = true?
Много раз обсуждалось, даже на этом форуме, что слабые ссылки - зло. Я бы для начала избавился от слабых ссылок и добавил все слушатели мыши заранее, а не при каждом щелчке удалял и добавлял. Производительность такой подход все равно не улучшит

Akopalipsis
04.08.2013, 00:23
Не могу не воспользоваться моментом и не задать глупый вопрос - ведь weakReference = true в такой картине все равно не сработает, потому что viewPort обьявлен на уровне класса и значит пока он не будет равен null, то слушатель не удалиться?