|
@@ -19,6 +19,7 @@ brief: В этом руководстве объясняется, как доб
|
|
|
Свойства скрипта добавляются к компоненту Script путем их определения с помощью специальной функции `go.property()`. Эта функция должна использоваться на верхнем уровне - вне любых функций обратного вызова, таких как `init()` и `update()`. Значение по умолчанию, заданное для свойства, определяет тип свойства: number, boolean, hash, `msg.url`, `vmath.vector3`, `vmath.vector4`, `vmath.quaternion` и `resource` (см. ниже).
|
|
|
|
|
|
```lua
|
|
|
+-- can.script
|
|
|
-- Определить свойства скрипта для здоровья и цели атаки
|
|
|
go.property("health", 100)
|
|
|
go.property("target", msg.url())
|
|
@@ -86,7 +87,11 @@ go.animate("myobject#my_script", "my_property", go.PLAYBACK_LOOP_PINGPONG, 100,
|
|
|
|
|
|
```lua
|
|
|
local props = { health = 50, target = msg.url("player") }
|
|
|
-factory.create("#can_factory", nil, nil, props)
|
|
|
+local id = factory.create("#can_factory", nil, nil, props)
|
|
|
+
|
|
|
+-- Доступ к свойствам скрипта для объектов созданных с помощью Factory
|
|
|
+local url = msg.url(nil, id, "can")
|
|
|
+local can_health = go.get(url, "health")
|
|
|
```
|
|
|
|
|
|
При создании иерархии игровых объектов с помощью `collectionfactory.create()` необходимо связать идентификаторы объектов с таблицами свойств. Они собираются в таблицу и передаются в функцию `create()`:
|