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

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

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

Регистрация: Jan 2010
Сообщений: 187
Question помогите доразобраться с localToGlobal

К примеру, у меня внутри клипа clip_one создаётся clip_two.

Код AS3:
package {
 
	import flash.display.*;
	import flash.events.*;
	import flash.geom.Point;
 
	public class Main extends MovieClip {
 
		public var clip_one:MovieClip;
		public var clip_two:MovieClip;
 
		public function Main() {
 
			clip_one = new One();
			clip_one.x=clip_one.y=100;
			addChild(clip_one);
			trace(clip_one.x);
 
			clip_two = new Two();
			clip_one.addChild(clip_two);
 
			var clickPoint:Point=new Point(clip_two.x,clip_two.y);
			trace("coordinates:", clip_one.localToGlobal(clickPoint));
 
		}
	}
}
Данный пример работает. В конце трейс выдаёт обе координаты clip_two относительно главной сцены.
Во всех примерах, что я нашёл на этом сайте, примерно так-же, и на этом мысль обрывается.

А мне хотелось бы какой-нибудь переменной, например, "aaa" присвоить только значение "x" вложенного клипа, и чтобы оно обязательно было относительно главной сцены. (тоесть в этом примере - 100)
И потом этой переменной как-то оперировать дальше.

Как мне это сделать?
Код AS3:
var aaa = clip_one.localToGlobal(clip_two.x)
конечно, не работает.

Старый 31.05.2010, 19:44
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Здесь элементарно - к координатам контейнера прибавляем координаты клипа. В итоге получаем глобальные координаты. Да localToGlobal, в принципе, и не нужен...
Вам я это советовал? Что-то не вспомнил, что есть способ попроще.
__________________
тут я

Старый 31.05.2010, 19:57
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 3  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
Я как-то не подумал об этом. Пошёл сложным путём. (:
Спасибо.
Сейчас буду пробовать.

Старый 18.09.2011, 20:51
scar4ace вне форума Посмотреть профиль Отправить личное сообщение для scar4ace Найти все сообщения от scar4ace
  № 4  
Ответить с цитированием
scar4ace

Регистрация: Jul 2011
Сообщений: 4
Цитата:
Сообщение от КорДум Посмотреть сообщение
...
спасибо!

Старый 19.09.2011, 01:04
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 5  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Если все же хотите понять про localToGlobal, то продолжу)
Вы хотите узнать координату второго клипа в системе координат стейджа.
"Координата клипа" это центр его системы координат, то есть – его точка (0, 0).
Поэтому вместо координат второго клипа внутри первого клипа (к чему нам они?) мы создаем точку (0, 0), и после этого совершаем преобразование точки (0, 0) внутри клипа2 в точку на стейдже:
Код AS3:
var clickPoint:Point=new Point(0, 0);
var stagePoint:Point = clip_two.localToGlobal(clickPoint); // clip_two преобразовывает свою локальную координату в глобальную!
trace("coordinates: x:", stagePoint.x, " y:", stagePoint.y);
__________________
Reality.getBounds(this);

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

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

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


 


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


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