![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Задаются перемеными в XML, полученного от сервера. После построения поля и инициализцации клеток, измениться не может. Т.е. фикисированные - все GameCell имеют одинаковые размеры:
Последний раз редактировалось Sneg; 18.09.2006 в 19:18. |
|
|||||
|
Цитата:
2Sneg ну почему код не работает-то? Вот у тебюя массив строк mas= [1, 2, 3, 4, 5]; каждый элемент массива тоже массив, содержащий координаты х например mas[1] = [1, 2, 3, 4, 5]; Нам известна координаты верхней левой точки, и правой нижней (X1, Y1 и X2, Y2 соответсвенно) тебе нужно из каждого массива mas[Y1], mas[Y1+1]...mas[Y2] вырезать елементы принадлежащие интервалу от X1 до X2 . Т.е mas[Y1][X1] mas[Y1][X1+1] ..... mas[Y1][X2] и добавить их в массив Я думал ты сам сможешь всё дописать, ну так и быть приведу более полный вариант mas = ['ряд0', 'ряд1', 'ряд2', 'ряд3', 'ряд4', 'ряд5', 'ряд6', 'ряд7', 'ряд8', 'ряд9'];
for(i in mas){
mas[i] = [mas[i]+'_столбец0', mas[i]+'_столбец1', mas[i]+'_столбец2', mas[i]+'_столбец3', mas[i]+'_столбец4', mas[i]+'_столбец5', mas[i]+'_столбец6', mas[i]+'_столбец7', mas[i]+'_столбец8', mas[i]+'_столбец9'];
}
X1 = 2; Y1=2; X2=3; Y2=4;
ar = []
tempY = Y1;
while(tempY<=Y2){
ar = ar.concat(mas[tempY].splice(X1, X2))
tempY+=1;
}
trace(ar)
|
|
|||||
|
Цитата:
![]() К тому же посты с приятными аватарами взор быстрее находит на странице и их внимательнее читают ![]() |
|
|||||
|
2miramax: Откуда ты взял что у меня это двумерный массив? Я где-нибудь писал это? Вот тебе кусочек кода интефейса IGameField:
Игровое поле может только вернуть только клетку на определенной position, а positionесть порядковый номер клетки : от 1 до (длина поля в клетках)*(ширина поля в клетках). |
|
|||||
|
сори, если не въехал в проблему, а чего по-простому нельзя напихать в массив этих клеток?
function getSelectionCells(rectangle:Rectangle):Array{
var wLength=int(rectangle.width/cellWidth);
var hLength=int(rectangle.height/cellHeight);
for(var i=0,arr=[];i<wLength;i++)
for(var j=0;j<hLength;j++){
arr.push(field.getCellByPosition(rectangle.left+i*cellWidth,rectangle.top+j*cellWidth));
}
return arr;
}
|
|
|||||
|
Цитата:
|
|
|||||
|
4AM Games
|
если у каждой клетки есть своя позиция x и y (я говорю не о пикселях, а о их порядковых номерах от верхнего левого углу)
просто на onPress засекаешь xy начальной клетки, и потом на onRelease смотришь xy конечной клетки, у тебя получается твой массив
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|