|
|
|||||
Цитата:
Клик в принципе нельзя обрабатывать с константной сложностью, если не присвоить каждому пикселю адрес на объект.(что уж точно не реализовано в FP)
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 11.08.2017 в 18:32. |
|
|||||
Цитата:
import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; var sprite:Sprite = new Sprite(); var tf:TextField = new TextField(); var lastTime:Number = 0; init(); function init():void { addChild(sprite); tf.background = true; addChild(tf); for (var i = 0; i < 10; i++) { sprite.addChild(make()); } stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler, true); sprite.addEventListener(MouseEvent.CLICK, clickhandler); } function make():Sprite { var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(Math.random() * 0xFFFFFF); sprite.graphics.drawCircle(0, 0, 10); sprite.graphics.endFill(); sprite.x = Math.random() * 550; sprite.y = Math.random() * 400; return sprite; } function mouseDownHandler(e:MouseEvent):void { lastTime = getTimer(); } function clickhandler(e:MouseEvent):void { tf.text = (getTimer() - lastTime).toFixed(0); }
__________________
ЛОДКИ |
|
|||||
Может потому, что MOUSE_DOWN УЖЕ находит объект, на который нажимается, включается в обработку клика, и записывает объект, который потом при получении MOUSE_UP дёргает? Есть явная разница в скорости реакции отображения данных в текстовом поле с разным кол-вом спрайтов, явно, что задержка происходит до MOUSE_DOWN.
Просто это как-то неправдоподобно совсем. Ещё раз, я невероятнейше сомневаюсь, что каждый пиксель ссылается на объект. Ага, а ещё интересней, если нажать и подержать мышку. Таки да, при отпускании мыши некая разница в скорости есть при отображении данных. На цифры можно не смотреть, они ничего не значат. Если очень быстро нажимать, то у меня выходит, что цифры различаются, с увеличением кол-ва объектов увеличивается и отклик.
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 11.08.2017 в 19:48. |
|
|||||
Да нет, я ещё несколько раз перепроверил. Если очень быстро кликать, минимальное время будет больше минимального для меньшего кол-ва объектов.
Миллион у меня плеер не потянет одновременно инициализировать, я проверял на 10 vs 10000. Итого, минимальное для 10 объектов - 14, для 10000 объектов - 26.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
скорее всего fp использует что-нибудь типа quad tree для поиска пересечений, поэтому тут сложность скорее не линейная, а логарифмическая.
|
|
|||||
Регистрация: Aug 2014
Адрес: Где-то на поверхности планеты, какой хз
Сообщений: 113
|
FlashRus, на свежую голову совместил твоё и своё и заработало. Спасибо тебе большое.
|
Часовой пояс GMT +4, время: 00:07. |
|
« Предыдущая тема | Следующая тема » |
|
|