Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Flex and ActionScript Event (http://www.flasher.ru/forum/showthread.php?t=154104)

lnghost 12.04.2011 19:58

Flex and ActionScript Event
 
Имеется такой вопрос.
Только начал изучать флеш (задача - последующая разработка), все не знал, с какой стороны подойти. Решил взять Flex с ActionScript 3.0.
Сразу же наткнулся на проблему, и особо ничего не нагуглил.

Код AS3:

package MyControls
{
        import fl.controls.Button;
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
 
        public class Panel {
                public function bClick(e:MouseEvent):void {
 
                }
        }
}

Код:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                          xmlns:s="library://ns.adobe.com/flex/spark"
                          xmlns:mx="library://ns.adobe.com/flex/mx"
                          xmlns:my="MyControls.*">
        <s:Panel title="MyApplication">
                <s:Button click="Panel.bClick();" id="bButton" label="123" />
        </s:Panel>
       
       
</s:Application>

Вроде бы задумка такая, что при клике на кнопку должно выполниться MyControls.Panel.bClick().
Но получаю ошибку:
Error: Call to a possibly undefined method bClick through a reference with static type Class.

Почему метод неизвестен?

wvxvw 14.04.2011 00:15

Если вы пишете
Код:

ИмяКласса.имяМетода()
- то имеется в виду статический метод, если вы пишете
Код:

var имяПеременной:ИмяКласса = new ИмяКласса();
имяПеременной.имяМетода();

то имеется в виду метод объекта.
Когда вы используете шаблоны MXML то имя переменной - это аттрибут id. Т.о.
Код:

<ИмяКласса id="имяПеременной"/>
<s:Button click="имяПеременной.имяМетода();"/>

аналогично приведенному выше АС коду.


Часовой пояс GMT +4, время: 03:33.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.