![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 66
|
вектор - исправил. (не знаю как). вроде лучше. спасибо. буду тестить)
Добавлено через 41 секунду вообще я читал они быстрее работают... типизация же |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
я тоже читал и смеялся, когда мне говорили, что вектор это корявенько, думал, ну как же это, я же читал.
А когда начал проверять, то оказалось, что он эффективен только на большом кол-ве элементов. И чтобы не соврать, я просто не помню с чем конкретно связанно, но он даже замедлял работу кода, после чего я и перестал пользоваться им. до больших объёмов ещё не дорос. |
|
|||||
package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { private var _coins:Array = []; public function Main():void { addEventListener(Event.ENTER_FRAME, enterFrame); for (var i:int = 0; i < 1000; i++) { var coin:Coin = new Coin(); addChild(coin); coin.start(); _coins.push(coin); } } private function enterFrame(e:Event = null):void { for each(var coin:Coin in _coins) coin.move(); } } } package { import flash.display.Sprite; public class Coin extends Sprite { private const BOTTOM:int = 600; private const RIGHT:int = 600; private const SPEED:int = 10; private var _speed:int = 0; public function Coin() { graphics.beginFill(0x0000FF); graphics.drawCircle(0, 0, 10); y = Math.random() * BOTTOM; } public function start():void { _speed = int(Math.random() * SPEED) + 1; alpha = _speed / SPEED; scaleX = scaleY = alpha; x = Math.random() * RIGHT; } public function move():void { y += _speed; if (y > BOTTOM) { y = -_speed; start(); } } } }
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 66
|
Цитата:
Добавлено через 1 минуту Цитата:
в любом случае - мне судя по всему помогло) Добавлено через 2 минуты по идеи - все типизированое работает быстрее.. нет разве? |
|
|||||
|
Цитата:
У вас 3 раза в секунду бегаем в цикле по огромному условию, а все остальное то же самое.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 66
|
кстати при тестах выявилась еще одна проблема.... часть монеток походу не удаляется... знаю это другая проблема, но не хочу новую тему открывать)
подзрения возникли после того как саметил, что длинна массива медленно но увеличивается... если не первой минуте количество монет на экране(после того как они заполнили экран) колеблется от 34 до 40.. то спустя пару минут возрастает до 40-50! код вы видели, может кто-нибудь сказать почему это может происходить? |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 66
|
Цитата:
а если пользоваться вашим алгоритмом, то что делать есть монетка упала, мы ее кидаем снова вверх, а падать ничего больше не должно. мы ее должны "застопорить". а запускать по надобности. ну так это будет шар вид с боку... с той лишь разницей, что мы не создаем монетку и не добавляем на сцену. но врятли это сыграет решающую роль Добавлено через 1 минуту пардон.. я тестил и убрал ограничение на длинну, чтобы проверить работу вектора) длинна так и так не должна расти после достижения максимума.. вроде бы.... |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 66
|
извне) это для описываемого мной вопроса не существенно)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|