W Cat - Описание языка PascalABC.NET
- Название:Описание языка PascalABC.NET
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - Описание языка PascalABC.NET краткое содержание
PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.
Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Модуль ABCSprites реализует спрайты - анимационные объекты с автоматически меняющимися кадрами. Спрайт представляется классом SpriteABC и является разновидностью мультикартинки MultiPictureABC, однако, обладает двумя дополнительными возможностями:
1. Спрайты автоматически анимируются в цикле, что управляется специальным таймером. Можно регулировать скорость анимации каждого спрайта, а также останавливать/запускать все спрайты.
2. Спрайты могут иметь состояния, задаваемые строками. Каждое состояние имеет свой независимый набор кадров, меняющихся циклически. Например, игровой объект в состоянии Идти имеет три кадра, а в состоянии Сидеть - один кадр (в этом состоянии анимация отсутствует). Переключая состояния, можно моделировать различное поведение игрового объекта.
Кроме того, анимацию всех спрайтов можно выключить/включить вызовом следующих процедур:
procedureStartSprites;
Стартует анимацию всех спрайтов
procedureStopSprites;
Останавливает анимацию всех спрайтов
Класс SpriteABC
Класс SpriteABC является потомком класса MultiPictureABC и представляет графический объект Спрайт, автоматически анимирующий на экране последовательность рисунков. Спрайты также могут иметь несколько состояний, каждое из которых представляет собой анимацию рисунков.
constructorCreate(x,y: integer; fname: string); Создает спрайт, загружая его из файла с именем fname. Имя fname может быть либо именем графического файла, либо именем информационного файла спрайта с расширением .spinf. Если имя является именем графического файла, то создается спрайт с одним кадром. Остальные кадры добавляются методом Add. После этого при необходимости добавляются состояния методом AddStates и вызывается метод CheckStates. Если файл имеет расширение .spinf, то он содержит информацию о кадрах и состояниях спрайта и должен сопровождаться соответствующим графическим файлом. После создания спрайт отображается на экране в позиции (x,y) |
constructorCreate(x,y,w: integer; fname: string); Создает спрайт, загружая его из файла fname. Файл должен хранить рисунок, представляющий собой последовательность кадров одного размера, расположенных по горизонтали. Каждый кадр считается имеющим ширину w. Если ширина рисунка в файле fname не кратна w, то возникает исключение. После этого при необходимости добавляются состояния методом AddStates и вызывается метод CheckStates После создания спрайт отображается на экране в позиции (x,y) |
constructorCreate(x,y,w: integer; p: Picture); Создает спрайт, загружая его из объекта p: Picture. Он должен хранить рисунок, представляющий собой последовательность кадров одного размера, расположенных по горизонтали. Каждый кадр считается имеющим ширину w. Если ширина рисунка не кратна w, то возникает исключение. После этого при необходимости добавляются состояния методом AddStates и вызывается метод CheckStates. После создания спрайт отображается на экране в позиции (x,y) |
constructorCreate(g: SpriteABC); Создает спрайт - копию спрайта g |
propertyStateName: string; Имя состояния |
propertyState: integer; Номер состояния (от 1 до StateCount) |
propertyStateCount: integer; Количество состояний. Свойство доступно только на чтение |
propertySpeed: integer; Скорость спрайта (1..10) |
propertyActive: boolean; Активность спрайта: True, если спрайт активен (т.е. происходит его анимация), и False в противном случае |
propertyFrame: integer; Текущий кадр в текущем состоянии |
procedureAddState(name: string; count: integer); Добавляет состояние к спрайту. После добавления всех состояний следует вызвать CheckStates |
procedureCheckStates; Проверяет корректность набора состояний. Вызывается после добавления всех состояний |
procedureSaveWithInfo(fname: string); Сохраняет графический и информационный файлы спрайта. Имя fname задает имя графического файла. Информационный файл сохраняется в тот же каталог, что и графический, имеет то же имя и расширение .spinf |
procedureNextFrame; Переходит к следующему кадру в текущем состоянии |
procedureNextTick; Переходит к следующему тику таймера; если он равен ticks, то он сбрасывается в 1 и вызывается NextFrame |
functionFrameCount: integer; Возвращает количество кадров в текущем состоянии |
functionFrameBeg: integer; Возвращает начальный кадр в текущем состоянии |
functionClone: SpriteABC; Возвращает клон объекта |
propertyCurrentPicture: integer;
Номер текущего рисунка
propertyCount: integer;
Количество рисунков в наборе
procedureAdd(fname: string); Добавляет рисунок к спрайту, загружая его из файла fname. Рисунок должен иметь те же размеры, что и все рисунки из набора |
procedureChangePicture(fname: string); Меняет набор рисунков на набор, состоящий из одного рисунка, загружая его из файла с именем fname |
procedureChangePicture(w: integer; fname: string); Меняет набор рисунков на набор, загружая его из файла с именем fname. Файл должен хранить последовательность изображений одного размера, расположенных по горизонтали. Каждое изображение считается имеющим ширину w |
procedureNextPicture; Циклически переходит к следующему рисунку из набора |
procedurePrevPicture; Циклически переходит к предыдующему рисунку из набора |
functionClone: MultiPictureABC; Возвращает клон набора рисунков |
propertyLeft: integer; Отступ графического объекта от левого края |
propertyTop: integer; Отступ графического объекта от верхнего края |
propertyWidth: integer; Ширина графического объекта |
propertyHeight: integer; Высота графического объекта |
propertydx: integer; x-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом |
propertydy: integer; y-координата вектора перемещения объекта при вызове метода Move. По умолчанию установлено в 0. Для неподвижных объектов может быть использовано для хранения любой дополнительной информации, связанной с объектом |
propertyCenter: Point; Центр графического объекта |
propertyPosition: Point; Левый верхний угол графического объекта |
Интервал:
Закладка: