Please login or register.

Login with username, password and session length
Advanced search  

News:

IRC channel - server: waelisch.de  channel: #wme (read more)

Author Topic: Скопировать/перене  (Read 4960 times)

0 Members and 1 Guest are viewing this topic.

GVG

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 11
    • View Profile
Скопировать/перене
« on: September 05, 2010, 11:22:30 AM »

Ре
Logged

2.0

  • Regular poster
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 217
    • View Profile
Re: Скопировать/перенести Entity?
« Reply #1 on: September 11, 2010, 11:31:06 PM »

Решил переделать довольно архаичный интерфейс работы с инвентарем. Переделываю как в Kyrandia (кто играл с этим циклом игрушек - в курсе). Сделал:
1. левый клик "обычной" мышью на вещь на сцене, сохраняю параметры соответствующего entity, делаю курсор мыши картинкой из соответствующего item, со сцены entity удаляю.
2. следующий левый клик указывает, куда положить (пока только это) данную вещь.
- проверяю место, walkable ли оно (пока только это)
- создаю entity, заполняю его сохраненными параметрами
- делаю активность. готово

НО! Нет никакого способа (не нашел) взять у исходного entity прикрепленные к нему скрипты!!!

Вопросы:
1. может есть вышеуказанная возможность?
2. если нет - может можно как-то сделать копию исходного entity и потом положить её на нужное место?


Напрямую такого сделать, насколько я понял, нельзя.
Но можно попробовать с помощью доп. телодвижений.
Если скрипты аттачатся динамически, то, например, так:

Code: [Select]
var AttachedScripts = new array();

Entity.AttachScript("Script1FileName"); // Entity - это исходный объект
AttachedScripts[0] = "Script1FileName";
Entity.AttachScript("Script2FileName");
AttachedScripts[1] = "Script2FileName";

Entity.AttachedScripts = AttachedScripts; // Теперь эта новая переменная (часть класса Энтити) будет хранить список присоединённых скриптов.

А потом в другом месте ты прочтёшь этот список следующим образом:

Code: [Select]
var AttachedScripts = Entity.AttachedScripts;

for (var i=0; i< AttachedScripts.Length; i=i+1)
{
   Entity1.AttachScript(AttachedScripts[i]); // Entity1 - это новый объект
}
« Last Edit: September 11, 2010, 11:34:01 PM by 2.0 »
Logged

GVG

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 11
    • View Profile
Re: Скопировать/перене
« Reply #2 on: September 13, 2010, 07:50:01 AM »

Спа
Logged

2.0

  • Regular poster
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 217
    • View Profile
Re: Скопировать/перене
« Reply #3 on: September 13, 2010, 04:07:38 PM »

« Last Edit: September 13, 2010, 04:26:51 PM by 2.0 »
Logged

GVG

  • Lurker
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 11
    • View Profile
Logged
 

Page created in 0.084 seconds with 19 queries.