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

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

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

Регистрация: Sep 2011
Сообщений: 524
По умолчанию события в классах

недавно создавал тему, о использовании ООП в AS3 - почитал литературу - все достаточно просто. методы - все ясно. свойства - все ясно.
А вот как быть с событиями? никак не разберусь!
Если использовать обычный подход через addeventlistener - то как это применить к классу? ведь этот аппарат вроде приеним к конкретному объекту - к примеру - к готовому movieclip
а как это сделать - когда есть абстрактный класс? чтобы получить модель событий подобно c#?

Старый 05.12.2011, 16:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Если бы вы почитали литературу по АС3-ООП вопросов не возникло бы
__________________
Марк Tween

Старый 05.12.2011, 17:01
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 3  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
а форум на что? хвастатся уже полученными знаниями?)

Старый 05.12.2011, 17:10
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 4  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Не все прочитали. Вот этой книжки достаточно, чтобы ответить на все ваши вопросы: http://www.ozon.ru/context/detail/id/4121608/
__________________
Кодинг, багинг, алгоритминг. me @

Старый 05.12.2011, 17:12
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Классы в AS3 события распространять не могут. Да и в C# я не встречал реального применения этому. Посему считаю это сомнительной "фичей".
__________________
тут я

Старый 05.12.2011, 19:07
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
а как это сделать - когда есть абстрактный класс? чтобы получить модель событий подобно c#?
Во-первых в АС3 нет абстрактных классов, во-вторых к чему тут сравнение с C#?
АС3 - не си шарп, а самостоятельный язык, со своими средствами выполнения различных задач
В ас3 события могут доставляться и приниматься экземплярами классов, которые унаследованы от EventDispatcher

Старый 05.12.2011, 19:45
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 7  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Вы спросите, что не понятно, а лучше поищите по формулу форуму, миллион раз обсуждалось.
__________________
http://www.chessmax.ru


Последний раз редактировалось Inet_PC; 05.12.2011 в 20:42.
Старый 05.12.2011, 20:16
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 8  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Цитата:
Сообщение от Inet_PC Посмотреть сообщение
а лучше поищите по формулу, миллион раз обсуждалось.
О да, новичкам определенно нужна формула, по которой они смогут найти то, что их интересует

Старый 05.12.2011, 20:56
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>> ведь этот аппарат вроде приеним к конкретному объекту - к примеру - к готовому movieclip
а как это сделать - когда есть абстрактный класс? чтобы получить модель событий подобно c#?

в AS объекты тоже сами могут 'вещать' события, если об этом речь
с шарпом примерно такая аналогия
Код AS3:
using System;
using System.Windows.Forms;
using System.Diagnostics;
 
 
public class MainForm : Form
{
    public MainForm()
    {
        SomeClass obj = new SomeClass();
        obj.Change += new EventHandler(obj_Change);
        obj.prop = "test";
 
    }
    private void obj_Change(object sender, EventArgs e)
    {
        Debug.WriteLine("MainForm.obj_Change > target : " + sender + "; prop: " + (sender as SomeClass).prop);
        // MainForm.obj_Change > target : SomeClass; prop: test
    }
}
///////////////
class SomeClass
{
    public event EventHandler Change;
    string _prop;
    public string prop
    {
        set
        {
            _prop = value;
            Change(this, new EventArgs());
        }
        get { return _prop; }
    }
}
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Main extends Sprite
	{
 
		public function Main():void
		{
			var obj:SomeClass = new SomeClass();
			obj.addEventListener(Event.CHANGE, obj_change);
			obj.prop = "test";
 
		}
		private function obj_change(e:Event):void 
		{
			trace( "Main.obj_change > target : " + e.target +"; prop: " + (e.target as SomeClass).prop);
			//Main.obj_change > target : [object SomeClass]; prop: test
 
		}
	}
}
///////////////////
import flash.events.*;
class SomeClass extends EventDispatcher
{
	protected var _prop:String;
	public function set prop(value:String):void
	{
		_prop = value;
		dispatchEvent(new Event(Event.CHANGE));
	}
	public function get prop():String { return _prop; }
 
}

Старый 06.12.2011, 13:05
viktorami вне форума Посмотреть профиль Отправить личное сообщение для viktorami Найти все сообщения от viktorami
  № 10  
Ответить с цитированием
viktorami

Регистрация: Sep 2011
Сообщений: 524
не совсем понял зачем еще устанавливать это свойство с dispatchEvent разве недостаточно объявит только
addEventListener и фукнцию обработчик?

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

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

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


 


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


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