Как я изменяю существующие события AS3 так, чтобы я мог передать данные?

Вероятно, причина в том, что возвращаемый вами индекс Series не совпадает с индексом DataFrame. Когда вы пытаетесь присвоить значения с помощью Серии, панды будут пытаться выровнять индексы. Там, где они этого не делают, вместо этого будут вставлены значения NaN.

Если вы знаете подходящую форму, вы можете назначить значения напрямую, используя:

Resultado['PRECO'] = valorPrecoMaterial(Resultado).values

7
задан Joren 16 April 2009 в 22:39
поделиться

2 ответа

Вы расширили класс Event для его отправки с дополнительными данными, теперь, если вы хотите, чтобы класс Loader отправлял ваш пользовательский тип события, расширьте класс Loader, чтобы сделать это (или любой другой класс, с которым вы хотите сделать это). В этом примере я переопределю URLLoader с этой функциональностью (потому что Loader фактически отправляет события из своего contentLoaderInfo, которому нужны два переопределенных класса, и я просто хочу сделать его простым)


package com.net
{
    import flash.net.URLLoader;
    import flash.events.Event;

    import com.events.CustomEvent;

    public class CustomLoader extends URLLoader
    {
        // URLLoader already has a data property, so I used extraData
        public var extraData:*;

        override public function dispatchEvent(event: Event) : Boolean
        {
            var customEvent: CustomEvent = new CustomEvent(event.type, extraData, event.bubbles, event.cancelable);
            return super.dispatchEvent(customEvent);
        }
    }
}

Теперь, чтобы использовать это с вашим классом CustomEvent, попробуйте этот код в вашем .fla


import com.net.CustomLoader;
import com.events.CustomEvent;

var loader: CustomLoader = new CustomLoader();
loader.extraData = "Extra Data";
loader.load(new URLRequest("test.xml"));
loader.addEventListener(Event.COMPLETE, loadComplete);

function loadComplete(event: CustomEvent) : void
{
    trace(event.data); // Extra Data
}

BAM! Пользовательские данные о ваших изначально отправленных событиях!

4
ответ дан 7 December 2019 в 14:37
поделиться

Ниже показан самый чистый способ создания настраиваемого события. Как правило, типы событий имеют открытые статические ссылки, набранные всеми прописными буквами. Когда событие отправляется, оно передает объект Event или CustomEvent в метод обработчика события. Здесь вы можете получить переданное вами значение.

package com.hodgedev.events 
{
    import flash.events.Event;

    public class CustomEvent extends Event 
    {
        public static const VALUE_CHANGED:String = "VALUE_CHANGED";
        public var value:Number;

        public function CustomEvent(pValue:Number) 
        { 
            super(CustomEvent.VALUE_CHANGED);
            value = pValue;
        } 
        public override function clone():Event 
        { 
            return new CustomEvent(value);
        }
    }
}

Когда мы отправляем события, мы создаем новый экземпляр события, которое нужно передать как таковое.

private var _someValue:int = 12;
dispatchEvent(new CustomEvent(_somevalue));
0
ответ дан 7 December 2019 в 14:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: