![]() |
|
||||||||||
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Навеяло соседней темой про AsBroadcaster.
AsBroadcaster и ASSetPropFlags хорошо известны и описаны. А вот до остального как-то не добрался еще, типа: Интересно, что и для чего? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
ASnative позволяет добраться до встроенных методов, через числовые индексы (список в аттаче). Удобен тем, что можно подменить какой нибудь метод на свой, а оригинальный метод вызвать через ASnative. Пример с setInterval
ASSetNative - ассоциирует строковое имя с числовым индексом метода. В примере заменяем создание нового клипа с createEmptyMovieClip на newClip. А чуть ниже далее вызваем его же через индексы. При этом, оригинальное название остается! var o = MovieClip.prototype;
ASSetNative (o, 901, "6newClip,6beginFill,6beginGradientFill,6moveTo,6lineTo,6curveTo,6lineStyle,6endFill,6clear,8lineGradientStyle,8beginMeshFill,8beginBitmapFill");
trace (this.newClip ("mc", 0)); //_level0.mc
trace (ASnative (901, 0).apply (this, ["mc1", 1])); //_level0.mc1
trace (this.createEmptyMovieClip ("mc2", 2)); //_level0.mc2
ASSetNativeAccessor - связывает индекс геттера с строкововым именем. mc.blendMode = 3; mc._lockroot = true; trace (mc.blendMode); //multiply trace (mc._lockroot); //true //// var o = MovieClip.prototype; ASSetNativeAccessor (o, 900, "_lockroot", 500); ASSetNativeAccessor (o, 900, "8blendMode", 300); //// trace (mc.blendMode); //true trace (mc._lockroot); //multiply ASconstructor - аналог ASnative, только для конструктора. Например для Date XYZ = ASconstructor (103, 256); trace (ASconstructor (103, 256) ()); //Mon Jul 21 14:33:11 GMT+0400 2008 trace (XYZ ()); //Mon Jul 21 14:33:11 GMT+0400 2008 ASSetupError - ошибка )Код инициализации такой function AsSetupError (s) {
var _a = s.split (",");
var _b = 0;
while (_b < _a.length) {
var _c = _a[_b];
var _d = function (m) {
this.message = m;
};
var _e = new Error ();
_d.prototype = _e;
_e.name = _c;
_e.message = _c;
++_b;
}
}
Последний раз редактировалось iNils; 04.06.2009 в 21:13. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
iNils, моё уважение!
Буду мучить ASnative теперь ![]() crazyone, ASSetPropFlags Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:26. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| ASconstructor , ASnative , ASSetNative , ASSetNativeAccessor , ASSetupError |
|
|