MOLIER ART STUDIO
Четверг, 27.04.2017, 12:07
Приветствую Вас Гость | RSS
 
Главная Второстепенный персонаж на сцене - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » Wintermute Engine » Скрипты / Script » Второстепенный персонаж на сцене (как с ним разговаривать?)
Второстепенный персонаж на сцене
P1LL0TTДата: Понедельник, 27.12.2010, 01:58 | Сообщение # 1
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
На сцене имеется ГГ и ещё один персонаж. Потом ГГ с этим персом будут ещё не раз встречаться.
Вопрос: как организовать диалог между ними по клику на этом персонаже?
Сначала бедного перса вообще игнорировали, потом поменял в перс.actor параметр INTERACTIVE на TRUE.
А что делать дальше?
Была мысль написать в перс.script что-то вроде on "LeftClick" {...}, но тогда получается, что нужно для каждого такого диалога отдельного персонажа создавать, а их будет очень много sad


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/
 
MolierДата: Понедельник, 27.12.2010, 08:11 | Сообщение # 2
Группа: Администраторы
Сообщений: 328
Награды: 2
Репутация: 15
Статус: Offline
Награды
За создание сайта За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
Посмотри тут урок про диалоги

Не ошибается лишь тот, кто не чего не делает.
 
P1LL0TTДата: Понедельник, 27.12.2010, 13:44 | Сообщение # 3
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
Спасибо, хороший урок smile ответил на многие вопросы, но всё же...
Проблема в том, что у меня не спрайт, а actor, и я не могу просто взять его скрипт и написать там on "LeftClick", потому что в другой сцене с этим же персонажем запустится этот же диалог...
Сам диалог, наверное, нужно писать в скрипте сцены. Но тогда возникает проблема, как скрипту персонажа сообщить сцене что на него кликнули? я пробовал объявить глобальную переменную и при щелчке на персе изменять её значение, потом на сцене проверять, изменилась она или нет. И, если изменилась, начинать с ним диалог... Но это тоже отпало, потому что scene_init.script выполняется только один раз, а к тому моменту как мы кликнули на персе, он уже завершился...


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/
 
AmneziAДата: Понедельник, 27.12.2010, 20:29 | Сообщение # 4
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
на счет глобальных: ты можешь объявить ее в гейм.скрипт и когда нужно ссылаться на нее. я думаю она будет изменяться и проверяться вполне адекватно. так что, таким образом должно получится организовать диалоги

Мой блог: http://pro100-blog.ru/

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
P1LL0TTДата: Вторник, 28.12.2010, 19:01 | Сообщение # 5
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
спасибо, щас попробую smile

Добавлено (28.12.2010, 19:01)
---------------------------------------------
AmneziA,
увы, не сработало sad сцена проверяет значение переменной только один раз-при загрузке.
Однако, нашёл более красивое решение)
В скрипте, относящемся к персонажу написал:

Code
on "LeftClick"
{
Scene.ApplyEvent ("PersonClick");
}

а в сцене:

Code
on "PersonClick"
{
actor.Talk ("Всё работает!");
}

Может, пригодится кому...


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/


Сообщение отредактировал P1LL0TT - Вторник, 28.12.2010, 20:27
 
AmneziAДата: Вторник, 28.12.2010, 20:45 | Сообщение # 6
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
видимо я не совсем понял суть проблемы..
Хорошее решение applause спасибо, что поделился))


Мой блог: http://pro100-blog.ru/

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
ParovozДата: Вторник, 25.01.2011, 23:21 | Сообщение # 7
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Награды
Спасибо за информацию, P1LL0TT, пригодилось!
А как сделать, чтобы перед тем, как сказать персонаж подошёл ко второму персонажу?
 
P1LL0TTДата: Среда, 26.01.2011, 00:28 | Сообщение # 8
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
Parovoz,
В скрипте, относящемся к персонажу:

Code
global PersonPos;  // запоминает координаты
on "LeftClick"  
{  
PersonPos.X=this.X;
PersonPos.Y=this.Y;
Scene.ApplyEvent ("PersonClick");  
}

В скрипте сцены:

Code
global PersonPos; //обращение к глобальной переменной
on "PersonClick"  
{  
actor.GoTo (PersonPos.X , PersonPos.Y);
actor.Talk ("Всё работает!");  
}

Как-то так =)


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/
 
ParovozДата: Среда, 26.01.2011, 11:53 | Сообщение # 9
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
Награды
Спасибо, P1LL0TT! )
 
P1LL0TTДата: Среда, 26.01.2011, 17:33 | Сообщение # 10
Группа: Проверенные
Сообщений: 53
Награды: 3
Репутация: 8
Статус: Offline
Награды
Parovoz, обращайся!
Вообще, ApplyEvent очень мощная штука, у меня на ней головоломка, весьма удачная на мой взгляд, работает)
Скоро выложу пролог своей игры wink


И это лучшее не свете колдовство,
Ликует солнце на лезвии гребня,
И это все, и больше нету ничего -
Есть только небо, вечное небо.

БЛОГ МОЕЙ ИГРЫ: http://dragon-3.blogspot.com/
 
Форум » Wintermute Engine » Скрипты / Script » Второстепенный персонаж на сцене (как с ним разговаривать?)
Страница 1 из 212»
Поиск:

Copyright MyCorp © 2017
!!! На сайте могут находиться статьи, которые, честно и не помню, откуда они у меня появились, одним словом нет информации о первоисточнике и авторе, если на них наткнётся автор, просьба к нему написать мне, чтобы я смог поставить ссылку на источник. !!!