![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Уважаемые товарищи!
Я хотел бы поинтересоваться вот о чем ![]() Имеется дистанция от точки А(х,у) до точки Б(х,у), которое постоянно меняется. В момент времени нужно знать есть ли на этой дистанции препятствия. Препятствия - мувиклипы с произвольными именами... Конечно можно брать и именовать их в виде obstecle_XX (где XX - номер от 0 до n) и потом проверять циклом for, но я думаю это будет очень ресурсоемко ![]() Кто нибудь может помочь решить данную задачу? Просто я не слишком владею классами во флэш, поэтому, если можно по подробнее))) |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Здравствуйте Maxi Hunter!
Цитата:
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Modus ponens
|
http://flasher.ru/forum/attachment.p...4&d=1211402647
делал немного для другой цели, но можно попробовать адаптировать.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
wvxvw, к сожалению у меня, почему проект не открылся... говорит "Unexpected file format"...
Alex_beginner, вероятно можно конечно попробовать, но в будущем хотелось бы и узнавать точку первого пересечения, но это мне пока кажется чемто невыполнимым подчеркиваю слово кажется, ибо невыполнимых задач нет ![]() |
|
|||||
|
Modus ponens
|
А чем вы .AS файлы, простите, открываете? Ну, на худой конец, можно блокнотом попробывать =) А вообще, проект, если память не изменяет для ФД был... Если хотите скомпилировать из флеша - создайте файл в директории classes. В нем, в библиотеке 2 клипа:
linkage: bullet, class: view.Bullet linkage: enemy, class: view.Enemy на основном таймлайне
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
Вот что у меня получилось...но почему-то скрипт виснет намертво при выполнении функции... Я допускаю, что в каком-то месте написал чушь и хотел бы узнать где
onClipEvent (enterFrame) {
if (fire == 1) {
for (i=1; i=200; i++) {
this._y -= Math.cos((this._rotation*Math.PI)/180)*5;
this._x += Math.sin((this._rotation*Math.PI)/180)*5;
for (k=1; k=50; k++) {
var global_obstacle:MovieClip;
global_obstacle._name = "obstacle_"+k;
if (global_obstacle.hitTest(global_obstacle._name)) {
this.gotoAndPlay(2);
trace("OK");
is_break = 1;
break;
}
}
if (is_break == 1) {
break;
}
}
}
Последний раз редактировалось Maxi_Hunter; 27.06.2008 в 09:52. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Вы написали бесконечный цикл, условиие i = 200 всегда истина.
|
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
тогда я чего-то не понимаю в работе цикла for
ибо при условии:вообще ничего не происходит и не выполняется функция trace(i); Заменил кусок в коде, ибо думаю, что так правильнее ![]() |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
С циклом разобрался, мой косяк
![]() |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 56
|
реализовал через хитТест
вроде ничего не тормозит. Единственный недостаток -то что ограничивается количество этих препятствий) |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|