![]() |
|
||||||||||
|
|||||
|
В classе не могу вызвать метод, который находится в этом-же classе,
но в другом методе. метод(mMini) в методе(mClose). Почему? package { //Класс используется для создания окон. import flash.display.*; import flash.events.*; public class Windows extends MovieClip { //Обьявления переменных. var cClTrOrFal:ClickTrueOrFalse = new ClickTrueOrFalse ; private var _mcNew0:MovieClip = new MovieClip ; private var _mcNew2:MovieClip = new MovieClip ; private var _mcNew1:mcNew = new mcNew ; private var _mcMini:mcMini = new mcMini ; private var _mcClose:mcClose = new mcClose ; private var _btrue:Boolean = true; private var _gx = 150; private var _gy = 50; private var _bMini:Boolean; private var _bClose:Boolean; //Конструктор. public function Windows():void { mCordinat(_gx,_gy); addChild(mcNew0); mcNew0.addChild(_mcNew1); mcNew2.x = 0; mcNew2.y = _mcNew1.height; mcNew0.addChild(mcNew2); _mcNew1.addEventListener(MouseEvent.MOUSE_DOWN,mTrue); _mcNew1.addEventListener(MouseEvent.MOUSE_UP,mFalse); _mcNew1["_mcMini"].addEventListener(MouseEvent.MOUSE_UP,mMini); _mcNew1["_mcClose"].addEventListener(MouseEvent.MOUSE_UP,mClose); addEventListener(MouseEvent.MOUSE_MOVE,mCursorFollow); } protected function get mcNew0():MovieClip { return _mcNew0; } protected function get mcNew2():MovieClip { return _mcNew2; } private function mCordinat(fx:Number,fy:Number):void { _mcNew0.x = fx; _mcNew0.y = fy; } private function mTrue(event:Boolean):void { if (! _mcNew1["_mcMini"].hitTestPoint(mouseX,mouseY)) { mcNew0.startDrag(); } } private function mFalse(event:Boolean):void { mcNew0.stopDrag(); } private function mCursorFollow(event:MouseEvent):void { event.updateAfterEvent(); } //Не могу, вызвать метод mMini в методе mClose. private function mMini(event:MouseEvent):void { _bMini = cClTrOrFal.fTrueOrFalse(_mcNew1["_mcMini"],_bMini); if (_bMini) { mcNew0.removeChild(mcNew2); } else { mcNew0.addChild(mcNew2); } } private function mClose(event:MouseEvent):void { _bClose = cClTrOrFal.fTrueOrFalse(_mcNew1["_mcClose"],_bClose); if (_bClose) { trace("xsdcsf"); //Здесь вызвать метод mMini. mMini(null); } else { } } } } Исправил форматирование.
__________________
Книги и желание лучшие учителя. Последний раз редактировалось Vektor; 27.04.2009 в 18:33. |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
код отформатирован просто жутко
![]() при вызове методов используют () и передают туда параметры, ваш метод: значит и вызывать вы его должны: к тому же вы пытаетесь обратится к приватной функции, да еще из клипа, у которого и функции то такой, судя по всему, нет ![]() Последний раз редактировалось litebox; 27.04.2009 в 18:29. |
|
|||||
|
Пробовал так.
mMini(null); Нет, ошибки но нечего не происходит. Пробовал так. mMini(); 1136: Incorrect number of arguments. Expected 1. Всё, я понял где ошибка. litebox:Спасибо, за помощь.
__________________
Книги и желание лучшие учителя. Последний раз редактировалось Vektor; 27.04.2009 в 18:39. |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
1136: Incorrect number of arguments. Expected 1 - верный знак того, что функция вызывается и говорит, что ожидалось получить 1 аргумент. Значит вызывайте первый вариант mMini(null); и разбирайтесь в логике того, что происходит в самой функции
|
|
|||||
|
Единственный (!) способ которым можно обратиться к приватной функции это
У вас трудно даже понять что вы хотели: Но если даже в классе mcNew существует публичное свойство _mcMini, которое реализует интерфейс с методом mMini, то эта функция не имеет абсолютно ничего общего (кроме названия) с приватной функцией которая описана в цитируемом классе. Рекомендую не использовать подчеркивания и обзывать переменные и методы так, чтобы это было целое английское слово и словосочетание.
__________________
Сам себе репортер |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|