![]() |
|
||||||||||
|
|||||
|
[+1.3 15.11.06]
[+1 12.01.07] |
положым есть у нас есть класс
class MyC{
var mc:MovieClip;
var _name:String;
//и что-нибудь еще
function MyC(nam){
this._name = nam;
}
function nCl(type,depth){
var cl = _root.attachMovie("ClMC","cl"+tdepth,tdepth);
var butt = cl.createClassObject("Button","butt",100);
if type=="sqrt"{
butt.onRelease = function{
this.caption = "sqrt";
//?здесь сослаться на функцию drawsqrt(this._parent,this._x,this._y,...);
}
else{
butt.onRelease = function{
this.caption = "line";
//?здесь сослаться на функцию drawline(this._parent,this._x,this._y,...);
}
return cl;
}
function drawsqrt(mc:MovieClip,x,y,h,w){
with(mc){
clear();
lineStyle(2, 0x000000, 100); moveTo(x-15, y+int(h/2)); lineTo(x-10, y+int(h/2)); lineTo(x-5, y+h); lineTo(x, y-5); lineTo(x+w, y-5);
}
}
function drawline(mc:MovieClip,x,y,h,w){
wirh(mc){
clear();
moveTo(x,y+h); lineTo(y+h,x+w);
}
}
}
или если в корне не прав, предложите иной подход, заранее благодарен |
|
|||||
|
До конца не понял вопрос. Ты хочешь в классе вызвать определённую функцию?
|
|
|||||
|
[+1.3 15.11.06]
[+1 12.01.07] |
ну типа того, у класса функции что то рисующие муве(итих мувов будет много), есть метод создающий мув, на этом муве расположена к примеру кнопочка, и в зависимости от того, с каким параметром "type" был создан мув, при нажатии на нее(кнопочку), должна вызываться некоторая функция(она же и метод класса) в примере drawsqrt или drawline
|
|
|||||
|
[+1.3 15.11.06]
[+1 12.01.07] |
народ, реально, ай ниид хелп, практическую часть диплома на PHP почти сделал, а вот то что касается Flash - тормозю жутко, или подскажить толковую книгу по AS(не для начинающих) которые есть у меня, там все пространственно...
и при создании нестандартных приложений от них мало толку P.S (хотя можно выдвинуть и другое предположение что дело не в книгах, а в том кто их читает, но это будет уже иное предположение) |
|
|||||
|
[+1.3 15.11.06]
[+1 12.01.07] |
не меня наверно реально приперет биться головой о стену, кричать что не знаю как это написать - спрашивать народ, а через пару часов самому найти решение.
если кому требо вот как решил я проблему такого вызова функций: все эти вызываемые функции я поместил в отдельный класс, и когда нужно вызвать одну из них создаю экземпляр этого класса и обращаюсь к соотв. методу. да походу вопрос: Господа Гуру Флеша, какой код будет производительнее - написанный при помощи классов или аналогичный, реализованный в функциях, насколько знаю в php последний работает шустрей, а как в AS? |
|
|||||
|
Регистрация: Feb 2001
Сообщений: 152
|
Ну я не гуру, могу и ошибаться...
На текуший момент флэшплэеры не поддерживают полноценные ООП, и поэтой причине все навороты с классами, являются надстройками. Т.е. при компиляции FLA->SWF классы преобразуются в обычные процедурные инструкции. При этом возможно порождение мусорного кода... который в принципе способен вызывать торможения. НО на мой взгляд при БОЛЬШИНСТВЕ решаемых флэшерами задач, это торможение является ПРИНЕБРЕЖИМО МАЛЫМ. И кстати говоря не следует забывать о вот еще каком моменте: при компиляции ООП в процедурные байт-коды, используется алгоритм созданный разработчиками, т.е. людьми ГИПОТЕТИЧЕСКИ ЗНАЮЩИМИ, как флэш устроен "изнутри", и потому способными использовать наиболее быстродействующие приемы. Дабы достичь аналогичного эффекта самостоятельно следует быть не просто ГУРУ, а ГУРУ ПО ОПТИМИЗАЦИИ БЫСТРОДЕЙСТВИЯ. Кстати в большинстве задач перед разработчиком не стоит задачу сделать ШУСТРУЮ программу, перед ним стоит задача ШУСТРО сделать программу. Многие вещи работают быстрее если их написать на ассемблере, но на ассемблере сегодня пишет все меньше и меньше народа ибо процесс трудое$кий...
__________________
PITer |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:25. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|