![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
Есть код расстановки и добавления спрайтов:
public function init_walls():void { var xrow:int = stage.stageWidth / step; var yrow:int = stage.stageHeight / step; for (var i:int = 1; i < xrow; i+=2) { for (var ii:int = 1; ii < yrow; ii+=2) { wall = new Wall(); this.addChild(wall); wall.x = step * i; wall.y = step * ii; } } } Вопрос, как узнать что стена имеется и соответственно не столкнутся с ней? |
|
|||||
|
Создайте модельку - матрицу тайлов (ваших стен) иточку с координатами движущегося объекта в этой матрице.
пример: 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 [0] - не стена. Теперь вам надо всего лиш работать с массивом и точкой в нем. при изменении положения точки перемещать объект на экране |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
или сделать аналогичную проверку через bitmapData и заполненные/пустые пиксели
__________________
low + |
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
как альтернативный вариант
можно сразу визуализировать - удобно упрощаются проверки если клетки не только 1x1 ну и использование разных плюшек битмапдаты в определенных условиях, например можно ли попасть из одной точки в другую просто используя заливку по скорости доступа к ячейке не знаю насколько медленнее (или быстрее), чем доступ к элементам массива, но не думаю что сильно медленней, завтра проверю для интереса =)
__________________
low + |
|
|||||
|
Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
|
решил, правда самому не нравиться, но работает
![]() var a:int = 0; if (this.x <= 0) { this.x = this.x; }else { for (var i:int = 0; i < f.length; i++) { // f - это массив со стенами :) w = f[i]; if ((w.y == this.y) && (w.x == this.x - step)) { a = 1; break; } } if (a == 1) { this.x = this.x; }else { this.x -= step; i = 0; } } ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|