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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.12.2010, 14:39
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 27  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Нужен пример класса хотя бы.
Проекты коммерческие, не имею права выкладывать что-то с проекта в открытый доступ.
Но никто не обидится, если я кину init (конструктор считай) на 200 строк.
Код AS3:
private function init():void
{
	_gfx = new GFXLobby();
	super.addChild(_gfx);
	//model listening
	_model.addEventListener(LobbyEvent.SECTION_CHANGE, onNewSectionLoad);
 
 
	//checkboxes
	var _checkboxTableFilterFull:CheckBox = new CheckBox(_gfx.getChildByName("check2") as MovieClip);
	var _checkboxTableFilterEmpty:CheckBox = new CheckBox(_gfx.getChildByName("check1") as MovieClip);
	//var _checkboxFriendsOnline:CheckBox = new CheckBox(_gfx.getChildByName("check3") as MovieClip);
 
	_musicButton = _gfx.getChildByName("music_btn") as MovieClip;
	var val:* = SOManager.getValue("music");
	var musicOn:Boolean = (val === undefined) || val;
	_musicButton.gotoAndStop(musicOn ? 1 : 2);
	if (musicOn) SoundMaster.runMusic(new SFXLobbyMusic());
	_musicButton.addEventListener(MouseEvent.CLICK, onMusicButtonClick);
 
 
	_checkboxTableFilterEmpty.addEventListener(MouseEvent.CLICK, filterEmptyTables);
	_checkboxTableFilterFull.addEventListener(MouseEvent.CLICK, filterFullTables);
 
	_bannerTop = _gfx.getChildByName("banner_top") as MovieClip;
	_bannerTop.gotoAndStop(1);
 
	_rankIcon = new GFXRankSmall();
	super.addChild(_rankIcon);
	_rankIcon.gotoAndStop(1);
	_rankIcon.visible = false;
	_rankIcon.x = 540;
	_rankIcon.y = 265;
 
	questProcess = (_gfx.getChildByName("quest_process") as MovieClip);
	questProcess.gotoAndStop(1);
	questFinished = (_gfx.getChildByName("quest_finished") as MovieClip);
	questFinished.gotoAndStop(2);
	questProcess.addEventListener(MouseEvent.CLICK, onQuestProcessClick);
	questFinished.addEventListener(MouseEvent.CLICK, onQuestFinishedClick);
 
	//
	//friends
 
	(_gfx.getChildByName("setup_btn") as SimpleButton).addEventListener(MouseEvent.CLICK, openSettings);
 
	(_gfx.getChildByName("lobby_sit_btn") as SimpleButton).addEventListener(MouseEvent.CLICK, onGoClick);
	(_gfx.getChildByName("sit_small") as SimpleButton).addEventListener(MouseEvent.CLICK, onGoClick);
 
 
 
	//lobby
	_commonTables=_gfx.getChildByName("lobby_all_tables_btn") as MovieClip
	_VIPTables=_gfx.getChildByName("lobby_vip_tables_btn") as MovieClip
	_privateTables = _gfx.getChildByName("lobby_privat_tables_btn") as MovieClip
 
	var _tableFilters:SimpleButton = _gfx.getChildByName("find_table_btn") as SimpleButton;
	_tableFilters.addEventListener(MouseEvent.CLICK, onTablesFilter);
 
	var _refreshButton:SimpleButton = _gfx.getChildByName("lobby_refresh_btn") as SimpleButton;
	_refreshButton.addEventListener(MouseEvent.CLICK, onRefreshClick);
 
	_commonTables.stop();
	_VIPTables.stop();
	_privateTables.stop();
 
	_commonTables.addEventListener(MouseEvent.CLICK, commonTablesClick);
	_VIPTables.addEventListener(MouseEvent.CLICK, VIPTablesClick);
	_privateTables.addEventListener(MouseEvent.CLICK, privateTablesClick);
 
	_tableFilterText = _gfx.getChildByName("table_filter_text") as TextField;
	//_tableFilterText.addEventListener(KeyboardEvent.KEY_DOWN, onTablesFilter2);
	_tableFilterText.addEventListener(Event.CHANGE, onTablesFilter);
	_tableFilterText.restrict = "A-Za-zА-Яа-я0-9 ";
 
	_findPlaceButton = _gfx.getChildByName("lobby_find_table_btn") as MovieClip;
	_findPlaceButton.gotoAndStop(1);
	_findPlaceButton.addEventListener(MouseEvent.CLICK, onFindPlaceButtonClick);
	_findTableSmall = _gfx.getChildByName("find_table_small") as SimpleButton;
	_findTableSmall.addEventListener(MouseEvent.CLICK, onFindPlaceButtonClick);
 
	_startGameBigButton = _gfx.getChildByName("start_game_big") as MovieClip;
	_startGameBigButton.buttonMode = true;
	_startGameBigButton.useHandCursor = true;
	_startGameBigButton.addEventListener(MouseEvent.CLICK, onFindPlaceButtonClick);
 
	_sorters.name = _gfx.getChildByName("tables_sorters_name") as MovieClip; _sorters.name.gotoAndStop(1);
	_sorters.blind = _gfx.getChildByName("tables_sorters_blind") as MovieClip; _sorters.blind.gotoAndStop(1);
	_sorters.players = _gfx.getChildByName("tables_sorters_players") as MovieClip; _sorters.players.gotoAndStop(1);
	_sorters.money = _gfx.getChildByName("tables_sorters_money") as MovieClip; _sorters.money.gotoAndStop(1);
 
	_playersList = new PlayerList();
	_playersList.x = 27;
	_playersList.y = 340;
 
	super.addChild(_playersList);
 
	//window tables
	var _ratingButton:SimpleButton = _gfx.getChildByName("rating_btn") as SimpleButton;
	var _giftButton:SimpleButton = _gfx.getChildByName("gift_btn") as SimpleButton;
	var _cashButton:SimpleButton = _gfx.getChildByName("kassa_btn") as SimpleButton;
	var _tournamentButton:SimpleButton = _gfx.getChildByName("tr_btn") as SimpleButton;
	var _userInfo:SimpleButton = _gfx.getChildByName("user_info_btn") as SimpleButton;
	var _awardsButton:SimpleButton = _gfx.getChildByName("awards_btn") as SimpleButton;
	var _statusButton:SimpleButton = _gfx.getChildByName("status_btn") as SimpleButton;
 
	_menuSectionIds = new Dictionary();
	_menuSectionIds[_userInfo] = 0;
	_menuSectionIds[_cashButton] = 1;
	_menuSectionIds[_ratingButton] = 2;
	_menuSectionIds[_giftButton] = 3;
	_menuSectionIds[_tournamentButton] = 4;
	_menuSectionIds[_awardsButton] = 5;
	_menuSectionIds[_statusButton] = 6;
 
	_windowsStack = new Dictionary();
 
	_userInfo.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
	_ratingButton.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
	_giftButton.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
	_cashButton.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
	_tournamentButton.addEventListener(MouseEvent.CLICK, onTournamentSelect);
	_awardsButton.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
	_statusButton.addEventListener(MouseEvent.CLICK, onMenuButtonSelect);
 
	//misc
	_balanceText = (_gfx.getChildByName("balance_text") as TextField);
 
 
	_roomDetails = new RoomDetails(_gfx.getChildByName("in_list") as MovieClip,_gfx);
	super.addChild(_roomDetails);
 
	_leftMenu = new LeftWindow();
	//_leftMenu.x = 228;
	//_leftMenu.y = 519;
	_leftMenu.setPosition(228, 519);
 
	_questList = new QuestList(_gfx.getChildByName("quest_list") as MovieClip, _baseModel);
 
	addEventListener(LobbyEvent.QUEST_WIDGET_CLICK, onQuestItemClick);
 
	_menu	=	new	QuestContent(_baseModel);
	_menu.addEventListener(LobbyEvent.QUEST_INVITE_CLICK, onQuestInviteClick);
 
	//addEventListener(MouseEvent.CLICK, onTestClick);
 
 
	_userModelInfo.addEventListener(UserModelEvent.BALANCE_CHANGED, onBalanceChanged);
	_userModelInfo.addEventListener(UserModelEvent.EXP_CHANGED, onExpChanged);
	_userModelInfo.addEventListener(UserModelEvent.MAX_EXP_CHANGED, onExpChanged);
	_userModelInfo.addEventListener(UserModelEvent.NAME_GETTED, onNameGetted);
	_userModelInfo.addEventListener(UserModelEvent.VIP_CHANGED, onVipChanged);
	_userModelInfo.addEventListener(UserModelEvent.RANG_CHANGED, onRangChanged);
 
	_model.addEventListener(LobbyEvent.ON_PLAYERS_ONLINE_INFO, onPlayersOnlineInfo);
 
	if (_userModelInfo.firstName) {
		//we connected earlier
		onBalanceChanged(null);
		onExpChanged(null);
		onNameGetted(null);
		onVipChanged(null);
		onRangChanged(null);
		playersOnline = CacheTable.getCache(CacheInfo.PLAYERS_ONLINE);
	}
 
}
Вьюшка без мозгов, а места много.

Хотя, в принципе реально во многих классах держаться планки ниже 500 строк. Только не всегда оправдано, имо.

Добавлено через 41 минуту
Цитата:
Противоречие.
Не понимаю почему.
Смотри:
Код AS3:
_iceCream.gotoAndStop(2); _car.gotoAndStop(1); _money.getMoney(1000);
Одна строчка в 80 шириной. Если разбить на 3 - будет 3 строчки мелкой шириной.
Да, первая хуже читается, но разбивая число строк всё таки уменьшается =)


Последний раз редактировалось iNils; 20.12.2010 в 16:01.
Создать новую тему   Часовой пояс GMT +4, время: 20:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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