![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 28
|
привет!
у меня игра в стиле Math-3 private var array:Array = []; private static const EMPTY_FIELD:int = 0; private function createArray():void { const COLS:int = 10; const ROWS:int = 10; for (var i:int = 0; i < COLS; i++){ array[i] = []; for (var l:int = 0; l < ROWS; l++){ array[i][l] = Math.random() > .5 ? EMPTY_FIELD : new SomeObject(); } } private function check():void { for (var i:int = 0; i < COLS; i++){ for (var l:int = 0; l < ROWS; l++){ if (array[i][l] == EMPTY_FIELD){ // этот фрагмент вызывает Object.toString() trace("empty!"); } else { trace("object!") } } } } } как этого избежать? |
|
|||||
|
[+4 06.05.14]
|
Хотел дать отверт по решению через IndexOf. Но посмотрев внимательно, не понял, для чего вообще вызывается функция чек ? Когда она вызывается, при нажатии на кнопку или при нажатии на элемент... неясно
__________________
Марк Tween |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 28
|
то есть вызывается чтобы проверить есть свободное место (EMPTY) или нет (Object)
|
|
|||||
|
[+4 06.05.14]
|
зачем в интер_фрейме то чекать? Я так понимаю в состоянии стояния все равно ничего не происходит. Чекать после действий. И 1 раз наверное.
Ну а вообще так, как я и сказал Добавлено через 1 минуту P.s. да и я бы избавился от [i][l] вообще. Двумерный массив можно держать в голове, как говорится - для себя представляя его одномерным, так проще понимать
__________________
Марк Tween |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Aug 2011
Сообщений: 28
|
1) двухмерный массив обязательно
2) check() в каждом frame обязательно получается што этот способ лучшее |
|
|||||
|
Этот код не лучше, он в общем-то такой же почти.
Объясните пожалуйста, для чего вам метод check? Вы хотите посчитать кол-во свободных мест на всём поле? Или хотите узнать какие клетки пустые? Или вы хотите узнать состояние конкретной клетки? В данный момент, ваш код просто выведет кол-во пустых клеток. Сомневаюсь, что это правильно, ведь если объект в массиве существует, то приведение его к int должно вызвать ошибку. |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 28
|
а какой check() по вашему лучше по производительности?
проблема в том что первый создает много объектов String |
|
|||||
|
[+4 06.05.14]
|
Цитата:
__________________
Марк Tween |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|