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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.11.2006, 05:08
Webas вне форума Посмотреть профиль Отправить личное сообщение для Webas Найти все сообщения от Webas
  № 1  
Ответить с цитированием
Webas
[+ 1.11 19.12.2005]
[+ 1.11 6.04.2006]
 
Аватар для Webas

Регистрация: Nov 2003
Сообщений: 133
Отправить сообщение для Webas с помощью ICQ
По умолчанию ОПП доступ к...

Разбираюсь с ОПП AS 2.0 и наткнулся на следущую проблему:
Что делаю...
На сцене есть муви клип А(clipA), в котором есть клипы В(clipB) и С(clipC):
Код:
_root.createEmptyMovieClip("clipA", _root.getNextHighestDepth());
_root.clipA.createEmptyMovieClip("clipB", _root.clipA.getNextHighestDepth());
_root.clipA.createEmptyMovieClip("clipC", _root.clipA.getNextHighestDepth());
Теперь хочу прикрепить класс myClass к А(clipA):
Код:
_root.clipA = new myClass();
В классе хочу получить доступ к B(clipB) и C(clipC) чтоб, к примеру, повесить на них onRelease:
Код:
class myClass {
	function myClass() {
		this.clipB.onRelease = function():Void  {
			trace("B Released");
		};
		this.clipC.onRelease = function():Void  {
			trace("C Released");
		};
	}
}
пытаюсь сделать так но флэш ругается...
Как это сделать грамотно? как вообще обращаться к клипам внутри A(clipA) из класса?

Старый 21.11.2006, 11:42
Бармалей вне форума Посмотреть профиль Отправить личное сообщение для Бармалей Посетить домашнюю страницу Бармалей Найти все сообщения от Бармалей
  № 2  
Ответить с цитированием
Бармалей
 
Аватар для Бармалей

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 784
Отправить сообщение для Бармалей с помощью ICQ
Цитата:
Сообщение от Webas
пытаюсь сделать так но флэш ругается...
Неудивительно. Более безграмотного кода я еще не встречал. Жуткая мешанина ссылок на рут и подобия на AS2 классы.
Цитата:
Сообщение от Webas
Как это сделать грамотно? как вообще обращаться к клипам внутри A(clipA) из класса?
Прочитать "Основы ActionScript 2.0" Колина Мука.
__________________
Garbage Collector || AIR (Apollo) Docs

Старый 21.11.2006, 14:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Бармалей, это AS1, который запихнули в класс

Webas, если уж ООП, то ссылки на _root вообще не должно быть (в идеале, конечно). Мувиклипы через конструктор не создаются.

Что делать? Купить пару толстых книжек по AS2.

Старый 21.11.2006, 15:04
Webas вне форума Посмотреть профиль Отправить личное сообщение для Webas Найти все сообщения от Webas
  № 4  
Ответить с цитированием
Webas
[+ 1.11 19.12.2005]
[+ 1.11 6.04.2006]
 
Аватар для Webas

Регистрация: Nov 2003
Сообщений: 133
Отправить сообщение для Webas с помощью ICQ
Ребят, я в курсе что у мя тут через зопу написано, именно поэтому я и спаршиваю... и пишу "Как это сделать грамотно?" чтоб понять что к чему... А вам нибось лиш бы поупустить кого чтоль??!?!
Если можете то напишите как это все реализовать правильно в стиле AS2 ООП...

Старый 21.11.2006, 15:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Код:
import mx.utils.Delegate;
import AClass;
import BClass;

class MyClass extends MovieClip {
    private var clipA:AClass;
    private var clipB:BClass;
    private function MyClass() {
        super();
        this.clipA = AClass(this.attachMovie('clipA','clipA',0));
        this.clipB = BClass(this.attachMovie('clipB','clipB',1));
        this.clipA.onRelease = Delegate.create(this,this.releaseHandlerA);
        this.clipB.onRelease = Delegate.create(this,this.releaseHandlerB);
    }
    private function releaseHandlerA():Void {
        trace('ClipA released');
    }
    private function releaseHandlerB():Void {
        trace('ClipB released');
    }
}
Естесственно, не забыть прописать linkage и класс MyClass для мувика в либе.
Дальше разбирайся сам.

Старый 21.11.2006, 23:37
ASp вне форума Посмотреть профиль Отправить личное сообщение для ASp Найти все сообщения от ASp
  № 6  
Ответить с цитированием
ASp

Регистрация: Oct 2006
Сообщений: 8
__etc, а зачем super()? Сам же писал, что MC не создаются через конструктор. Вообщем, Webas, читай книги по ООП, хотя бы того же К. Мука.


Последний раз редактировалось ASp; 22.11.2006 в 13:56.
Старый 21.11.2006, 23:52
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
ASp, прежде чем советовать, потрудитесь сами ее прочитать, а не нести чушь. Слышал звон, а не знаешь, где он. (русская народная пословица)

Старый 22.11.2006, 02:21
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 8  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Код:
_root.createEmptyMovieClip ("a", 1)
_root.a.createEmptyMovieClip ("b" , 1)
var mc:MovieClip = _root.a.b;
mc._alpha = 40

trace (mc._alpha)
при трасивоки показывает "39.84375" )), эт значит что по этому адрессу он находит нужный МС.
__________________
Free-lance | Twitter | Me


Последний раз редактировалось iNils; 22.11.2006 в 02:46.
Старый 22.11.2006, 04:15
Webas вне форума Посмотреть профиль Отправить личное сообщение для Webas Найти все сообщения от Webas
  № 9  
Ответить с цитированием
Webas
[+ 1.11 19.12.2005]
[+ 1.11 6.04.2006]
 
Аватар для Webas

Регистрация: Nov 2003
Сообщений: 133
Отправить сообщение для Webas с помощью ICQ
Прошарил седня все магазы, ничегошеньки(( Нет, этой книги.
По инету заказывать дык ее на складах нет, тираж то всего 2000 экз., а сколько флэшеров развелось)) Может знает где мона найти ... или пришлет по почте, ОБЯЗАЮСЬ вернуть после усердного изучения!


Последний раз редактировалось iNils; 22.11.2006 в 07:18.
Старый 22.11.2006, 06:50
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 10  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
http://www.books.ru/shop/books/188476
http://www.books.ru/shop/books/390545
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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