PDA

Просмотр полной версии : ТО ТАКОЕ - Movieclip.prototype ???


Techmaker
08.03.2003, 21:18
Movieclip.prototype
что значит мувиКлип.ПРОТОТИП ???
кто знает помогите плз.

DUDE
08.03.2003, 22:05
ты это откуда взял???я такого в helpe не нашёл...

Techmaker
09.03.2003, 00:11
вот из этого кода на первом фрейме первой сцены:
iterations=3
_root.object0.number=0
_root.object0.iterations=iterations
for(i=1; i<(iterations+1);i++){
duplicateMovieClip("object0","object"+i, i)
_root["object"+i].number=i
_root["object"+i].iterations=iterations
_root["object"+i].gotoAndStop(i+1)}
Movieclip.prototype. tan_load=function(){
boolean=0
mycol=new Color(this)
x=(2*Math.PI)*(number/iterations)}
Movieclip.prototype. tan_update=function(){
x-=(_parent.tracer._x-400)/7000
t=Math.tan(x)
_x=(t*140)+400
_xscale = Math.abs(t*20)+100
white=Math.abs(t*40);
if(this.hitTest(_root._xmouse,_root._ymouse,true)){invert()}else{
mycol.setTransform({ra:100,ga:100,ba:100,rb:white,gb:white,bb:white})
_visible=1
boolean=0}}
Movieclip.prototype .invert=function(){
boolean=!boolean
_visible=!_visible
ca=(boolean*200)-100
cb=255-(boolean*255)
mycol.setTransform({ra:ca,ga:ca,ba:ca,rb:cb,gb:cb,bb:cb})}
Movieclip.prototype .tracer=function(delay){
_x+=(_root._xmouse-_x)/delay
_y+=(_root._ymouse-_y)/delay}
без мувиклип.прототип не пашет...

Techmaker
09.03.2003, 11:02
пробовал "Movieclip.prototype. tan_load=function()" заменять на "function tan_load()" и все остальные так-же но ничего не выходит... :rolleyes:

sultan_M
09.03.2003, 12:01
2_Techmaker:

Зайди на Функции, Прототипы и прочие страшные звери флэшевого зоопарка. (http://www.flasher.ru/tutorial/viewtut.php?id=57) или нажми просто кнопку

http://www.flasher.ru/forum/sets/flasher/top_search.gif (http://www.flasher.ru/forum/search.php?) :)

sultan_M
09.03.2003, 12:22
2_Techmaker:

Тебя рекомендую прочитать докуметации об ООП (http://debreuil.flashmaster.ru/ch01_Intro.htm) .

Удачи :)

Techmaker
09.03.2003, 15:14
Спасибо sultan_M!
Спасибо! Уильям !! Брэдберри!!!

теперь я всё поял про эти прототипы (оказалось - это так просто!) :) :) :) Весь выше приведённый код - декодирован!!!
;)

Nox Noctis
10.03.2003, 13:24
Оригинал написал(а) DUDE
ты это откуда взял???я такого в helpe не нашёл... ыыы... какая изящная издевка :))

Techmaker
10.03.2003, 17:54
вот - на основе новых знаний изменил свой старый "прототип" курсорчика в более нормальный >>>ачайте наздоровие! :) >>>

llllllllll
10.03.2003, 22:24
MovieClip.prototype.cur=function(px,py){
q=.5// object speed
dx=px-_x
dy=py-_y
_x+=q*dx
_y+=q*dy
ym=_root._ymouse-_y;xm=_root._xmouse-_x
_rotation=((Math.atan2(ym, xm)*180)/Math.PI)
}


Сорри, но ты не хрена не понял =)

Nox Noctis
10.03.2003, 22:43
и правда нихрена :)

надо почитать каких-нить умных слов для начала... дебройль как раз кучу таких слов написал :)
http://www.debreuil.flashmaster.ru

Techmaker
11.03.2003, 18:50
почему??? - ведь всё работает ... :confused:
а на этой ссылке я не узнал ничего нового... кроме такой формы записи :
personA.favs = { site1:"flash.com", site2:"google.com" }
млин... или я глучу... или точно чего не понимаю... :(

llllllllll
11.03.2003, 19:15
Сделай кучу мувиков на сцене и обзови один mc:

MovieClip.prototype.setX = function(x){
_x = x; // !!!!!!!!!!!!!!!!!!
}
mc.onEnterFrame = function(){
this.setX(this.c++);
}

// CTRL +ENTER

а теперь вот так:

MovieClip.prototype.setX = function(x){
this._x = x; // !!!!!!!!!!!!!!!!!!
}
mc.onEnterFrame = function(){
this.setX(this.c++);
}

Techmaker
13.03.2003, 17:21
неужели "this" - так важен... ???

Nox Noctis
13.03.2003, 17:27
Techmaker, как насчет все-таки почитать ту ссылку ?
там даны основы ООП для флэша.

потому что мало того, что
а на этой ссылке я не узнал ничего нового...
так ты еще судя по всему не знаешь ничего старого :)
без обид, просто почитай.

iLoveYou
13.03.2003, 17:43
Оригинал написал(а) Techmaker

а на этой ссылке я не узнал ничего нового... кроме такой
Ну раз ты все знаешь, расскажи нам, а? Думаешь, много народа знают про мувиКлип.ПРОТОТИП? Вот Нокс стопудово не знает, и я не знаю, а про DUDE я вообще молчу - он только мануал и умеет листать. Ну расскажи, пожалуйста... Это очень всем нам нужно... Плииииз........... *плачет*

Techmaker
15.03.2003, 16:49
Ну раз ты все знаешь, расскажи нам, а? Думаешь, много народа знают про мувиКлип.ПРОТОТИП? Вот Нокс стопудово не знает, и я не знаю, а про DUDE я вообще молчу - он только мануал и умеет листать. Ну расскажи, пожалуйста... Это очень всем нам нужно... Плииииз........... *плачет*

а чего вам рассказать-то? :)
за шесть месяцев я узнал много чего (наверное...) (для шести месяцев) ... только по флэш пять...
>и у меня без "this" работает...
с хтмл я воооообще 1 месяц общаюсь...
если честно то я думаю что прототип можно использовать спокойно... и не рискуя...
>могу рассказать только то - что знаю млин! :rolleyes:

Techmaker
15.03.2003, 16:52
-я опираюсь только на своё математическое мышление... :rolleyes:

llllllllll
15.03.2003, 16:57
Как весна людей калечит =)))))))))

Techmaker
15.03.2003, 17:00
В cмысле?? :D

iLoveYou
15.03.2003, 17:03
Оригинал написал(а) Techmaker

а чего вам рассказать-то? :)
за шесть месяцев я узнал много чего (наверное...) (для шести месяцев) ... только по флэш пять...
>и у меня без "this" работает...
если честно то я думаю что прототип можно использовать спокойно... и не рискуя...

расскажи про мувиКлип.ПРОТОТИП - что такое и с чем его есть.

Techmaker
15.03.2003, 17:09
вверху
"Функции, Прототипы и прочие страшные звери флэшевого зоопарка. "
УильямБрэдберри - про это написал...

iLoveYou
15.03.2003, 17:26
Оригинал написал(а) Techmaker
вверху
"Функции, Прототипы и прочие страшные звери флэшевого зоопарка. "
УильямБрэдберри - про это написал...
ну что за гнилые отмазки?
какая разница, что написал Уилл. я ж тебя прошу нам объяснить.

llllllllll
15.03.2003, 17:28
Оригинал написал(а) Techmaker
вверху
"Функции, Прототипы и прочие страшные звери флэшевого зоопарка. "
УильямБрэдберри - про это написал...

Это кстати, тоже было не плохо обновить =))))

Techmaker
15.03.2003, 17:30
прототип - это значит что функция может запускатся любым количеством обьектов... и любое множество раз... вот и все её отличия от простой функции... - ничего сложного... :)

llllllllll
15.03.2003, 17:32
trace("Гы гЫ гЫЫ") тоже может запускаться откуда угодно, любым объектом и сколько угодно раз %))))

iLoveYou
15.03.2003, 17:38
стоп-стоп-стоп!
прототип - это значит что функция может запускатся любым количеством обьектов... и любое множество раз
в смысле? как объект запускает функцию: много раз? что-то я плохо понимаю.

llllllllll
15.03.2003, 17:39
кстати, ты думаешь trace(typeof(MovieClip.prototype)) - это функция? =))))

llllllllll
15.03.2003, 17:41
Шас пойдут жААААркие дЭбаты =) о терминах и определениях =))

Nox Noctis
15.03.2003, 17:44
информация к размышлению... :)

(комментировать сильно ломает - просто скопипастил код, который накатал когда-то разбираясь с новыми фичами МХ)
a = function () {
this.creator = this.constructor._property;
};
a._property = "A property";
a.prototype.property = "some property";
a.prototype.method = function() {
trace("a prototype method");
};
//
c = function () {
trace("c function");
};
a._method = c;
//
b = new a();
//
trace(chr(13)+">>> in a :: "+typeof (a));
for (i in a) {
trace(i+" :: "+typeof (a[i])+" :: "+a[i]);
}
trace(chr(13)+">>> in a.prototype :: "+typeof (a.prototype));
for (i in a.prototype) {
trace(i+" :: "+typeof (a.prototype[i])+" :: "+a.prototype[i]);
}
trace(chr(13)+">>> in b :: "+typeof (b));
for (i in b) {
trace(i+" :: "+typeof (b[i])+" :: "+b[i]);
}
trace(chr(13)+">>> in b.__proto__ :: "+typeof (b.__proto__));
for (i in b.__proto__) {
trace(i+" :: "+typeof (b.__proto__[i])+" :: "+b.__proto__[i]);
}
trace(chr(13)+">>> in b.constructor :: "+typeof (b.constructor));
for (i in b.constructor) {
trace(i+" :: "+typeof (b.constructor[i])+" :: "+b.constructor[i]);
}
trace(chr(13)+"b.__proto__ == a.prototype :: "+(b.__proto__ == a.prototype));
trace("b.constructor == a :: "+(b.constructor == a));


и никуда дебаты не пойдут :)
кому нужна эта теория... главное понять как оно работает =)

iLoveYou
15.03.2003, 17:52
Nox Noctis, llllllllll !
ну ёмаё! не отвлекайте, дайте человеку сосредоточиться! =)))
пусть человек расскажет про мувиКлип.ПРОТОТИП.
вы не знаете и не мешайте! =)))))))))

llllllllll
15.03.2003, 18:04
лана, я молчу, все равно сказать, что-то умное у меня никогда не получалось ... только вот мне кажется человек то сбежалС за подкреплением =)

iLoveYou
15.03.2003, 18:10
Оригинал написал(а) llllllllll
только вот мне кажется человек то сбежалС за подкреплением =)
когда вернется, вывалит нам, ламошникам, статью по ООП =)))))

Techmaker
15.03.2003, 18:24
я никуда не сбегал... я просто проблемку решаю... с прелоадерами глючу... :)
повторяю .. у меня флэш пятой версии...
"с новыми фичами МХ я несмоу разобратся ":D
ока размышлений - нет...
trace() - я пока не использовал... так что пока нечего сказать...

llllllllll
15.03.2003, 18:32
Оригинал написал(а) Techmaker
trace() - я пока не использовал... так что пока нечего сказать...

LoL =))))))))

Techmaker
15.03.2003, 18:41
вот - мой глюк:
в оф-лайн - работает
а в он-лайн - несовсем :D :D :D
http://www.ntswfbank.narod.ru/
:rolleyes:

iLoveYou
15.03.2003, 23:30
ну ёпрст!
я ж грил, llllllllll, что не нуно было его отвлекать. все - спугнул... а вот если б ты не смутил его своим trace("гыгыгы"), щас бы мы уже все знали про мувиКлип.ПРОТОТИП и сыпали поклоны Техмакеру. =))))))

2 Techmaker.
trace() - я пока не использовал...
супер! ты - бох. =)))

llllllllll
15.03.2003, 23:55
Оригинал написал(а) Sergey"iLoveYou"
ну ёпрст!
я ж грил, llllllllll, что не нуно было его отвлекать. все - спугнул...

2 Techmaker.

супер! ты - бох. =)))

Ладно хорошо, 2Techmaker: приношу извинения - спугнул =), глупость сказал, trace() не имеет отношения к мувиКлип.ПРОТОТИП =))), если честно - готов выслушать лекцию, по этому поводу ...

2Sergey"iLoveYou": я же сказал, больше не лезу с идиотскими репликами =))), и еще раз присоединяюсь к твоему желанию побольше узнать о диковенных зверЯх ФлешОгоГо зоопарка ...

Techmaker
16.03.2003, 12:17
Кто кого - спугнул... у меня со связью проблемы...
... ... ... ... лекции читать я не собираюсь...
что - вы про прототип не разу не слышали ... (хотябы в реальной жизни)
прототип - оружия (например в боевиках или в какой-нибудь игре... "fallout" - например...)
прототип - основа рода , первй , по которому создаются другие... :)

Techmaker
16.03.2003, 12:28
наконец-то я исправил свою ошибку ... в своём первом сайте... ура!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ато я уже заколебался....... :D
http://www.ntswfbank.narod.ru/

llllllllll
16.03.2003, 17:27
Оригинал написал(а) Techmaker
прототип - основа рода , первый , по которому создаются другие... :)

Ну вот к примеру основа рода =), конструктор =) по шаблону заложеному в нем создаются другие =)

function Prototype(name){
this.name = name;
this.serialNumber = ++this.constructor.counter;
}

children1 = new Prototype("Techmaker");
children2 = new Prototype("Techmaker2");
...
childrenN = new Prototype("TechmakerN")

=))

iLoveYou
16.03.2003, 19:10
2 Техмакер фу, какой ты вредный бох - ничего не захотел рассказать. а я так надеялся, слезы горькие лил на клаву. ничего не добился. :mad: ничего больше у тебя не спрошу, даже про trace().
2 llllllllll суупа! :)

УильямБрэдберри
17.03.2003, 20:14
Оригинал написал(а) llllllllll
кстати, ты думаешь trace(typeof(MovieClip.prototype)) - это функция? =))))

а что ж это по твоему?

зачем путаешь человеков?
навкладывал, паимаеш, вложений
:D :D :D

--------------------------------------
trace() - функция

typeof - оператор
в твоем примере выступает аргументом функции trace()

MovieClip.prototype - ссылка на класс.

llllllllll
17.03.2003, 20:39
Оригинал написал(а) УильямБрэдберри


а что ж это по твоему?

зачем путаешь человеков?
навкладывал, паимаеш, вложений
:D :D :D


что же это такое, даст ответ именно то самое вложение ...



Оригинал написал(а) УильямБрэдберри

MovieClip.prototype - ссылка на класс.


function Class(){};
Class.className = "Class";
linkToClass = Class;
instance = new linkToClass();
trace(instance.constructor.className);

linkToClass - вот это ссылка на класс ... =)))

УильямБрэдберри
17.03.2003, 22:29
Оригинал написал(а) llllllllll

что же это такое, даст ответ именно то самое вложение ...


о, блин
точно!

это ж не ссылка, это ж объект
:D :D :D

а вот prototype Это точно ссылка :D :D :D

llllllllll
18.03.2003, 00:23
Оригинал написал(а) УильямБрэдберри
а вот prototype Это точно ссылка :D :D :D

function Class1(){};
Class1.prototype.hello = "world";
function Class2(){};
Class2.prototype.world = "hello";

inst = new Class2();
inst.__proto__ = Class1.prototype;
trace(inst.world);
trace(inst.hello);
inst.__proto__ = Class2.prototype;
trace(inst.world);
trace(inst.hello);

protoype ?=)

Nox Noctis
18.03.2003, 00:55
короче все все поняли...
...ничего этого НЕТ !... есть только суслик и ложка :))

УильямБрэдберри
18.03.2003, 15:56
Оригинал написал(а) llllllllll


function Class1(){};
Class1.prototype.hello = "world";
function Class2(){};
Class2.prototype.world = "hello";

inst = new Class2();
inst.__proto__ = Class1.prototype;
trace(inst.world);
trace(inst.hello);
inst.__proto__ = Class2.prototype;
trace(inst.world);
trace(inst.hello);

protoype ?=)

function Class(){};
Class.className = "Class";
linkToClass = Class;
instance = new linkToClass();
trace(instance.constructor.className);

trace(typeof linkToClass.prototype);

опять объект... странно :D :D :D :D :D :D

а самое главное, что все сразу поумнели, ГЫ.

lexass
18.03.2003, 16:05
я все пропустил :(.
обЫдно

:D :D :D

Nox Noctis
18.03.2003, 16:11
это... а о чем вообще сей концептуальный спор ? :))

любое имя по которому можно обратиться к шаблону класса -
это ссылка на класс...

а уж задано это имя при создании самой функции-конструктора или уже после - какая нафиг разница ?

prototype - ссылка на шаблон
__proto__ - та же самая ссылка, так она называется в порожденных шаблоном объектах...

те же яйца только в профиль :)

llllllllll
18.03.2003, 16:12
Оригинал написал(а) lexass
я все пропустил :(.
обЫдно

:D :D :D


ЭЭЭ все тока начинается =)))))))), тока вот Techmakera нету =(

Techmaker
18.03.2003, 16:20
... дух течмейкера говорит:"я в он-лайне могу быть только с 18 до 21"... всем привет! :D

llllllllll
18.03.2003, 16:24
Оригинал написал(а) Nox Noctis
prototype - ссылка на шаблон


какая ссылка, на какой шаблон? =)

Techmaker
18.03.2003, 16:37
скажите - что даст нам trace() в практике - раз она функция...
или например можнлчи создать тот курсор с помощью неё??? :rolleyes:

Techmaker
18.03.2003, 16:59
2 Техмакер фу, какой ты вредный бох - ничего не захотел рассказать. а я так надеялся, слезы горькие лил на клаву. ничего не добился. ничего больше у тебя не спрошу, даже про trace().
2 llllllllll суупа!
насамом деле я не вредный, не злой, не жадный, просто я бываю оченя занят чтобы лекции читать ... да к тому же я в нете не очень часто бываю и не очень долго сижу...
просьба не обижатся!!! ;)
быть крутым не обязатеьно...
- чтобы знать многое надо иметь друзей и мозги! :) :rolleyes:

Nox Noctis
18.03.2003, 17:03
Оригинал написал(а) llllllllll
какая ссылка, на какой шаблон? =) ...а есть возражения ? :)

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

lexass
18.03.2003, 17:05
а причем тут у вас:
ссылки (в Шушенское чтоль)
шаблоны (может лекало)
и trace (ну вы блин даете, трЭйсеры)

;)

llllllllll
18.03.2003, 17:15
Оригинал написал(а) Nox Noctis
любое имя по которому можно обратиться к шаблону класса -
это ссылка на класс...
prototype - ссылка на шаблон


...а есть возражения ? :)

а что такое шаблон класса? =)

Techmaker
18.03.2003, 17:15
да раскажите мне про трейс зачем он нужен???
я лиш знаю только то - что он выводит информацию на окошке Output...
ну ещё может считать там сумму намример,...разность и всё такое...
а конкретно - зачем он??? :confused: :) :confused: :) :rolleyes:

Nox Noctis
18.03.2003, 17:22
Оригинал написал(а) llllllllll
а что такое шаблон класса? =) придираешься к терминологии ? :)

шаблон - это объект, в котором хранятся наследуемые свойства и методы.
при создании представителя класса в него помещается ссылка на шаблон...

...кому я это объясняю ? :)

llllllllll
18.03.2003, 17:31
Оригинал написал(а) Nox Noctis
придираешься к терминологии ? :)

шаблон - это объект, в котором хранятся наследуемые свойства и методы.
при создании представителя класса в него помещается ссылка на шаблон...

...кому я это объясняю ? :)

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

Nox Noctis
18.03.2003, 17:40
ну и придИрайся наздоровье :)
все уже поняли что ты самый умный :)

вопрос только в том какие слова в каком порядке произносить.

llllllllll
18.03.2003, 17:50
Оригинал написал(а) Nox Noctis
ну и придИрайся наздоровье :)
все уже поняли что ты самый умный :)

вопрос только в том какие слова в каком порядке произносить.

не я самый глупый =) - это еще ни кто не понял =))))

я просто суслика увидить хочу %)))))))

lexass
18.03.2003, 17:57
а вот и не подеретесь
а вот и не до крови :D :D :D :p

=======================
блин! горячие финские парни

llllllllll
18.03.2003, 21:57
ха =) я понял, что такое есть прототип =)))))))))

http://www.prototype.com.ua

john
19.03.2003, 14:00
Да, дяденьки, если бы я не понимал суть темы, то я бы точно запутался...

Развивать тему далее не буду.

Baltika
19.03.2003, 17:06
vo blin, dumal 4ego tolkovoe .... a tut ...
dazhe pro trace() ne raskazali :(

;)

llllllllll
19.03.2003, 18:11
Ну дык Techmaker не стал ничего расказывать =)

Можно для него сначала, с трэйса =)))))

ActionTrace

ActionTrace UI8 Action = 0x26

Sends a debugging output string.

It does the following:

1 Pops value off the stack.
2 In the Test Movie mode of the Macromedia Flash editor, it appends value to the output
window if the debugging level is not set to None.

In the Macromedia Flash Player, nothing happens.

llllllllll
19.03.2003, 18:23
вот тока Techmakerа вспомнил, а он тут как тут =)))))))))

Neo_176060570
19.03.2003, 21:37
Это из флэшевского хэлпа:
Creating inheritance

Inheritance is a means of organizing, extending, and reusing functionality. Subclasses inherit properties and methods from superclasses and add their own specialized properties and methods. For example, reflecting the real world, Bike would be a superclass and MountainBike and Tricycle would be subclasses of the superclass. Both subclasses contain, or inherit, the methods and properties of the superclass (for example, wheels). Each subclass also has its own properties and methods that extend the superclass (for example, the MountainBike subclass would have a gears property). You can use the elements prototype and __proto__ to create inheritance in ActionScript.

All constructor functions have a prototype property that is created automatically when the function is defined. The prototype property indicates the default property values for objects created with that function. You can use the prototype property to assign properties and methods to a class. (For more information, see Assigning methods to a custom object.)

All instances of a class have a __proto__ property that tells you what object they inherit from. When you use a constructor function to create a new object, the __proto__ property is set to refer to the prototype property of its constructor function.

Inheritance proceeds according to a definite hierarchy. When you call an object's property or method, ActionScript looks at the object to see if such an element exists. If it doesn't exist, ActionScript looks at the object's __proto__ property for the information (myObject.__proto__). If the property is not a property of the object's __proto__ object, ActionScript looks at myObject.__proto__.__proto__, and so on.

The following example defines the constructor function Bike:

function Bike (length, color) {
this.length = length;
this.color = color;
}
The following code adds the roll method to the Bike class:

Bike.prototype.roll = function() {this._x = _x + 20;};
Instead of adding a roll method to the MountainBike class and the Tricycle class, you can create the MountainBike class with Bike as its superclass:

MountainBike.prototype = new Bike();
Now you can call the roll method of MountainBike, as in the following:

MountainBike.roll();
Movie clips do not inherit from each other. To create inheritance with movie clips, you can use the Object.registerClass method to assign a class other than the MovieClip class to movie clips. See Object.registerClass in the ActionScript Dictionary.

For more information on inheritance, see Object.__proto__, #initclip, #endinitclip, and super in the ActionScript Dictionary.

Может кто-нить че-нить поймет... :)

Nox Noctis
20.03.2003, 01:32
вот спасибо.... не дал неам пропасть :))

fiot
14.07.2003, 22:50
ребя так узнать при загрузке для всех MC _х _у и сохранить в отдельный параметр каждого MC ???
по типу
MovieClip.prototype.fx = function () {return this._x};
MovieClip.prototype.fx - сделать readOnly ???

Techmaker
15.07.2003, 18:21
неверю что топ проснулся :)
поиск его разбудил :p
ребя так узнать при загрузке для всех MC _х _у и сохранить в отдельный параметр каждого MC ???
чё-то ничего непонял, чего загрузки чего узнать, что такое "ребя"
MovieClip.prototype.fx - сделать readOnly ???
как понять "readOnly"
:)

Пушистик
15.07.2003, 19:11
вот так:

MovieClip.prototype.onEnterFrame = function() {
savex = this._x;
savey = this._y;
result = "Координаты клипа " +this._name+ "x:"+savex+" y:"+savey;
return trace(result);
};

но я не проверял:)

Techmaker
15.07.2003, 19:20
MovieClip.prototype.onEnterFrame = function() {
savex = this._x;
savey = this._y;
result = "Координаты клипа " +this._name+ "x:"+savex+" y:"+savey;
return trace(result);
};

2Пушистик
ентер фрейм покроет его аутпут бесконечными значеним :)
лучше либо onData либо onLoad

Techmaker
15.07.2003, 19:27
for(mc in _root){with(_root[mc]){
savex=_x;
savey= this._y;
result = "координаты клипа " +this._name+ "x:"+savex+" y:"+savey;
trace(result);
}
}

или лучше так :)

Techmaker
15.07.2003, 19:29
for(mc in _root){with(_root[mc]){
savex=_x;
savey= _y;
result = "Êîîðäèíàòû êëèïà " +_name+ " x:"+savex+" y:"+savey;
trace(result);
}
}
:) сорри

llllllllll
15.07.2003, 19:52
MovieClip.prototype.onEnterFrame = function() {
trace(this + " --> x: "+ this._x + " y: " + this._y);
if(this == _level0) MovieClip.prototype.onEnterFrame = null;
}

Вот так? :)

fiot
16.07.2003, 01:52
llllllllll
а как реализовать такое же только через
MovieClip.prototype.addProperty("load_x",getLoad_x, null); ???
что писать в getLoad_x = function (){...} ???
если onEnterFrame уже занят...
ЗЫ.
getLoad_x = function () {
x = this._x;
return x;
};
как сделать так что бы этот параметр не аптейтился, т.е. просто reaonly ???

fiot
16.07.2003, 11:15
var n = 7;
MovieClip.prototype.x = function() {
if (this._x != 0 ) $x = this._x;
ASSetPropFlags(this, ["$x"], n);
return $x;
};
MovieClip.prototype.y = function() {
if (this._y != 0 ) $y = this._y;
ASSetPropFlags(this, ["$y"], n);
return $y;
};
ASSetPropFlags(MovieClip.prototype, ["x", "y"], n);
MovieClip.prototype.useHandCursor = 0;
MovieClip.prototype.onRollOver = function() {
if (this.hitTest(_root._xmouse, _root._ymouse, 1)) {
trace(this._name+"| x:"+this.x()+" | y:"+this.y());
this._x += 10;
}
};

как сделать для всех мс разные значения ??? оно сохраняет только одно...

llllllllll
16.07.2003, 14:40
Я не понимаю что ты хочешь сделать :), не нада хард кодинга :), зачем тебе ASSetPropFlags?, можно объяснить простыми словами?, причем русскими :)

Да и чего там на счет занятости того или иного хандлера? ты вешаешь что-то на MovieClip.ПРОТОТИП? =)

mc1.onEnterFrame = function(){
trace("ooo!!!");
}
MovieClip.prototype.onEnterFrame = function() {
trace(this + " --> x: "+ this._x + " y: " + this._y);
if(this == _level0) MovieClip.prototype.onEnterFrame = null;
}

Естественно это не без недостатков да и не есть решение, а лишь пример, но enterFrame у "mc1" никуда не денется :) и тем более по барабану тому, что написано на onClipEvent(enterFrame) :)

fiot
16.07.2003, 15:30
llllllllll
зачем я это делаю ...
смотри attach
ASSetPropFlags - закоментарь, увидишь...

Пушистик
16.07.2003, 16:10
а я подумал что надо все время отслеживать, поэтому OnEnterFrame!
я исходник посмрел....хммм....и зачем там те координаты!

fiot
16.07.2003, 16:13
forceX = (forceX+(this.x-this._x)/2)/1.66;
forceY = (forceY+(this.y-this._y)/2)/1.66;
this.x & this.y - это начальные координаты обэекта... вот их и нужно получить ... и сделат readOnly

llllllllll
16.07.2003, 16:34
Значится так :)

MovieClip.prototype.addProperty("x",function () {
this.$x = this._x;
ASSetPropFlags(this, ["$x"], 6,1);
return this.$x
},null ); - это чтоб для каждого :)


Это чтоб без того что здесь не нужно ...

MovieClip.prototype.addProperty("y", function () {
if(this.$y == undefined) this.$y = this._y;
return this.$y
}, null);

, а можно и так ...

MovieClip.prototype.getY = function(){
if(this.$y == undefined) this.$y = this._y;
return this.$y;
}

... да и для OnRollOver - HitTest - особо не нужен :)

fiot
17.07.2003, 01:07
llllllllll
вот ёлки... а прото this забыл...
про тест хит - это я прогнал...
ЗЫ. спасибо :) :) :)

fiot
17.07.2003, 02:49
MovieClip.prototype.onEnterFrame = function() {
this.distanceX = _root._xmouse - this._x;
this.distanceY = _root._ymouse - this._y;
this.distance = Math.sqrt(this.distanceX*this.distanceX+this.distanceY*this.distanceY);
this.powerX = this._x-this.distanceX/this.distance*magnet/this.distance;
this.powerY = this._y-this.distanceY/this.distance*magnet/this.distance;
this.forceX = (this.forceX+(this.x-this._x)/2)/1.66;
this.forceY = (this.forceY+(this.y-this._y)/2)/1.66;
ASSetPropFlags(this, ["distanceX","distanceY","distance","powerX","powerY","forceX","forceY"], 1, 1);
this._x = this.powerX + this.forceX;
this._y = this.powerY + this.forceY;
};

можно ли как-то эту штуку оптимизировать ???
если можно то как ???

Пушистик
17.07.2003, 09:05
а что этот код должен делать????

Пушистик
17.07.2003, 09:16
вот так может быть:


MovieClip.prototype.onEnterFrame = function() {
this.distanceX = _root._xmouse-this._x;
this.distanceY = _root._ymouse-this._y;
this.distance = Math.sqrt(Math.pow(this.distanceX, 2)+Math.pow(this.distanceY, 2));
this.powerX = this._x-this.distanceX/this.distance;
this.powerY = this._y-this.distanceY/this.distance;
this.forceX = (this.forceX+(this.x-this._x)/2)/1.66;
this.forceY = (this.forceY+(this.y-this._y)/2)/1.66;
this._x = this.powerX+this.forceX;
this._y = this.powerY+this.forceY;
};