Показать сообщение отдельно
Старый 07.09.2017, 14:36
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 11  
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Цитата:
Сообщение от Appleman Посмотреть сообщение
Вопрос, в чём преимущество создания отдельных пакетов и постоянного импорта двух других в каждый, по сравнению с созданием единого пакета для всей игры, и настройки взаимодействия на уровне отношений исключительно между классами?
разделив все по пакетам ты тем самым выделяешь отдельные блоки взаимоотношений и классы с полями/методами internal в общем пакете могут работать с ними как с публичными, классы в разных пакетах эти поля видеть не будут, например в model методы findEnemy/hit можно смело пометить как internal

Цитата:
Сообщение от Appleman Посмотреть сообщение
Код AS3:
public class BattleData
	{
		private static const map:Dictionary = new Dictionary();
		public static function find(key:String):BattleData
		{
			return map[key] ||= new BattleData(key);
		}
И выражение return map[key] ||= new BattleData(key);
это короткая запись
Код AS3:
var data:BattleData = map[key];
if(data == null)
{
   data = new BattleData(key);
   map[key] = data;
}
return data;
//или
return map[key] || map[key] = new BattleData(key);
оператор ||= обозначает что если выражение слева ложное false/null/0, то приравнять к нему выражение справа, ну и любая операция приравнивания так же возвращает это значение, поэтому его можно передать в return

Цитата:
Сообщение от Appleman Посмотреть сообщение
Последний мини-вопрос. Обратил внимание, что у тебя и у Wolsh многие переменные в коде записаны с символа "_", но не все. Какая тут логика? Я такое в некоторых книгах встречал (не у Мука).
переменными "_" принято обозначать приватные поля класса которые затем могут быть открыты для чтения/записи через get/set, просто удобство в случае пересечения имен публичных и приватных полей класса
__________________
RocketJump