MOLIER ART STUDIO
Суббота, 21.10.2017, 15:13
Приветствую Вас Гость | RSS
 
Главная Пропуск заставки (реакция на нажатие кнопок) - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум » Wintermute Engine » Скрипты / Script » Пропуск заставки (реакция на нажатие кнопок)
Пропуск заставки (реакция на нажатие кнопок)
AmneziAДата: Понедельник, 15.02.2010, 09:53 | Сообщение # 1
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
доброго времени суток!

такой вопрос: никто не интересовался как пропустить заставку нажатием клавиши? для мыши все работает:

on "LeftClick"
{
Game.ChangeScene("scenes\02_room\02_room.scene");
}

для клавиатуры такую штуку не удается провернуть. как только не крутил. есть у кого соображения по этому поводу?


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
free-softДата: Пятница, 05.03.2010, 20:54 | Сообщение # 2
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 2
Статус: Offline
Награды
Ммм разве нету спец скрипта по default в двиге ? Который Отвечает за кнопочки ? Вроде натыкался на такой да и в учебнике Я пример видел связанный с этим .

RevoStudio & RevoTechnogroup
www.vip-visitors.net
(Личный) Skype: genuxa-bojec
 
AmneziAДата: Суббота, 06.03.2010, 11:57 | Сообщение # 3
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
да как бы есть. например вывод меню пришивается на "эскейп" или управление персонажем на стрелки. но именно пропустить заставку нажатием на "пробел" никак не выходит(((((

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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
free-softДата: Суббота, 06.03.2010, 21:34 | Сообщение # 4
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 2
Статус: Offline
Награды
В общем меня это зацепило и я тоже стал думать как можно реализовать Skip Movie , а точней заставку .
У меня сделано так у меня при запуске игры сделана начальная заставочка ( Сцена 1 ) , в сцене (заставке) вставлен Спрайт - 3-4 изображения и таймер что бы всё нормально успевало проиграть и тогда происходит переход в сцену Меню .
Вот как я Придумал :
Захожу в room.scene - это та где расположена заставочка ( спрайт )
Делаю Add Region Entity - Растягиваю его на всю сцену !
Теперь настраиваю
Name: Skip
Caption : SkipMovie или ещё чёнить что будет писаться
Теперь жму Scripts..
Редактируем Скрипт
Вставим

#include "scripts\base.inc"

////////////////////////////////////////////////////////////////////////////////
on "LeftClick"
{
Game.ChangeScene("scenes\menu\menu.scene");
}
//////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
on "RightClick"
{
Game.ChangeScene("scenes\menu\menu.scene");
}
//////////////////////////////////////////

Таким Образом При Запуске Игры Отображается Надпись и при нажатие Левой или Правой Кнопки Мыши Мы пропускаем Заставку и попадаем в Главное Меню .
Всё !
Т.к. я делал это всё по своему чем в учебнике , вероятно что может так не выйдет .
Но у меня вышло .


RevoStudio & RevoTechnogroup
www.vip-visitors.net
(Личный) Skype: genuxa-bojec
 
AmneziAДата: Воскресенье, 07.03.2010, 08:14 | Сообщение # 5
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
да, здесь все верно.
но это опять же мышь!(((

с клавиатурой мне максимум удалось добиться следующего (это в game.script):

on "Keypress"
{

// сначала блокирую клавиатуру, инач меню выскакивает при заставке на нажатие "эскейп".

if(Scene.Name=="01_logotip") return;

if(Scene.Name=="02_presents") return;

if(Scene.Name=="03_name") return;

// on Esc or F1 key - здесь обрабатывается вызов меню нажатием "эскейп".

if(Keyboard.KeyCode==VK_ESCAPE || Keyboard.KeyCode==VK_F1)
{
// load and display the main menu window
WinCaption.Visible = false;
var WinMainMenu = Game.LoadWindow("interface\system\mainmenu.window");
WinMainMenu.Center();
WinMainMenu.GoExclusive();
Game.UnloadObject(WinMainMenu);
}
}

пропустить заставку нажимая на кнопку КЛАВИАТУРЫ никак не выходит((


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
free-softДата: Вторник, 09.03.2010, 22:26 | Сообщение # 6
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 2
Статус: Offline
Награды
Вот я тоже всё перекопал и тоже дошёл до варианта с game.script , но и там ничего толкового не вышло .
+ Ещё проблемка , в меню , а так же в заставках Инвентарь остаётся Активным , перекопал всё , но так и не понял где это прописано .
, а для заставок похожу нужно создавать отдельный keys.script и game.script и в scene_init прописывать include другой т.к. проблема видимо в том что в keys уже прописано что ESC и F1 это обязательно в меню из сцены , но не в из сцены в сцену .

Добавлено (09.03.2010, 22:26)
---------------------------------------------
Нашёл решение на счёт инвентаря smile , оказывается совсем плохенько к меня с скриптингом
Game.InventoryVisible = true; / false;
Вообще не плохо бы собрать все такие переменные да перечислить с пояснением , а то я мало таких знаю в WME ( не так давно с ним знаком )

ещё один
if(!Game.IsItemTaken("Название"))
{
Условие скрипта
}


RevoStudio & RevoTechnogroup
www.vip-visitors.net
(Личный) Skype: genuxa-bojec
 
AmneziAДата: Среда, 17.03.2010, 22:32 | Сообщение # 7
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
На счет "Game.InventoryVisible = true; / false;" ничего не выходит. ты где прописываешь эту строку?

Добавлено (17.03.2010, 22:31)
---------------------------------------------
вот что нарыл на англоязычном форуме (кстати, много интересного там есть):

Disabling inventory

вопрос:

I have a "world map" screen in the game that should not display the inventory.

So in scene_init I put this:

Код:
Game.InventoryVisible = false;

That doesn't work. I figure game.deamon might be overriding it constantly?

Код:
if(!Game.ResponsesVisible && !WinMenu.Visible) Game.InventoryVisible = true;
else if(Game.ResponsesVisible || Stateworldmap.Active) Game.InventoryVisible = false;

ответ:

You can change the condition to something like:

if(!Game.ResponsesVisible && !WinMenu.Visible && Scene.Name!="map") ...

Добавлено (17.03.2010, 22:32)
---------------------------------------------
работоспособность не проверял, но там говорят, что сработало


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
free-softДата: Пятница, 19.03.2010, 23:22 | Сообщение # 8
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 2
Статус: Offline
Награды
Как на счёт этого ?
// display the inventory window
if(Scene.Name=="Menu" || Scene.Name=="Credits" || Scene.Name=="intro")
{
Game.InventoryVisible = false;
}
else
{
Game.InventoryVisible = true;
if(Game.Interactive && Game.MouseY < 45 && !Game.ResponsesVisible && !WinMenu.Visible)
{

InventoryState = 2;
}
else if(Game.MouseY > 100 || Game.ResponsesVisible || !Game.Interactive)
{
InventoryState = 1;
}


RevoStudio & RevoTechnogroup
www.vip-visitors.net
(Личный) Skype: genuxa-bojec
 
AmneziAДата: Воскресенье, 21.03.2010, 10:07 | Сообщение # 9
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
ну что ж попробуем.

если я правильно понял - это в game.script прописывается.

что такое InventoryState?


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
free-softДата: Воскресенье, 21.03.2010, 19:17 | Сообщение # 10
Группа: Проверенные
Сообщений: 57
Награды: 0
Репутация: 2
Статус: Offline
Награды
Учёт инвентаря , а прописывается это и инвентарь управляется через game_loop.script

Добавлено (21.03.2010, 19:17)
---------------------------------------------
///Управление Ннвентарём//////
if(Scene.Name=="Menu" || Scene.Name=="Credits" || Scene.Name=="intro")
{
Game.InventoryVisible = false;
}
else
{
Game.InventoryVisible = true;
if(Game.Interactive && Game.MouseY < 45 && !Game.ResponsesVisible && !WinMenu.Visible)
{

InventoryState = 2;
}
else if(Game.MouseY > 100 || Game.ResponsesVisible || !Game.Interactive)
{
InventoryState = 1;
}

switch(InventoryState)
{
case 1: /////ЗАКРЫТИЕ////
if(Game.CurrentTime - InventoryLastTime >= InventorySpeed)
{
InventoryLastTime = Game.CurrentTime;
InvWindow.Y = InvWindow.Y - InventoryMove;
if(InvWindow.Y <= -70)
{
InvWindow.Y = -70;
InventoryState = 0;
}
}
break;

case 2: //////ОТКРЫТИЕ/////////
if(Game.CurrentTime - InventoryLastTime >= InventorySpeed)
{
InventoryLastTime = Game.CurrentTime;
InvWindow.Y = InvWindow.Y + InventoryMove;
if(InvWindow.Y >= 0)
{
InvWindow.Y = 0;
InventoryState = 0;
}
}
break;
}
}


RevoStudio & RevoTechnogroup
www.vip-visitors.net
(Личный) Skype: genuxa-bojec
 
Форум » Wintermute Engine » Скрипты / Script » Пропуск заставки (реакция на нажатие кнопок)
Страница 1 из 212»
Поиск:

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