Цитата:
|
Нужен пример класса хотя бы.
|
Проекты коммерческие, не имею права выкладывать что-то с проекта в открытый доступ.
Но никто не обидится, если я кину 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 строчки мелкой шириной.
Да, первая хуже читается, но разбивая число строк всё таки уменьшается =)