Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Action script 2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=49)
-   -   КЛАССЫ КЛАССЫ КЛАССЫ КЛАССЫ КЛАССЫ (http://www.flasher.ru/forum/showthread.php?t=53202)

_1_Maxim 23.01.2004 23:19

Цитата:

Оригинал написал(а) llllllllll
class MyClass extends MovieClip

Делает то же самое, что и ...

myClass.prototype = new MovieClip() - для MX


От того, что ты уберешь строчку extends в твоем случае ничего не измениться :)

Не совсем. Наследования здесь нет. Здесь, скорее, расширение объекта MovieClip (extends).
Ведь создаешь ты сначала мувик(attachMovie), а не объект. А уже в нём конструируешь объект. Кто кого наследует...?
Кстати , если конструктор по умолчанию, то класс (подкласс мувика) создаётся автомотически.

Держись nuran!

P.S.
nuran, троя проблема в том, что ты подсознательно тянешся к прототипам, этому пережитку ранних версий Flash-а.

_1_Maxim 24.01.2004 09:58

Прошу прощение за две копии и за ошибки (синтаксические).

Только что нашёл ещё одно (косвенное) подтверждение, того что extends -не наследование в классическом смысле.

Теперь attachMovie-превращается в "настоящий" конструктор:

У него появились опциональные поля, в которых можно задать значения параметрам объекта класса, который, якобы,наследует MovieClip-у!

attachMovie(" I", " L", 10, {property:value},...);

property-не предопределённые свойства MovieClip, а свойства ассоциированного объекта!

Как это вам, адепты прототипов?

nuran
Не разрывай объект на свойства и методы.
Понятно, что в 3д моделировании необходима проекция виртуального 3д-пространства на экран (x,y,z->_x,_y). А этого без мувика не сделаешь. Поэтому естественно расширять MovieClip до квазивиртуального объекта с методами движения и проекции.

nuran 24.01.2004 15:05

А чего это вы 3d прилепили :D Я ж о нём, родимом, вроде даже словом не упоминал :)


В общем новый свой класс для рисования я сделал по такому принципу(кстати без extends MovieClip):

(пишу с налёта, примерно, за ошибки не бить)

class com.nuran.Draw
{
static function Circle(mc:MovieClip, x:Number, y:Number, r:Number)
{
//ну здесь функция рисования в клип mc
}
}

Вызывается всё это примерно так

Draw.Circle(_root, 0, 0, 200);

Но вопрос по прямому рисованию всё таки остаётся.

Кстати так не создаётся экземпляр, ЗАБОР ТЕБЕ ГОВОРЮ, эта проблема решил.

Кстати, что бы плеер не выдавал сообщения о невозможности импортирования внешнего класса при написании своего класса нужно перед словом "class" писать "встроенный(как это по английски - точно не помню)" на английском языке, только после его нужно удалить, когда вы закончите писать класс.

_1_Maxim 24.01.2004 15:57

На счёт 3д это так к слову-виртуальное пространство.

На счет рисования опять 25.
Ну вольному воля.
Когда перед тобой встанет вопрос оптимизации ты вспомни этот топик.

nuran 24.01.2004 16:06

Ты о чём именно?

iLoveYou 24.01.2004 16:39

Цитата:

Оригинал написал(а) _1_Maxim
Теперь attachMovie-превращается в "настоящий" конструктор:
У него появились опциональные поля, в которых можно задать значения параметрам объекта класса, который, якобы,наследует MovieClip-у!
attachMovie(" I", " L", 10, {property:value},...);
property-не предопределённые свойства MovieClip, а свойства ассоциированного объекта!
Как это вам, адепты прототипов?

*восторженный вздох*
ёмаё! каждый день -- новости. :)

nuran 24.01.2004 16:52

Да да, это сообщение меня убило наповал. ;)

_1_Maxim 25.01.2004 14:06

Ну для меня это было новостью!

Ну , а если для вас это не новость, то глубоко забытая новость.
Иначе о чём речь?

А может вы прочитали только первую часть предложения?
Я имел ввиду свойства класса, ассоциированного с MovieClip.

Ведь не может же прототип создавать объект класса, который ему наследует!(Это я забору).

Теперь посути.

Цитата:

Ты о чём именно?
Я именно о то что тебя ждёт. Когда ты окончательно запутаешся в кодах и повесишь комп.

llllllllll 26.01.2004 03:10

_1_Maxim, сам то понимаешь о чем говоришь? - я нет ;)

_1_Maxim 26.01.2004 08:59

Цитата:

_1_Maxim, сам то понимаешь о чем говоришь? - я нет
Я насчёт слепой любви к наследованию.

По-моему ты понимаешь о чём я. Тебе просто нужно время, чтобы придумать новую конструкцию extends в терминах прототипов.

Я думаю, что это бесполезно. Это, по-моему, оригинальная конструкция Macromedia. Очень полезная.


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

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