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

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

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

Регистрация: Jun 2008
Сообщений: 56
Question Препятствия на дистанции А-Б

Уважаемые товарищи!
Я хотел бы поинтересоваться вот о чем
Имеется дистанция от точки А(х,у) до точки Б(х,у), которое постоянно меняется. В момент времени нужно знать есть ли на этой дистанции препятствия. Препятствия - мувиклипы с произвольными именами... Конечно можно брать и именовать их в виде obstecle_XX (где XX - номер от 0 до n) и потом проверять циклом for, но я думаю это будет очень ресурсоемко
Кто нибудь может помочь решить данную задачу?
Просто я не слишком владею классами во флэш, поэтому, если можно по подробнее)))

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

Регистрация: May 2008
Сообщений: 476
Здравствуйте Maxi Hunter!

Цитата:
потом проверять циклом for, но я думаю это будет очень ресурсоемко
Почему Вы так решили?! При ограниченном количестве клипов-препятствий и использовании метода hitTest() класса MovieClip не думаю, что это отнимет много ресурсов.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 26.06.2008, 19:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
http://flasher.ru/forum/attachment.p...4&d=1211402647
делал немного для другой цели, но можно попробовать адаптировать.
__________________
Hell is the possibility of sanity

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

Регистрация: Jun 2008
Сообщений: 56
wvxvw, к сожалению у меня, почему проект не открылся... говорит "Unexpected file format"...
Alex_beginner, вероятно можно конечно попробовать, но в будущем хотелось бы и узнавать точку первого пересечения, но это мне пока кажется чемто невыполнимым подчеркиваю слово кажется, ибо невыполнимых задач нет

Старый 27.06.2008, 03:49
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А чем вы .AS файлы, простите, открываете? Ну, на худой конец, можно блокнотом попробывать =) А вообще, проект, если память не изменяет для ФД был... Если хотите скомпилировать из флеша - создайте файл в директории classes. В нем, в библиотеке 2 клипа:
linkage: bullet, class: view.Bullet
linkage: enemy, class: view.Enemy
на основном таймлайне
Код:
Main.main();
__________________
Hell is the possibility of sanity

Старый 27.06.2008, 09:48
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 6  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: 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.
Старый 27.06.2008, 10:43
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Вы написали бесконечный цикл, условиие i = 200 всегда истина.

Старый 27.06.2008, 11:38
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 8  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
тогда я чего-то не понимаю в работе цикла for ибо при условии:
Код:
for (i=1; i>200; i++) {
...
trace(i);
...
}
вообще ничего не происходит и не выполняется функция trace(i);
Заменил кусок в коде, ибо думаю, что так правильнее
Код:
if (this.hitTest(_root["obstacle_"+k])) {
					this.gotoAndPlay(2);
					trace("OK");
					is_break = 1;
					break;
}

Старый 27.06.2008, 11:41
Maxi_Hunter вне форума Посмотреть профиль Отправить личное сообщение для Maxi_Hunter Найти все сообщения от Maxi_Hunter
  № 9  
Ответить с цитированием
Maxi_Hunter
 
Аватар для Maxi_Hunter

Регистрация: Jun 2008
Сообщений: 56
С циклом разобрался, мой косяк

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

Регистрация: Jun 2008
Сообщений: 56
реализовал через хитТест вроде ничего не тормозит. Единственный недостаток -то что ограничивается количество этих препятствий)

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

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

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


 


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


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