![]() |
|
||||||||||
|
|||||
|
Цитата:
|
|
|||||
|
Modus ponens
|
Цитата:
Вообще, если быть объективным, классы можно писать и в самом FLA. Ток это неудобно, и вообще, если вы только начинаете - то лучше так не делать, т.как когда будете уже продолжать - не будете делать так никогда %)
__________________
Hell is the possibility of sanity |
|
|||||
|
[+4 14.06.07]
Регистрация: Jun 2007
Сообщений: 24
|
Цитата:
wvxvw, не могли бы вы посмотреть мой код, очень хочется заставить его работать, это удобно, когда создается только один класс)
__________________
тема найдена в поиске |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
[+4 14.06.07]
Регистрация: Jun 2007
Сообщений: 24
|
__etc: совет абсолютно бессмысленный, и отвлекает от темы.
возможно terbooter имел ввиду под "хоть какой-нибудь книжкой по АС", что-то конкретное, и надеялся, что я попрошу уточнить, и тогда бы terbooter написал еще одно какой-нибудьсообщение. ![]() вот только то что я могу узнать в книжках, я узнаю в книжках, а если пытаюсь эксперементировать, то почему бы не обсудить на форуме?
__________________
тема найдена в поиске |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Страсть к подобным экспериментам сразу отпадет, если вы прочитаете хотя бы одну книгу по AS2.
|
|
|||||
|
[+4 14.06.07]
Регистрация: Jun 2007
Сообщений: 24
|
У некоторых после прочтения хотябы одной книги по AS2 отпадает желание вообще заниматься скриптами. Думаю и то и другое вопрос темпераментов.
Но давайте прекращать этот флуд, он отвлекает меня от книг ![]() wvxvw,, посмотрите код, вдруг сможете помочь советом ![]()
__________________
тема найдена в поиске |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Вам же ответили, в чем проблема. Классы описывают во внешних *.as файлах.
|
|
|||||
|
Modus ponens
|
_global.ABC = function(mc:MovieClip) {
this.__mc=mc;
};
// создали глобальную ф-цию, по сути класс
ABC.prototype.addProperty("x", function () {return this.__mc._x;}, function (n:Number) {this.__x = n;this.__mc._x = n;});
var _abc = new ABC(_root.createEmptyMovieClip("abc", 0));
_abc.x = 10;
ABC.prototype.__val = "Hi!";
ABC.prototype.getO = function() {
return this.__val;
};
ABC.prototype.setO = function(val:String) {
this.__val = val;
};
ABC.prototype.addProperty("_val", ABC.prototype.getO, ABC.prototype.setO);
ASSetPropFlags(ABC.prototype, "getO,setO", 7, 0); // защитили гет/сет от просмотра
ASSetPropFlags(ABC.prototype, "__val", 3, 0); // защитили переменную от удаления
delete _abc.__val; // пробуем удалить
for(i in _abc) trace(i+ " = "+_abc[i]); // пробуем просмотреть (гет/сет не видно)
trace(_abc._val); // пременная не удалилась
ВНИМАНИЕ! ТАК ДЕЛАТЬ НЕ НУЖНО! =) Это только если вам ну оооочень хочется создавать классы в духе шестерки и вы в принципе не согласны создавать класс-файлы. Атрибуты типа public, dinamic, private и static не могут быть использованы в FLA файле. Того же эффекта можно добиться, например используя ASSetPropFlags() (разрешить чтение\изменение свойства)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 09.11.2007 в 12:40. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|