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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.11.2010, 20:27
herotic вне форума Посмотреть профиль Отправить личное сообщение для herotic Найти все сообщения от herotic
  № 11  
Ответить с цитированием
herotic

Регистрация: Jun 2010
Сообщений: 42
Цитата:
смысле зачем вызывать document class дополнительно Oo
Потому что у меня код не в отдельном файле, а в кадре И все без классов сделано.

У меня возник еще один такой интересный вопрос: Как задать программно точку регистрации?. Создаю свои точки таким образом:

Код AS3:
 
chel.graphics.lineStyle(2,0x000000,1);
chel.graphics.beginFill(0xF1CD43);
chel.graphics.drawRect(Number(koordx), Number(koordy), 10, 10);	chel.graphics.endFill();
addChild(chel);

Старый 23.11.2010, 20:34
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 12  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
У меня возник еще один такой интересный вопрос: Как задать программно точку регистрации?
Никак. Она всегда будет равна 0, 0. Это контент внутри контейнера уже располагается относительно точки регистрации, наприме x = -20, y = -20

Цитата:
Потому что у меня код не в отдельном файле, а в кадре
аа, тут я тупанул

Старый 23.11.2010, 20:36
herotic вне форума Посмотреть профиль Отправить личное сообщение для herotic Найти все сообщения от herotic
  № 13  
Ответить с цитированием
herotic

Регистрация: Jun 2010
Сообщений: 42
А как мне это все поместить внутрь контейнера?

Старый 23.11.2010, 20:57
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 14  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ну допустим есть мувиклип, он уже является контейнером, если на нем использовать метод
Код AS3:
movieClip.addChild(someChild);
то someChild уже будет помещен внутрь этого контейнера.

И уже его нужно располагать относительно точки отсчета контейнера (в данном случае movieClip)

Старый 23.11.2010, 21:16
herotic вне форума Посмотреть профиль Отправить личное сообщение для herotic Найти все сообщения от herotic
  № 15  
Ответить с цитированием
herotic

Регистрация: Jun 2010
Сообщений: 42
Ну все, разобрался, спасибо большое за помощь

Добавлено через 39 минут
Теперь проблема с тем, что не могу сделать проверку дистанции для множества точек.

Если делать таким кодом, то проверку дистанции будет делать для последней точки в массиве.
Код AS3:
		for(i = 0; i < my_point.length(); i++)
				{
	    var vashaTochka:Point = new Point(my_point[i].@KOORDX, my_point[i].@KOORDY);
		var distanceToPointer:Number = Point.distance(new Point(stage.mouseX, stage.mouseY), vashaTochka);
				}
		if (distanceToPointer <= radius)
		                {
							postavil = 1;
						}
		if (distanceToPointer > radius)
				        {
							postavil = 0;
						}
А если таким, то будет проверятся последний элемент в массиве.
Код AS3:
		for(i = 0; i < my_point.length(); i++)
				{
	    var vashaTochka:Point = new Point(my_point[i].@KOORDX, my_point[i].@KOORDY);
		var distanceToPointer:Number = Point.distance(new Point(stage.mouseX, stage.mouseY), vashaTochka);
 
		if (distanceToPointer <= radius)
		                {
							postavil = 1;
						}
		if (distanceToPointer > radius)
				        {
							postavil = 0;
						}
						}
А как сделать, чтобы все проверялись?

Старый 23.11.2010, 22:19
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 16  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Здесь проверяются все точки, просто цикл для такой проверки - не самый лучший вариант, так как он выполняется (в человеческом понимании) практически мгновенно, и результат его работы заметить на таком примере невозможно.

Лучше производить такую проверку, например энтер фреймом.

И вообще, неплохо было бы упростить код для начала. Убрать XML и попытаться все это проделать с простым массивом (чисто с точки рения наглядности)

Старый 23.11.2010, 22:25
herotic вне форума Посмотреть профиль Отправить личное сообщение для herotic Найти все сообщения от herotic
  № 17  
Ответить с цитированием
herotic

Регистрация: Jun 2010
Сообщений: 42
Ну да, я просто имел введу, что переменная vashaTochka в конце имеет значение последней точки в массиве.

А вот как организовать это все дело, даже не представляю

Старый 23.11.2010, 22:30
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 18  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
что переменная vashaTochka в конце имеет значение последней точки в массиве.
Так и должно быть, все логично. Цикл выполняется, значение переменной каждый раз меняется. На последней точке он останавливается, и значение, естественно, остается тем, что было последний раз.

Цитата:
А вот как организовать это все дело, даже не представляю
А зачем это все нужно? Какой смысл проверять точки?
Чтобы что-то конкретнее подсказать, нужно хотя бы это понять

Старый 23.11.2010, 23:03
herotic вне форума Посмотреть профиль Отправить личное сообщение для herotic Найти все сообщения от herotic
  № 19  
Ответить с цитированием
herotic

Регистрация: Jun 2010
Сообщений: 42
В спокойном состоянии:

[IMG]http://i.***********/i5/29/43/754329/Rysunok2.png[/IMG]

В момент нажатия:

[IMG]http://i.***********/i5/35/43/754335/Rysunok1.png[/IMG]

То есть в момент нажатия к каждой точке добавляется кружок радиусом R и если дистанция между точкой регистрации точки меньше или равняется R то туда уже нельзя нажать, а если больше то можно и в том месте появляется новая точка.

Вот такая вот штука

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

Теги
координаты , курсор , принадлежность
Опции темы
Опции просмотра

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

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


 


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


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