Показать сообщение отдельно
Старый 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;
			}
		}
	}
}
За оптимальность кода не отвечаю, но как пример, должно помочь!