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

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

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

Регистрация: May 2009
Сообщений: 140
По умолчанию Определить положение объекта на сцене

Определяю положение объекта на сцене над которым мышка так:

e.currentTarget.x, e.currentTarget.y

Но определается неправильно, видимо из-за того что объект дочерний клип, дочернего клипа главной сцены.

Как определить положнение объекта подскажите пожалуйста.

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
1. e.currentTarget указывает на объект, с которого поймали событие, а не на тот, который его испустил. Т.е. если событие испускает дочерний клип, а слушатель висит на родительском, то e.currentTarget будет указывать на родительский. На объект, испустивший событие, показывает e.target.

2. Топорный метод:
Код AS3:
var mc :DisplayObject = e.target as DisplayObject;
x = mc.x + mc.parent.x;
3. Продвинутый метод:
Код AS3:
var mc :DisplayObject = e.target as DisplayObject;
var local:Point = new Point(mc.x, mc.y);
var global:Point = local.localToGlobal();
trace(global.x, global.y);
__________________
тонкий тролль, осеянный благодатью

Старый 09.10.2009, 18:59
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 3  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
Спасибо, но первый метод не подходит потому что не известна глубина потомка, в смысле, в этом он клипе, в дочернем или в дочернем дочернего

А второй потому что в классе Piont нет метода localToGlobal()
вот тут написано http://help.adobe.com/ru_RU/AS3LCR/F...0.0/index.html
и флэш тож пишет что нет такого метода


Последний раз редактировалось nataly_1; 09.10.2009 в 19:06.
Старый 09.10.2009, 19:08
sergeik81 вне форума Посмотреть профиль Отправить личное сообщение для sergeik81 Найти все сообщения от sergeik81
  № 4  
Ответить с цитированием
sergeik81

Регистрация: Sep 2009
Сообщений: 15
local.localToGlobal();

он просто перепутал, видимо. Попробуйте mc.localToGlobal();

Старый 09.10.2009, 19:35
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 5  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
Начало показывать координаты вот так
Код AS3:
var mc :DisplayObject = e.target as DisplayObject;
var local:Point = new Point(mc.x, mc.y);
var global:Point = mc.localToGlobal(local);
 
	tt.x=global.x;
	tt.y=global.y;
Но они неправильные судя по всему никакие не глобальные, tt отображается неизвестно где.

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
попробуйте так:
Код AS3:
var local:Point = new Point(mc.x, mc.y);
var global:Point = mc.parent.localToGlobal(local);
или так

Код AS3:
var local:Point = new Point(0, 0);
var global:Point = mc.localToGlobal(local);
__________________
тонкий тролль, осеянный благодатью

Старый 09.10.2009, 20:32
nataly_1 вне форума Посмотреть профиль Отправить личное сообщение для nataly_1 Найти все сообщения от nataly_1
  № 7  
Ответить с цитированием
nataly_1

Регистрация: May 2009
Сообщений: 140
Спасибо!!, вот так помогло:
Код AS3:
var local:Point = new Point(0, 0);
var global:Point = mc.localToGlobal(local);


Последний раз редактировалось nataly_1; 09.10.2009 в 20:37.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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