Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Спецификаторы вызова функцийСодержание книги Поиск на нашем сайте
В сложных ситуациях при программировании вам часто будет необходимо обратиться к конкретной версии функции, а не к ее наиболее поздней реализации. Для этого в языке UnrealScript есть следующие ключевые слова: Global Вызывает наиболее позднюю версию глобальной (не включенной в состояние) функции. Super Вызывает соответствующую версию функции базового класса. Вызываемая функция может быть как функцией состояния, так и глобальной функцией, в зависимости от контекста. Super(classname) Вызывает соответствующую версию функции, находящуюся в указанном классе, или версию ближайшего из базовых классов. Вызываемая функция может быть как функцией состояния, так и глобальной функцией, в зависимости от контекста. Объединение нескольких спецификаторов вызова (например, Super(Actor).Global.Touch) является недопустимым. Ниже приведено несколько примеров применения спецификаторов вызова: class MyClass extends Pawn;
function MyExample(actor Other) { Super(Pawn).Touch(Other); Global.Touch(Other); Super.Touch(Other); } Также, например, функция BeginPlay() вызывается, когда актор входит в игровой процесс. Функция BeginPlay() реализована в классе Actor и включает некоторые важные операции, которые должны быть выполнены. Теперь, скажем, вы хотите переопределить функцию BeginPlay() в вашем новом классе MyClass, чтобы добавить новую функциональность. Чтобы сделать это безопасно, необходимо вызвать версию BeginPlay() из базового класса: class MyClass extends Pawn;
function BeginPlay() { // Call the version of BeginPlay in the parent class (important). Super.BeginPlay();
// Now do custom BeginPlay stuff. //... } Доступ к статическим функциям из переменной класса Статические функции из переменной класса могут быть вызваны следующим образом: var class C; var class<Pawn> PC;
class'SkaarjTrooper'.static.SomeFunction(); // Call a static function // in a specific class.
PC.static.SomeFunction(); // Call a static function in a variable class.
class<Pawn>(C).static.SomeFunction(); // Call a static function in a //casted class expression. Значения по умолчанию для пременных Доступ к значениям по умолчанию для переменных UnrealEd позволяет дизайнерам уровней редактировать переменные "по умолчанию" класса объекта. Когда создается новый актор, все его переменные инициализируются значениями по умолчанию. Иногда это полезно для ручного сброса переменной в значение по умолчанию. Например, когда игрок бросает предмет инвентаря, код предмета инвентаря должен сбросить некоторые из значений актора в значения по умолчанию. В UnrealScript можно получить доступ к переменным по умолчанию класса с использованием ключевго слова "Default.". Например: var() float Health, Stamina; //...
// Reset some variables to their defaults. function ResetToDefaults() { // Reset health, and stamina. Health = Default.Health; Stamina = Default.Stamina; } Доступ к значениям по умолчанию для переменных через ссылку на класс Если у вас есть ссылка на класс (переменная типа class или class<classlimitor>), то вы можете получить доступ к свойствам по умолчанию для класса, на который она ссылается, не имея самого объекта этого класса. Этот синтаксис работает с любыми выражениями типа class.
Определение значений по умолчанию с использованием блока defaultproperties В дополнение к установке значений по умолчанию для свойств актора с использованией окна свойств в UnrealEd, вы также можете присвоить значения по умолчанию для переменных членов классов путем размещения специальных выоажений внутри блока класса defaultproperties.
Синтаксис
|
||||||
Последнее изменение этой страницы: 2016-08-25; просмотров: 239; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.92.96 (0.007 с.) |