Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.04.2010, 19:23
armastus вне форума Посмотреть профиль Отправить личное сообщение для armastus Найти все сообщения от armastus
  № 1  
Ответить с цитированием
armastus

Регистрация: Apr 2010
Сообщений: 25
По умолчанию Создание клеточной доски

Доброго времени суток. Вопрос: как создать карту (размером 64*64 одинаковых клеток, к примеру) используя ActionScript 3.0? Чтобы в каждой клетке возможно было размещать какой-либо объект. Буду благодарен за любой намёк на реализацию такой вещи. Спасибо.

Старый 09.04.2010, 19:27
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 2  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
Хотите намек? Пожалуйста: циклы и остаток от деления на размер строки.
И в шахматах 8*8, а не 64*64, но так, между прочим

Старый 09.04.2010, 20:50
armastus вне форума Посмотреть профиль Отправить личное сообщение для armastus Найти все сообщения от armastus
  № 3  
Ответить с цитированием
armastus

Регистрация: Apr 2010
Сообщений: 25
arkadattx спасибо за намёк, по-поводу шахмат, я не говорил, что это шахматная доска! Кто ещё какие варианты скажет?

Старый 09.04.2010, 21:00
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 4  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
наверное давно в шахматы не играл
а чем этот вариант не устраивает
dataGrid еще возможен, но я с ним еще не работал...

Старый 09.04.2010, 22:08
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 5  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
ну вот еще парочка намеков: for, addChild, array

Старый 10.04.2010, 13:20
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 6  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
это классический двумерный массив

arr[i][j] где i это ряд а j это столбец

Старый 11.04.2010, 00:34
armastus вне форума Посмотреть профиль Отправить личное сообщение для armastus Найти все сообщения от armastus
  № 7  
Ответить с цитированием
armastus

Регистрация: Apr 2010
Сообщений: 25
Спасибо большое, буду делать!

Старый 12.04.2010, 15:07
  № 8  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
Вот подробное руководство:
Создай класс "Ячейка" наследуя от визуального класса (extends Sprite). Графическую часть можно либо нарисовать динамически в graphics, либо прикрепить к классу из редактора (в свойстве linked (CS3) или properties (CS4))
Создай массив, в котором будут храниться все созданные тобой ячейки, чтобы потом с помощью него обращаться к ним.
Код AS3:
Var массивЯчеек:Array = new Array();
Потом выбери начальную позицию первой ячейки.
Потом создай два цикла for. В первом перебирай строки, во втором столбцы. Чтобы получить двумерный массив, при переборе строк пиши
Код AS3:
массивЯчеек[строка]=new Array();
Там, где перебираешь столбцы, создавай переменную класса «Ячейка»
Код AS3:
var ячейка=new Ячейка();
Для того, чтобы того чтобы установить x, анализируй второй for и ширину ячейки, для y – первый for, и высоту ячейки. (по намеку arkadattx, можно и один for, но тогда нужно парится с деленим (/ и %)).
Добавляй ячейку в список отображения (addChild(ячейка)) и в массив (массивЯчеек[строка].push(ячейка)).
Чтобы поместить яблоко в 3-ую ячейку 4-го столбца, пиши
Код AS3:
массивЯчеек[3][4].addChild(яблоко)
Уф.. как-то так)

Старый 14.04.2010, 03:27
armastus вне форума Посмотреть профиль Отправить личное сообщение для armastus Найти все сообщения от armastus
  № 9  
Ответить с цитированием
armastus

Регистрация: Apr 2010
Сообщений: 25
Ого, спасибо, буду ковыряться, разбираться!

Старый 14.04.2010, 11:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 10  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Фрагмент из класса шахматной доски, которую я когда-то делал.

Код AS3:
_deck = new Sprite();
addChild(_deck);
for (var v:uint = 0; v < 8; v++)
{
	for (var h:uint = 0; h < 8; h++)
	{
		var cellColor:uint = (v + h) % 2 ? _darkColor : _lightColor;
		var cell:Cell = new Cell(cellColor);
		_deck.addChild(cell);
		cell.x = h * cell.width;
		cell.y = v * cell.height;
	}
}
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.