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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.02.2006, 13:02
[G@ng$t@]Un1t вне форума Посмотреть профиль Отправить личное сообщение для [G@ng$t@]Un1t Найти все сообщения от [G@ng$t@]Un1t
  № 1  
Ответить с цитированием
[G@ng$t@]Un1t
 
Аватар для [G@ng$t@]Un1t

Регистрация: Dec 2005
Сообщений: 61
Question Управление аттаченными мувиками

При создании одной игрушки у меня возник вопрос.-> Вот к примеру код:

attacMovie("mc","mc"+1,this.getNextHighestDepth());

Вопрос такой: как к нему (к ним) обращаться (задвать координаты, поворот и т.д) ?

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

Регистрация: Feb 2006
Адрес: Рига
Сообщений: 42
Код:
var sceneMovies:Array = new Array();
for (var i:Number = 0; i <= 5; i++) {
	var tempMovie:MovieClip = _root.attachMovie('mc', 'mc' + i, _root.getNextHighestDepth());
		sceneMovies.push(tempMovie);
}
for (var i:Number = 0; i < sceneMovies.length; i++) {
	trace(sceneMovies[i]); // Обращаться к мувикам типа sceneMovies[i]._x и т.д.
}
хотябы так

Старый 04.02.2006, 16:27
[G@ng$t@]Un1t вне форума Посмотреть профиль Отправить личное сообщение для [G@ng$t@]Un1t Найти все сообщения от [G@ng$t@]Un1t
  № 3  
Ответить с цитированием
[G@ng$t@]Un1t
 
Аватар для [G@ng$t@]Un1t

Регистрация: Dec 2005
Сообщений: 61
Блин за это сапсибо, но ты не понял... Приведу еще один пример. Есть два мувика, у каждого из них по несколько экземпляров. Первый тип мувиков к примеру стенка или там коробка (не важно), а второй пули. Так как реализовать между ними hitTest ?

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

Регистрация: Feb 2006
Адрес: Рига
Сообщений: 42
Цитата:
Сообщение от [G@ng$t@]Un1t
Блин за это сапсибо, но ты не понял...
Какой вопрос, такой ответ

Код:
var wallMovies:Array = new Array(); // Массив, содержащий ссылки на мувиклипы стенок
var bulletMovies:Array = new Array(); // Массив, содержащий ссылки на мувиклипы пуль

for (var i:Number = 0; i <= 5; i++) {
	var tempMovie:MovieClip = _root.attachMovie('wall', 'wall' + i, _root.getNextHighestDepth()); // добавляем новый клип стенки
		wallMovies.push(tempMovie); // суём ссылку на него в массив
}

for (var i:Number = 0; i < wallMovies.length; i++) {
	var currentMovie:MovieClip = wallMovies[i]; // текущий клип в цикле
		currentMovie._x = 100 + (currentMovie._width * i); // делаем какие-то действия
}

for (var i:Number = 0; i <= 1; i++) {
	var tempMovie:MovieClip = _root.attachMovie('bullet', 'bullet' + i, _root.getNextHighestDepth()); // тоже что со стенками
		bulletMovies.push(tempMovie);
}

for (var i:Number = 0; i < bulletMovies.length; i++) {
	var currentBullet:MovieClip = bulletMovies[i]; // текущий клип пули в цикле
	currentBullet._y = 300; // делаем повороты и прочие расстановки
	currentBullet._x = 100 + (currentMovie._width * i);
	currentBullet.onEnterFrame = function(Void):Void { // действия в каждом новом кадре у каждой пули
		this._y -= random(20);
		for (var i:Number = 0; i < wallMovies.length; i++) { // проверяем столкновение пули с паждой стенкой по очереди
			if (this.hitTest(wallMovies[i])) { // если есть столкновение, то...
				delete this.onEnterFrame;
				removeMovieClip(this);
				removeMovieClip(wallMovies[i]);
				break;
			}
		}
	}
}
За оптимальность кода не отвечаю, но как пример, должно помочь!

Старый 04.02.2006, 18:02
[G@ng$t@]Un1t вне форума Посмотреть профиль Отправить личное сообщение для [G@ng$t@]Un1t Найти все сообщения от [G@ng$t@]Un1t
  № 5  
Ответить с цитированием
[G@ng$t@]Un1t
 
Аватар для [G@ng$t@]Un1t

Регистрация: Dec 2005
Сообщений: 61
А вот за это огромный respect.

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

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

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


 


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


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