Actor object

The Actor object allows you to access the properties of your actors. Actor objects are created by loading an actor definition file using the Game.LoadActor or Scene.LoadActor methods.


Методы

Miscelaneous functions
Reset Cancels the action the object was currently performing (like talking, walking etc.).
IsTalking Queries whether the object is currently talking.
StopTalking Cancels object's talking.
Talk Makes the object talk.
StickToRegion Forces this actor/entity to act like it's inside a given region
SetFont Sets font of this object.
GetFont Gets a font assigned to this object.
Particle functions
CreateParticleEmitter Initializes the particle emitter attached to this object.
DeleteParticleEmitter Deletes the particle emitter attached to this object.
PlayAnim Plays an animation.
ForceTalkAnim Force a special animation to be used for a subsequent Talk call.
AddAttachment Adds an attached entity to this object.
RemoveAttachment Removes an attached entity from this object.
GetAttachment Gets a reference to an attached entity object.
SkipTo Перемещает объект в указанную точку.
Actions
GoTo Makes the actor walk to a given point.
GoToObject Makes the actor walk to a specified entity.
TurnTo Makes actor turn to the given direction or to a given object.
IsWalking Queries whether the actor is currently walking.
SetSprite Sets the sprite to be used instead of actor's standing animations.
GetSprite Queries a sprite set by SetSprite().
GetSpriteObject Queries a sprite set by SetSprite().
MergeAnims Loads one or more animation sets from a file
UnloadAnim Unloads a specified animation set from memory
HasAnim Checks if the actor has an animation set with the specified name
Предметы инвентаря
TakeItem Добавляет предмет в инвентарь.
DropItem Удаляет предмет из инвентаря.
GetItem Возвращает ссылку на предмет инвентаря.
HasItem Выясняет, есть ли в инвентаре объекта (персонажа) указанный предмет.
Функции управления курсором
SetCursor Устанавливает стандартный курсор.
GetCursor Возвращает имя файла спрайта курсора или null, если курсор не задан
GetCursorObject Возвращает ссылку на спрайт курсора (объект) или null, если курсор не задан
RemoveCursor Удаляет стандартный курсор.
HasCursor Выясняет, задан ли стандартный курсор для объекта.
Функции для работы со сценариями
AttachScript Выполняет файл сценария и прикрепляет его к объекту.
DetachScript Выгружает из памяти файл сценария и удаляет его связку с объектом.
IsScriptRunning Выясняет, прикреплён ли указанный файл сценария к объекту.
CanHandleMethod Выясняет, поддерживает ли объект метод с указанным именем.
PlaySound Воспроизводит звук. Если имя файла не указано, воспроизводится прикреплённый на настоящий момент звук (если есть).
PlaySoundEvent Воспроизводит звук и генерирует событие, когда воспроизведение закончится. Если имя файла не указано, воспроизводится прикреплённый на настоящий момент звук (если есть).
StopSound Останавливает воспроизведение звука (если есть).
PauseSound Ставит на паузу воспроизведение звука.
ResumeSound Продолжает воспроизведение после паузы.
IsSoundPlaying Выясняет, воспроизводится ли в настоящий момент звуковой файл.
SetSoundPosition Задаёт текущую позицию для воспроизведения в звуковом файле.
GetSoundPosition Возвращает текущую позицию для воспроизведения в звуковом файле
SetSoundVolume Устанавливает громкость звука.
GetSoundVolume Возвращает значение уровня громкости звука.
LoadSound Инициализирует звук из файла, подготавливая его к воспроизведению.
Звуковые эффекты
SoundFXNone Удаляет любой звуковой эффект, прикреплённый к объекту.
SoundFXEcho Задаёт эффект эха для любого звука, привязанного к объекту.
SoundFXReverb Задаёт эффект реверберации для любого звука, привязанного к объекту.
Обработка событий
ApplyEvent Вызывает указанное событие для объекта.
CanHandleEvent Выясняет, имеет ли объект обработчик для указанного события.

Атрибуты

Type (только для чтения) Returns always "actor"
Direction The direction the actor is currently facing
Active Specifies whether the object is visible on screen
IgnoreItems Specifies whether the object appears to be non-interactive when an inventory item is used on it
SubtitlesPosRelative Specifies whether the SubtitlesPosX and SubtitlesPosY attributes are relative to default position, or absolute screen coordinates
SubtitlesPosX The X position of speech subtitles (either relative to speaker's position or absolute screen coordinates)
SubtitlesPosY The Y position of speech subtitles (either relative to speaker's position or absolute screen coordinates)
SubtitlesWidth Width of speech subtitles. Set to zero to restore the default behavior.
SubtitlesPosXCenter Specifies if the SubtitlesPosX attribute affects the center of the subtitle or its left side.
ParticleEmitter (только для чтения) Returns the reference to the particle emitter object attached to this object, or null if the emitter haven't been initialized yet
NumAttachments (только для чтения) Returns the number of entities attached to this object.
Name Внутреннее имя объекта.
Caption Заголовок объекта.
AccCaption Специальный заголовок объекта, используемый специальными фукциями движка для людей с ослабленным зрением.
X Координата X объекта.
Y Координата Y объекта.
Height (только для чтения) Возвращает текущую высоту объекта (учитывает масштаб персонажей).
Filename (только для чтения) Возвращает имя файла объекта.
Ready (только для чтения) Возвращает true, если объект в настоящий момент не совершает никакого действия.
Interactive Указывает, должен ли объект реагировать на действия пользователя (быть интерактивным).
SoundPanning Указывает, должен ли звук, воспроизводимый данным объектом, панорамироваться в зависимости от его позиции на экране.
NonIntMouseEvents Указывает, должен ли объект реагировать на события MouseEntry и MouseLeave, даже в том случае, если игра работает в неинтерактивном режиме.
Movable Specifies whether the object can be moved by its sprites (in case the sprite frames have a "move" property set).
Scalable Specifies whether the object is affected by scene's scaling levels.
Rotatable Specifies whether the object is affected by scene's rotation levels.
Colorable Specifies whether the object is affected by scene's color regions.
AlphaColor Specifies an RGBA color of this object (overrides scene coloring); set to 0 to reset default behavior.
BlendMode Specifies how the object's image is blended with the background colors; 0...normal mode, 1...additive blending, 2...subtractive blending
Scale Specifies a scale of this object (overrides scene scaling); set to null to reset default behavior.
ScaleX Specifies horizontal scale of this object; set to null to reset default behavior.
ScaleY Specifies vertical scale of this object; set to null to reset default behavior.
RelativeScale Specifies a scale amount to be added to the default scene scale.
Rotate Specifies rotation of this object (in degrees); overrides scene rotation; set to null to reset default behavior; not available in compatibility mode
RelativeRotate Specifies a rotation amount to be added to the default scene rotation.
TalkAnimName The name of an animation set to be used for talking
WalkAnimName The name of an animation set to be used for walking
IdleAnimName The name of an animation set to be used for standing still
TurnLeftAnimName The name of an animation set to be used for turning left (counter clockwise)
TurnRightAnimName The name of an animation set to be used for turning right (clockwise)

Низкоуровневые события

MouseEntry The mouse pointer has been just moved over the object.
MouseLeave The mouse pointer has been just moved away from the object.

Reset()

Cancels the action the object was currently performing (like talking, walking etc.).


IsTalking()

Queries whether the object is currently talking.

Возвращаемое значение

Returns true if the object is talking.


StopTalking()

Cancels object's talking.

Примечания

You can also use StopTalk() abbreviation.


Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment)
TalkAsync(Text, SoundFilename, Duration, TalkStances, TextAlignment)

Makes the object talk.

Параметры

Text
A text to be used as a talk subtitle
SoundFilename
A filename of a sound file to be used (oprtional, default is no sound)
Duration
A subtitle duration in milliseconds (optional, default is 0)
TalkStances
A comma separated list of talk "stances" to be used for the talking (optional, default is random stances)
TextAlignment
A text alignment for the subtitle (0-left, 1-right, 2-center) (optional, default=2)

Примечания

Talk method blocks the script execution until the animation is over, while the TalkAsync method returns immediately. If the duration is set to zero, it's calculated automatically either from the sound file or from the length of the subtitle.


StickToRegion(Region)
StickToRegion(RegionName)

Forces this actor/entity to act like it's inside a given region

Параметры

Region
Reference to a scene region object
RegionName
Name of a scene region

Примечания

Use this method to "lock" a z-order value of an actor or an entity.


SetFont(Filename)

Sets font of this object.

Параметры

Filename
The name of the font to be set.

Возвращаемое значение

If the method succeeds, the return value is true.


GetFont()

Gets a font assigned to this object.

Возвращаемое значение

Returns the filename of currently assigned font.


CreateParticleEmitter()

Initializes the particle emitter attached to this object.

Возвращаемое значение

Returns the reference to the particle emitter object

Примечания

Once initialized with this method, the particle emitter object can be queried using the ParticleEmitter property.


DeleteParticleEmitter()

Deletes the particle emitter attached to this object.

Возвращаемое значение

Returns true if the method succeeded.


PlayAnim(Filename)
PlayAnimAsync(Filename)

Plays an animation.

Параметры

Filename
A filename of a sprite file to be played

Возвращаемое значение

Returns true if the animation has been played successfuly.

Примечания

The PlayAnim method blocks the script execution until the animation is over, while the PlayAnimAsync method returns immediately. For actors, you can also specify an animation set name instead of filename.


ForceTalkAnim(Filename)

Force a special animation to be used for a subsequent Talk call.

Параметры

Filename
A filename of the sprite file to be used as a talking animation

Примечания

This setting has only effect on one subsequent Talk() method call. After the talking is over, the talking animation is reset back to default.


AddAttachment(EntityFile, PreDisplay, OffsetX, OffsetY)

Adds an attached entity to this object.

Параметры

EntityFile
The filename of the entity to be attached.
PreDisplay
Specifies whether the attached entitiy is drawn below the object or on top of it (optional, default=true)
OffsetX
The X offset of the attachment relative to object's position
OffsetY
The Y offset of the attachment relative to object's position

Возвращаемое значение

Returns true is the attachment has been successfuly attached.

Примечания

This method is typically used for attaching a "blob" shadow image to an actor or an entity. The X and Y offset is scaled accordingly to object's current scale.


RemoveAttachment(AttachmentName)
RemoveAttachment(AttachmentIndex)

Removes an attached entity from this object.

Параметры

AttachmentName
The name of the entity to be detached
AttachmentIndex
The index of the attachment to be detached

Возвращаемое значение

Returns true if the attachment has been successfuly detached.


GetAttachment(AttachmentName)
GetAttachment(AttachmentIndex)

Gets a reference to an attached entity object.

Параметры

AttachmentName
The name of the attached entity to be queried
AttachmentIndex
The index of the attachment to be queried

Возвращаемое значение

Returns a reference to the attached entity or null if specified attachement cannot be found.


SkipTo(X, Y)

Перемещает объект в указанную точку.

Параметры

X
Координата X.
Y
Координата Y.

GoTo(X, Y)
GoToAsync(X, Y)

Makes the actor walk to a given point.

Параметры

X
The X coordinate of the target walking point
Y
The Y coordinate of the target walking point

Примечания

The GoTo method blocks the script execution until the walking is over, while the GoToAsync method returns immediately.


GoToObject(Entity)
GoToObjectAsync(Entity)

Makes the actor walk to a specified entity.

Параметры

Entity
The entity object the actor should walk and turn to

Примечания

This method utilizes the WalkToX, WalkToY and WalkToDirection properties of the target entity. They can be set directly in SceneEdit.


TurnTo(Direction)
TurnTo(Object)
TurnToAsync(Direction)
TurnToAsync(Object)

Makes actor turn to the given direction or to a given object.

Параметры

Direction
The direction to turn to
Object
The object to turn to

Примечания

The TurnTo method blocks the script execution until the turning is over, while the TurnToAsync method returns immediately. The direction can be one of the following constants: DI_UP, DI_UPRIGHT, DI_RIGHT, DI_DOWNRIGHT, DI_DOWN, DI_DOWNLEFT, DI_LEFT or DI_UPLEFT (those equal to numbers 0 to 7).


IsWalking()

Queries whether the actor is currently walking.

Возвращаемое значение

Returns true if the actor is walking.


SetSprite(Filename)

Sets the sprite to be used instead of actor's standing animations.

Параметры

Filename
The filename of the sprite file to be used.

Возвращаемое значение

If the method succeeds, the return value is true.

Примечания

Use null as a parameter to reset the default behaviour.


GetSprite()

Queries a sprite set by SetSprite().

Возвращаемое значение

Returns filename of the currently assigned sprite or null.


GetSpriteObject()

Queries a sprite set by SetSprite().

Возвращаемое значение

Returns a reference to the currently assigned sprite object or null.


MergeAnims(Filename)

Loads one or more animation sets from a file

Параметры

Filename
The name of the file containing animation sets

Возвращаемое значение

Returns true if the method succeeded.

Примечания

The file should only contain one or more ANIMATION blocks, as described in the "Actors" chapter.


UnloadAnim(AnimationName)

Unloads a specified animation set from memory

Параметры

AnimationName
The name of the animation set to be unloaded

Возвращаемое значение

Returns true if the method succeeded.


HasAnim(AnimationName)

Checks if the actor has an animation set with the specified name

Параметры

AnimationName
The name of the animation set to be queried

Возвращаемое значение

Returns true if the actor has an animation set with the specified name.


TakeItem(ItemName, InsertAfter)

Добавляет предмет в инвентарь.

Параметры

ItemName
Имя предмета.
InsertAfter
Имя предмета, после которого следует вставить данный предмет (необязательный параметр).

DropItem(ItemName)

Удаляет предмет из инвентаря.

Параметры

ItemName
Имя предмета.

GetItem(ItemIndex)
GetItem(ItemName)

Возвращает ссылку на предмет инвентаря.

Параметры

ItemIndex
Индекс взятого предмета.
ItemName
Имя предмета.

Возвращаемое значение

Ссылка на объект item в инвентаре.


HasItem(ItemName)
HasItem(ItemObject)

Выясняет, есть ли в инвентаре объекта (персонажа) указанный предмет.

Параметры

ItemName
Имя предмета.
ItemObject
Ссылка на предмет (объект item).

Возвращаемое значение

Если указанный предмет есть в инвентаре объекта (персонажа), метод вернёт true.

Примечания

Следует обратить внимание, что данный метод ищет предмет в инвентаре только текущего объекта (персонажа), если Вам нужно просмотреть все существующие инвентари, используйте метод Game.IsItemTaken().


SetCursor(Filename)

Устанавливает стандартный курсор.

Параметры

Filename
Имя файла спрайта, который будет использоваться в качестве указателя.

Возвращаемое значение

Возвращает true в случае успеха.


GetCursor()

Возвращает имя файла спрайта курсора или null, если курсор не задан


GetCursorObject()

Возвращает ссылку на спрайт курсора (объект) или null, если курсор не задан


RemoveCursor()

Удаляет стандартный курсор.


HasCursor()

Выясняет, задан ли стандартный курсор для объекта.

Возвращаемое значение

Возвращает true, если для объекта задан свой собственный стандартный курсор.


AttachScript(Filename)

Выполняет файл сценария и прикрепляет его к объекту.

Параметры

Filename
Имя файла сценария.

Возвращаемое значение

Возвращает true, если сценарий был успешно выполнен.

Примечания

К каждому объекту WME можно прикреплять несколько сценариев.


DetachScript(Filename, KillThreads)

Выгружает из памяти файл сценария и удаляет его связку с объектом.

Параметры

Filename
Имя файла сценария.
KillThreads
Указывает, нужно ли выгружать из памяти всё запущенные экземляры (threads) этого сценария (необязательный параметр, по умолчанию = false)

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.

Примечания

Экземпляры сценария (threads) - это исполняемые в настоящий момент обработчики событий и методы, которые тем или иным образом включают в себя выполнение данного сценария.


IsScriptRunning(Filename)

Выясняет, прикреплён ли указанный файл сценария к объекту.

Параметры

Filename
Имя файла сценария.

Возвращаемое значение

Возвращает true, если указанный сценарий прикреплён к объекту.


CanHandleMethod(MethodName)

Выясняет, поддерживает ли объект метод с указанным именем.

Параметры

MethodName
Название метода.

Возвращаемое значение

Возвращает true, если объект поддерживает метод с указанным именем.


PlaySound(Filename, Looping, LoopStart)
PlaySound(Looping, LoopStart)

Воспроизводит звук. Если имя файла не указано, воспроизводится прикреплённый на настоящий момент звук (если есть).

Параметры

Filename
Имя звукового файла
Looping
Указывает, нужно ли зациклить воспроизведение звука (необязательный параметр, по умолчанию = false).
LoopStart
Позиция в мс, с которой будет начинаться воспроизведение при включённом зацикливании (необязательный параметр, по умолчанию = 0).

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


PlaySoundEvent(Filename, EventName)
PlaySoundEvent(EventName)

Воспроизводит звук и генерирует событие, когда воспроизведение закончится. Если имя файла не указано, воспроизводится прикреплённый на настоящий момент звук (если есть).

Параметры

Filename
Имя звукового файла
EventName
Имя события, которое будет сгенерировано после окончания воспроизведения звука.

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


StopSound()

Останавливает воспроизведение звука (если есть).

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


PauseSound()

Ставит на паузу воспроизведение звука.

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


ResumeSound()

Продолжает воспроизведение после паузы.

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


IsSoundPlaying()

Выясняет, воспроизводится ли в настоящий момент звуковой файл.

Возвращаемое значение

Если звук воспроизводится, метод вернёт true.


SetSoundPosition(Time)

Задаёт текущую позицию для воспроизведения в звуковом файле.

Параметры

Time
Новая позиция в мс

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


GetSoundPosition()

Возвращает текущую позицию для воспроизведения в звуковом файле

Возвращаемое значение

Позиция в мс.


SetSoundVolume(Volume)

Устанавливает громкость звука.

Параметры

Volume
Уровень громкости в процентах.

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.


GetSoundVolume()

Возвращает значение уровня громкости звука.

Возвращаемое значение

Текущий уровень громкости в процентах.


LoadSound(Filename)

Инициализирует звук из файла, подготавливая его к воспроизведению.

Параметры

Filename
Имя звукового файла.

Возвращаемое значение

В случае удачного выполнения, метод вернёт значение true.

Примечания

Этот метод используется для кэширования звуковых файлов. Инициализация звука занимает некоторое время, поэтому желательно разместить её в стартовом сценарии сцены, чтобы метод PlaySound не замедлял игру. Для этой цели и служит метод LoadSound. Чтобы воспроизвести кэшированный звук, нужно просто вызвать метод PlaySound без указания имени файла, например, SomeObject.PlaySound(false);


SoundFXNone()

Удаляет любой звуковой эффект, прикреплённый к объекту.


SoundFXEcho(WetDryMix, Feedback, LeftDelay, RightDelay)

Задаёт эффект эха для любого звука, привязанного к объекту.

Параметры

WetDryMix
Микс влажность/сухость, в процентах (0 - 100)
Feedback
Обратная отдача, в процентах (0 - 100)
LeftDelay
Задержка слева, в мс (1 - 2000)
RightDelay
Задержка справа, в мс (1 - 2000)

Примечания

Пример: actor.SoundFXEcho(50, 50);


SoundFXReverb(InGain, ReverbMix, ReverbTime, HighFreqRTRatio)

Задаёт эффект реверберации для любого звука, привязанного к объекту.

Параметры

InGain
Прирост, в дБ (-96 - 0)
ReverbMix
Реверберация, в дБ (-96 - 0)
ReverbTime
Время реверберации, в мс (0.001 - 3000)
HighFreqRTRatio
Коэффициент высоких частот (0.001 - 0.999)

Примечания

Пример: actor.SoundFXReverb(0, 0, 2000);


ApplyEvent(EventName)

Вызывает указанное событие для объекта.

Параметры

EventName
Имя события.

Возвращаемое значение

Возвращает true, если событие было вызвано успешно.


CanHandleEvent(EventName)

Выясняет, имеет ли объект обработчик для указанного события.

Параметры

EventName
Имя события.

Возвращаемое значение

Возвращает true, если объект может обрабатывать запрашиваемое событие.