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

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

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

Регистрация: Oct 2010
Сообщений: 3
По умолчанию Плиточная карта.

Hello world!



Код AS3:
for(var i:Number=0;i<5;i++)
{
for(var j:Number=0;j<5;j++)
	{
	    var loc:loc_mc = new loc_mc();
		loc.x=0+i*50;
		loc.y=0+j*40;
		addChild(loc);
 
	}
}
Такой вот код . loc это мувик. Создается карта 5х5. Допустим это пустыня. Как сделать чтоб каждый кусок был разным мувиком(разным изображением, т.е. где-то просто песок, где-то камушек валяется, где-то скорпион например). Если можно, то в случайном и постоянном распределении.

Спасибо заранее!

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Создаешь массив с локациями, и случайно дергаешь оттуда их.
Код AS3:
private var vectorLocations:Vector.<Class>;
 
private function initLocations():void
{
	vectorLocations = new Vector.<Class>();
	vectorLocations.push(LocDesert, LocGrass, LocRiver);
}
 
private function getRandomLocation():DisplayObject
{
	return new vectorLocations[Math.floor(Math.random()*(vectorLocations.length))]);
}
///////////////////
///////////////////
///////////////////
 
initLocations();
 
for(var i:Number=0;i<5;i++)
{
for(var j:Number=0;j<5;j++)
	{
	    var loc:loc_mc = new loc_mc();
		loc.x=0+i*50;
		loc.y=0+j*40;
		addChild(getRandomLocation());
 
	}
}
 
private func

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

Регистрация: Oct 2010
Сообщений: 3
О, спасибо большое!

Старый 15.10.2010, 11:35
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 4  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
а по моему не стоит плодить столько лишних классов. соберите все тайлы в один муви клип. все пустыни(камушки будут ворым кадром. скорпион третим).
другие теретории(на пример лес) можно отделить в другие мувики(или даже собрать вместе. но это совсем другая история)
Код AS3:
 
for(var i:Number=0;i<5;i++)
{
for(var j:Number=0;j<5;j++)
{
var loc:loc_mc = new loc_mc();
loc.x=0+i*50;
loc.y=0+j*40;
loc.gotoAndStop(Math.floor(Math.random()*loc.totalFrames));
addChild(getRandomLocation());
 
}
}
когда проект уже не в начальной стадии наличие большого количество обьектов сильно мешает. но уже ничего не сделаешь.
а если карта будет анимированной то в конечном фрейме каждой анимации ставишь gotoAndPlay(начало этой анимации)
записываешь номера первых фреймов каждой анимации в массив

Код AS3:
var a:Array=new Array(1,7,12,28);// номера фреймов
for(var i:Number=0;i<5;i++)
{
for(var j:Number=0;j<5;j++)
{
var loc:loc_mc = new loc_mc();
loc.x=0+i*50;
loc.y=0+j*40;
loc.gotoAndPlay(a[Math.floor(Math.random()*a.length)]);
addChild(getRandomLocation());
 
}
}
я не утверждаю что это правильно. просто я сделал бы так.

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

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

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


 


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


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