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

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

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
По умолчанию алгоритм плиточного заполнения

помогите продумать логику плиточного заполнения. Есть некая область, которую нужно заполнить квадратиками одинакового размера, причем заполнение нужно вести от центра. Думал сделать некоторую карусель (спираль) но даже на бумаге не получается это описать
__________________
Коллекционирую чужие ActionScript Блоги

Старый 07.02.2011, 14:08
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 2  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
а если посмотреть готовые движки? или работа не большая?

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
По формуле высчитывать x и y, и округлять их до размеров сетки из плиток?

Старый 07.02.2011, 14:25
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
На сцене клипы с именем kvadrat1, kvadrat2, kvadrat3 ...

Код AS3:
var grid = 10;
for ( i=0; i<=10; i++){
['kvadrat'+i]._x = i*grid;
}
Это по горизонтали, по сетке, нужно вложить внутрь ещё один цикл.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 07.02.2011 в 15:05.
Старый 07.02.2011, 15:04
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
Цитата:
Сообщение от nOobCrafter Посмотреть сообщение
а если посмотреть готовые движки? или работа не большая?
а что нить можете посоветовать, я погуглил но из похожего нашел только обратный алгоритм от края к центру
__________________
Коллекционирую чужие ActionScript Блоги

Старый 07.02.2011, 15:38
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 6  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
http://blog.yesutin.com/ второй пост, там несколько движков вроде.

Старый 07.02.2011, 18:28
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 7  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
делал что то похожее, попозже размещу тут.

Старый 07.02.2011, 19:23
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 8  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Есть некая область, которую нужно заполнить квадратиками одинакового размера, причем заполнение нужно вести от центра.
Можно в лоб решить. В центре ставится плитка. Над ней, например, ставится вторая. Будет 4-е типа обхода:
1. Сдева направо. Проверяетя существование плитки снизу, если есть добавляется плитка справа, если нет, то плитка снизу и переключается на следующий тип обхода.
2. Сверху вниз. Проверяется плитка слева. Добавляется снизу или слева, если контрольных плиток нет.
3. Срава налево. Проверяется сверху.
4. Снизу вверх. Проверяется справа.

Старый 07.02.2011, 19:56
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
@Tails, немного версией языка ошиблись.

Старый 07.02.2011, 20:00
medvedya2 вне форума Посмотреть профиль Отправить личное сообщение для medvedya2 Найти все сообщения от medvedya2
  № 10  
Ответить с цитированием
medvedya2
[+1 09.03.11]

Регистрация: Mar 2010
Сообщений: 128
У меня была схожая проблема, ресался моб и нужно было если он не может риснуться найти место где бы он смог реснуться, правда на углах у меня была проверка по несколько раз.
Код не очень хороший но он работает до сих пор, он проверяет четыре линии со всех сторон, от центра постепенно раздвигая линии.
Код AS3:
for(var i:int=1;i<=this.radWall/d;i++)
					for(var j:int=-i;j<=i;j++)
					{
						if(Buildings.inPointAll(j*d+x,-i*d+y)==null)
							if(intersectionBuilding(j*d+x,-i*d+y)==-1 )
							{	
 
 
								{
									xf=j*d+x;
									yf=-i*d+y;
									break;
								}
							}
						if(Buildings.inPointAll(-i*d+x,j*d+y)==null)
							if(intersectionBuilding(-i*d+x,j*d+y)==-1 )
							{
 
								{
									xf=-i*d+x;
									yf=j*d+y;
									break;
								}
							}
						if(Buildings.inPointAll(i*d+x,-j*d+y)==null)
							if(intersectionBuilding(i*d+x,-j*d+y)==-1 )
							{
 
								{
									xf=i*d+x;
									yf=-j*d+y;
									break;
								}
							}
						if(Buildings.inPointAll(i*d+x,j*d+y)==null)
							if(intersectionBuilding(i*d+x,j*d+y)==-1 )
							{
 
								{
									xf=i*d+x;
									yf=j*d+y;
									break;
								}
							}
					}
__________________
for(;;);

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

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

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


 


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


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