![]() |
Передача параметров через кастом событие
Само событие выглядит так:
Код AS3:
Отлавливаю addEventListener(event:Event); trace(event.total); Пишет: 1119: Access of possibly undefined property total through a reference with static type flash.events:Event. Корень проблемы ясен - приходит-то Event, а не мой кастом ивент(если вписать мое кастом событие тож ругается), но не доходит как реализовать и слышал, что есть решение. Какое? |
addEventListener(event:Event) -- что это такое?
Цитата:
|
Да, кстати, target и currentTarget учитываю, просто это не по-джедайски.
Добавлено через 4 минуты Конечно: Код AS3:
|
Я что-то вобще не пойму Ваш класс пользовательского события.
Мы начинаем с чего при создании пользовательского события? 1. Расширяем класс Event (это Вы успешно выполнили) 2. Затем создаем статическую переменную в описании класса, в которую записываем строковое имя нашего пользовательского события (это Вы тоже сделали) 3. В метод конструктор, в качестве параметров передаем имя события, указываем является ли оно всплывающим, обладает ли стандартным поведением, и свои дополнительные параметры. 4. Далее в метод конструктор суперкласса, коим в данном случае является расширяемый нами класс Event, мы должны передать параметры метода конструктора нашего класса (опуская свои дополнительные параметры) - тут у Вас не понятно что передается и откуда берется. 5.Перекрытие метода toString - сплошная загадка его реализация в Вашем коде. 6. Где обязательное перекрытие метода clone ??? в общем код пользовательского события - нечитаем и достаточно удивителен. p.s. но не удивительно, то, что ничего не работает! |
>>Отлавливаю addEventListener(event:Event);
тебе нужно слушать SmartLoaderEvent, у которого есть эти total и current, а не Event, у которого их нет, о чем компилятор и сообщает |
Цитата:
Цитата:
Цитата:
Добавлено через 57 минут Кто уже решил эту проблему направьте на путь истиный. |
Цитата:
Код AS3:
|
SunShadow, спасибо!
Решили с коллегой этот вопрос. Оказуется кастом ивенту нужно обязательно создать функцию clone ибо событие приходит в виде клона кастома ивента. Соответственно, клон должен помнить параметры нашего ивента. Вот рабочий класс кастом ивента: Код AS3:
Код AS3:
Код AS3:
|
Как приятно, что автор ветки не ограничился "Всем спасибо, проблема решена" а привел рабочий код!
Помогло, спасибо :) |
| Часовой пояс GMT +4, время: 07:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.