AS3 Грешка 1067 (имплицитна принуда) при опит за addEventListener

Така че разработвам игра за сортиране за задръстване от игри и моите AS3 умения все още са малко нерафинирани.

Имам InputManager.as, който определя дали устройството е с възможност за докосване или не, и след това в класовете, които се нуждаят от него, грабвам тази информация.

Проблемът, който имам е:

C:\GameDev\Progressive Bytes\Dan\Scripts\Screens\Buttons.as, ред 55 1067: Неявна принуда на стойност от тип String към несвързан тип функция.

Ето къде е проблемът:

        if(InputManager.isTouch){
            this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler);
        } else {
            this.addEventListener(MouseEvent.MOUSE_OVER, over);
        }

Това е в конструктора на бутона.

Направих малко търсене наоколо, но изглежда не мога да намеря никакви отговори за 1067 на слушател на събития, които са свързани с този проблем. Но, както казах, нещо като нуб с AS3.

Благодаря!!


person DanTheMan    schedule 05.05.2013    source източник
comment
Можете ли да маркирате кой точно ред причинява грешката? Благодаря   -  person phisch    schedule 05.05.2013
comment
Схванах го. Оказва се, че addEventListener смята, че функцията over е низ, защото (въпреки че все още не съм го намерил), публична var over:String е декларирана някъде другаде. Току-що промених името на функцията на Over() и сега работи.   -  person DanTheMan    schedule 05.05.2013
comment
Конвенциите за именуване за манипулатори поддържат кода ясен, като например: onTouchBegin или touchBeginHandler и onMouseOver или mouseOverHandler.   -  person Jason Sturges    schedule 06.05.2013


Отговори (1)


Това е редът с грешката:

this.addEventListener(TouchEvent.TOUCH_BEGIN, TouchEventHandler);

Трябва да разберете, че първият параметър е низ с името на събитието, вторият параметър трябва да е функция и предавате препратка към клас.

Предполагам, че параметърът над в 4-ия ред е функция и ще работи добре за вас. Също така предполагам, че свойството TouchEvent.TOUCH_BEGIN е низ.

person Fabiano Luiz    schedule 05.05.2013