Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2011, 20:41
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 1  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
По умолчанию Не проходит dispatchEvent

Функция recordParser вызывается в процессе, работает, должна вызвать dispatchEvent и передать его в ControllerPenguin. Но этого не происходит.
Код AS3:
package {
	import flash.events.Event;
	import flash.events.EventDispatcher;
 
	public class Model5pinguin extends EventDispatcher {
 
 
		public static const INPUT_RECORD:String = "inputRec";
 
		public function Model5pinguin() {
 
		}
		public function recordParser(recordNew : int, textName : String) : void {			
			trace ("newRecord ");
			this.dispatchEvent(new Event(Model5pinguin.INPUT_RECORD));
		}
	}
}
 
package {
	import flash.events.MouseEvent;
	import flash.events.Event;
	import flash.display.Sprite;
 
	public class ControllerPenguin extends Sprite {
 
 
		private var data5:Model5pinguin;
 
		public function ControllerPenguin() {
 
			data5 = new Model5pinguin();
 
			data5.addEventListener(Model5pinguin.INPUT_RECORD, recordGeschrieben);
		}
 
		private function recordGeschrieben(event : Model5pinguin) : void {
			//    ......................................
		}


Последний раз редактировалось Nemez; 24.03.2011 в 11:47.
Старый 23.03.2011, 21:03
Idon вне форума Посмотреть профиль Отправить личное сообщение для Idon Найти все сообщения от Idon
  № 2  
Ответить с цитированием
Idon

Регистрация: Sep 2009
Сообщений: 65
Вы создаете событие Event, а слушаете событие Model5pinguin.INPUT_RECORD

Может так?
Код AS1/AS2:
private function recordGeschrieben(event : Event) : void {
//    ......................................
}


Последний раз редактировалось Idon; 23.03.2011 в 21:29.
Старый 23.03.2011, 21:11
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 3  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
Цитата:
Сообщение от Idon Посмотреть сообщение
private function recordGeschrieben(event : Event) : void {
// ......................................
}
нет, не идет.

Старый 23.03.2011, 21:21
Idon вне форума Посмотреть профиль Отправить личное сообщение для Idon Найти все сообщения от Idon
  № 4  
Ответить с цитированием
Idon

Регистрация: Sep 2009
Сообщений: 65
Вообще, правильней было бы сделать свой класс событий:
Код AS3:
	public class Model5pinguinEvent extends Event {
		public static const INPUT_RECORD:String = "inputRec";
		public function Model5pinguinEvent( event_type:String, bubbles:Boolean = false, cancelable:Boolean = false ) {
		  super( event_type, bubbles, cancelable )
		}
 
	}
создавать его:
Код AS3:
this.dispatchEvent(new Model5pinguinEvent(Model5pinguinEvent.INPUT_RECORD));
и слушать:
Код AS3:
data5.addEventListener(Model5pinguinEvent.INPUT_RECORD, recordGeschrieben);
 
 
private function recordGeschrieben(event : Model5pinguinEvent) : void {
//    ......................................
}
Добавлено через 37 минут
У вас еще ошибка:

в методе
Код AS3:
		public function recordParser(recordNew : int, textName : String) : void {			
			trace ("newRecord " + newRecord);
			this.dispatchEvent(new Event(Model5pinguin.INPUT_RECORD));
		}
параметр метода называется recordNew, а в trace вы пытаетесь вывести newRecord.

Не понятно, почему у вас компилятор не ругается на эту ошибку. Как собственно и в случае с

private function recordGeschrieben(event : Model5pinguin) : void {
}

где компилятор должен бросить ошибку о невозможности преобразования Event в Model5pinguin

Старый 24.03.2011, 00:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Idon, свои события хотя бы в порядок приведите.

Старый 24.03.2011, 11:49
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 6  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
Таки никто не поможет?
private function recordGeschrieben(event : Event) уже менял, предыдущий вариант (event : Model5pinguin) выдал FDT.


Последний раз редактировалось Nemez; 24.03.2011 в 11:52.
Старый 24.03.2011, 12:36
Trein вне форума Посмотреть профиль Отправить личное сообщение для Trein Найти все сообщения от Trein
  № 7  
Ответить с цитированием
Trein

Регистрация: Nov 2010
Сообщений: 21
Приемник события по-любому с параметром типа Event нужно прописывать.
Код AS3:
private function recordGeschrieben(event:Event):void
Вы знаете попробовал ваш код с изменением типа события в применике и все работает.

Старый 24.03.2011, 13:12
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 8  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
Оказалось, евент идет по другой ветке. C изменением типа события в применике все сработало.


Последний раз редактировалось Nemez; 24.03.2011 в 13:39.
Старый 24.03.2011, 13:50
Idon вне форума Посмотреть профиль Отправить личное сообщение для Idon Найти все сообщения от Idon
  № 9  
Ответить с цитированием
Idon

Регистрация: Sep 2009
Сообщений: 65
etc, поясните.

Старый 24.03.2011, 13:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Idon, у вас не описан clone(), никакого совпадения названия параметров с родительским классом, неправильно значение статической константы заодно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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