![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2005
Сообщений: 61
|
При создании одной игрушки у меня возник вопрос.-> Вот к примеру код:
attacMovie("mc","mc"+1,this.getNextHighestDepth()); Вопрос такой: как к нему (к ним) обращаться (задвать координаты, поворот и т.д) ? |
|
|||||
|
Регистрация: 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 и т.д.
}
![]() |
|
|||||
|
Регистрация: Dec 2005
Сообщений: 61
|
Блин за это сапсибо, но ты не понял... Приведу еще один пример. Есть два мувика, у каждого из них по несколько экземпляров. Первый тип мувиков к примеру стенка или там коробка (не важно), а второй пули. Так как реализовать между ними hitTest ?
|
|
|||||
|
Регистрация: Feb 2006
Адрес: Рига
Сообщений: 42
|
Цитата:
![]() 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;
}
}
}
}
![]() |
|
|||||
|
Регистрация: Dec 2005
Сообщений: 61
|
А вот за это огромный respect.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|