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

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

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

Регистрация: May 2009
Сообщений: 9
По умолчанию Как получить доступ из класса к свойствам контейнера экземпляра?

у меня есть класс aclip, он является потомком MovieClip.
В классе переопределено свойство _x=_root._xmouse;(я так пытался получить доступ к координате курсора относительно внешнего клипа, содержащего экземпляр объекта aclip.
но в _x возвращается значение _xmouse относительно точки привязки экземпляра aclip, то же самое со свойствами _parent._width, _parent._height - я вызываю их из конструктора класса и они возвращают для экземпляров, созданных на основе этого класса собственную ширину и высоту , а мне нужны ширина и Высота того клипа , в котором находится экземпляр, как мне поступить?

Код AS1/AS2:
class aclip extends MovieClip{
 
var position:Number;
 
	function aclip(){
		}
 
	function xmov( doc_x, speed) {
	position = (doc_x/2-_root._xmouse)*speed/doc_x;
	return position;}
 
function onEnterFrame(){_x+=xmov(_root._width,75);}
}


Последний раз редактировалось Avid; 11.07.2009 в 17:17.
Старый 11.07.2009, 20:44
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если ролик не подгружается никуда, то размеры это Stage.width/height
непонятки с локальными координатами можно решить через localToGlobal и globalToLocal или getBounds

Старый 11.07.2009, 23:50
dmitriev вне форума Посмотреть профиль Отправить личное сообщение для dmitriev Найти все сообщения от dmitriev
  № 3  
Ответить с цитированием
dmitriev
 
Аватар для dmitriev

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Добавлю: имя класса нужно писать с прописной, вот так:
Код AS1/AS2:
class Aclip extends MovieClip {
И лучше давать осмысленные имена классам.
__________________
O God! The Aftermath.

Старый 12.07.2009, 16:43
Avid вне форума Посмотреть профиль Отправить личное сообщение для Avid Найти все сообщения от Avid
  № 4  
Ответить с цитированием
Avid

Регистрация: May 2009
Сообщений: 9
Спасибо, проблема решена.

Код AS1/AS2:
class Aclip extends MovieClip{
 
var position,doc_x:Number;
 
	function Aclip(){
 
		}
 
	function xmov( doc_x, speed) {
	position = (doc_x/2-_root._xmouse)*speed/doc_x;
	return position;}
 
 
function onEnterFrame(){_x+=xmov(Stage.width,75);
}}
нужно было просто исползовать свойство класса сцены (Stage.width) вместо _root._width , _root._xmouse нормально обрабатывается.
Теперь все работает, но вот тогда какой вопрос: _root._width тоже возвращает значение типа Number, несмотря на то , что сцена не имеет свойства _width
откуда оно берется? видимо берет это значение из единственного клипа в сцене но компилятор не ругается...странно..

Старый 12.07.2009, 16:54
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
_root и Stage не одно и тоже, сцена это объект плеера, а _root это основной мувик загруженной в сцену флешки, понятно, что фактические размеры этого мувика могут быть любыми

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

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

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


 


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


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