MOLIER ART STUDIO
Вторник, 24.10.2017, 08:35
Приветствую Вас Гость | RSS
 
Главная Обсуждение уроков от Molier - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Wintermute Engine » Литература, ссылки, сайты » Обсуждение уроков от Molier
Обсуждение уроков от Molier
AmneziAДата: Воскресенье, 31.01.2010, 13:12 | Сообщение # 1
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
Начал изучать детально уроки от Molier. Есть некоторые вопросы, поправки. короче, буду здесь по этому поводу отписываться.

Добавлено (31.01.2010, 13:12)
---------------------------------------------
Книга "Как я это делал или создание квеста на Wintermute Engine от А до Я." поехали попорядку:

- в уроке №6 предлагалось сделать так, что б принаведении на ПУ крсор менялся на лупу, а также менялся шрифт. Со шрифтом у меня не вышло. Так и не понял в чем проблема. На последнем скриншоте этого урока результата тож не видать.

- урок №10. Глобальная переменная OldGuy объявляется в середине скрипта. у меня так ничего не получилось. что б все работало пришлось переместить эту переменную в начало скрипта. И еще вопрос: Зачем использовать OldGuy. Я брал свое название - все получилось.

все остальное - здорово. очень доступно написано. познавательно.


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
MolierДата: Понедельник, 01.02.2010, 10:42 | Сообщение # 2
Группа: Администраторы
Сообщений: 328
Награды: 2
Репутация: 15
Статус: Offline
Награды
За создание сайта За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
Quote (AmneziA)
- в уроке №6 предлагалось сделать так, что б принаведении на ПУ крсор менялся на лупу, а также менялся шрифт. Со шрифтом у меня не вышло. Так и не понял в чем проблема. На последнем скриншоте этого урока результата тож не видать.

Со шрифтом проверь, правильно ли он написан. Должно быть так:
=======================
TTFONT
{
SIZE = 13

FACE = "Comic Sans MS"

BOLD = FALSE
ITALIC = FALSE
UNDERLINE = FALSE
STRIKE = FALSE

CHARSET = 10

COLOR { 255, 0, 0 }
ALPHA = 255

LAYER
{
OFFSET_X = 1
OFFSET_Y = 1
COLOR { 0, 0, 0 }
ALPHA = 255
}

LAYER
{
OFFSET_X = -1
OFFSET_Y = -1
COLOR { 0, 0, 0 }
ALPHA = 255
}

LAYER
{
OFFSET_X = -1
OFFSET_Y = 1
COLOR { 0, 0, 0 }
ALPHA = 255
}

LAYER
{
OFFSET_X = 1
OFFSET_Y = -1
COLOR { 0, 0, 0 }
ALPHA = 255
}

LAYER
{
OFFSET_X = 0
OFFSET_Y = 0
<span style="color:red">COLOR { 255, 0, 0 }
ALPHA = 255
}
}
</span>
=====================
Обрати внимание на COLOR (выделено красным).
А скриншот в GIF Можно скачать здесь http://molier-artstudo.ucoz.ru/load/1-1-0-6
Если помогло, пиши.


Не ошибается лишь тот, кто не чего не делает.
 
AmneziAДата: Вторник, 16.02.2010, 15:10 | Сообщение # 3
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
здесь все же что то не так. 255,0,0 - это красный цвет. а нужен зеленый. кроме того в окне предпросмотра шрифт отображается как надо.

http://molier-artstudo.ucoz.ru/load/1-1-0-6. - ссылка не грузится((((

куда можно скрин подгрузить?

Добавлено (15.02.2010, 10:34)
---------------------------------------------
предлагаю в фотоальбомах сделать категорию, куда можно скрины с вопросом скидывать

Добавлено (16.02.2010, 15:10)
---------------------------------------------
идем дальше: урок о меню.

- в start_menu.script не вижу необходимости писать действие на "close"

- думаю, что нужно добавить команду StopSound на start и credits в start_menu.script. потом можно в титрах и самой игре другой звук добавить. иначе продолжает играть звут из меню.

- question box не работает если в question.script не добавить:

var Title = this.GetControl("title");
Title.Text = this.xTitle;

var Message = this.GetControl("message");
Message.Text = this.xMessage;

это после первой строки: this.xResult = false;

- в game.script Keypress должен выглядеть так:

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.GoSystemExclusive();
Game.UnloadObject(WinMainMenu);
}
}

иначе меню высвечивается при нажатии на esc во время заставки

- возможно есть синтаксические ошибки в load.script и save.script. У меня все заработало только тогда, как скопировал скрипт из демо 3д

- зачем прикреплять скрипт к thumbnail в load.window?


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
MolierДата: Среда, 17.02.2010, 22:13 | Сообщение # 4
Группа: Администраторы
Сообщений: 328
Награды: 2
Репутация: 15
Статус: Offline
Награды
За создание сайта За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
Quote (AmneziA)
http://molier-artstudo.ucoz.ru/load/1-1-0-6. - ссылка не грузится((((

исправил


Не ошибается лишь тот, кто не чего не делает.
 
AmneziAДата: Пятница, 26.03.2010, 09:36 | Сообщение # 5
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
не понял. надписи на скрине красные, а в уроке предлагается делать зеленые...

цитата из урока:

-Name (название объекта), все названия, имена используемые движком пишем на английском, проще нам и машине. Назовём наш ПУ console (от англ. пульт оператора).
-Caption (надпись которую мы будем видеть на экране) пишем “ПУ”, что то в этом роде, это не важно.
-Сursor (как будет выглядеть наш курсор, когда мы наведём его на наш объект) ищем курсор look-смотреть, в нашем варианте путь sprites\system\Look.sprite
-Font (шрифт самой надписи) пускай, надписи будут зелёные, путь fonts\comic_green.font, вы можете использовать любой другой шрифт.

Добавлено (18.02.2010, 16:33)
---------------------------------------------
еще поправка к уроку о диалогах:

if(Selected==0)
{
this.Talk("Подумай.");

}
else if(Selected==1)
{
this.Talk("Хорошо ");
Loop = false; - думаю, что есть смысл добавить эту строку, тогда после правильного ответа выходишь из диалога.
}
else if(Selected==2)
{
this.Talk("Подумай.");
}
else if(Selected==3) Loop = false;

}

Добавлено (19.02.2010, 12:52)
---------------------------------------------
Прошел урок о первой мини-игре. здорово сделано, отлично написано!
есть несколько мыслей по поводу.

у меня возникла такая ситуация: скальпель и картину целиком видно из сцены "комната". скальпель исчезает и картина меняется только на сценах "стол" и "картина" соответственно. в сцене "комната" все остается по прежнему.
Возможно ли взять предмет на одной сцене, а он исчезнет на нескольких?

на счет открывания двери предлагаю вариант:
- ключ используется на замочную скважину.
- слышен звук поворота ключа
- после этого можно попасть на следующую сцену нажимая ЛКМ на дверь.

или же после первого прохода двери сделать так, что во второй раз удастся войти без ключа.

я стал об этом думать потому что если возникнет необходимость вернуться на первую сцену, то открыть дверь можно будет только с помощью ключа.

еще такой вопрос: как отобразить реплики актера если он отсутствует в сцене?

нашел ошибку: скрипт, который присваивается скальпелю в папке "items", называется "key" - запарка по ходу)))

Добавлено (27.02.2010, 10:17)
---------------------------------------------
итак. поправки к картине и двери.

в base.inc добавил: global chekker;

в первой сцене (room) такие изменения:

картины на стене нет. она потом подгружается как "Entity". хотя, в принципе это можно реализовать через объекты в самой сцене (так же как в сцене "picture").
создал для сц "room" 2 Entity: порезаная и не порезаная картина.

в scene_init.script в начале добавил:

// подгружаю порезаную и непорезаную карту

global map = Scene.LoadEntity("entities\map\map.entity"); // может прокатило бы и через "var" :-)
map.SkipTo(0, 0); // у меня размер спрайта с картой как разрешение игры - 1024х768, поэтому такие координаты
map.Active = true;

global map_cut = Scene.LoadEntity("entities\map_cut\map_cut.entity");
map_cut.SkipTo(0, 0);
map_cut.Active = true;

// проверяю равна ли переменная chekker единице. если да, то непорезаная карта скрывается

if (chekker == 1)
{
map.Active = false;
}

// дальше - как обычно: координаты появления актера, состояние сцены.

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

во второй сцене (picture) скрипт, присвоеный объекту "picture" выглядит так:

#include "scripts\base.inc"

on "knife"
{
var tmp1;
var tmp2;
tmp1 = Scene.GetNode("pic");
tmp2 = Scene.GetNode("pic_cut");
tmp2.Active = true;
tmp1.Active = false;
Game.PlaySound("sounds\bumaga.wav"); //звук рвущейся бумаги
Game.DropItem("knife"); //после использования скальпель пропадает
chekker = 1;
}

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

скрипт пришитый к объекту "дверь":

#include "scripts\base.inc"

on "LeftClick"
{
if (chekker != 2)
{
actor.GoToObject(this);
actor.Talk("Закрыто на ключ");
}
if (chekker == 2)
{
actor.GoToObject(this);
Game.ChangeScene("scenes\Zal_exit\Zal_exit.scene");
}
}

on "key" // можно сделать, чтоб здесь создавался только звук поворота ключа
{
actor.GoToObject(this); //переход на следующую сцену
Game.ChangeScene("scenes\Zal_exit\Zal_exit.scene");
Game.DropItem("key"); //после использования ключ пропадает
chekker = 2;
}

эту технику можно во многих ситуациях применять

Добавлено (15.03.2010, 16:17)
---------------------------------------------
по поводу вышесказаного:

что бы не создавать несколько переменных можно все делать через одну:

global chekker //объявили переменную

далее так:

chekker.map = 1
chekker.door = 1

таким образом в одну переменную можно влепить иформацию о состоянии нескольких объектов.

***************************************

теперь по поводу 2й мини-игры:

возможна такая вариация:

on "klei" //используем клей на две половинки
{
Game.TakeItem("rub");
Game.DropItem("klei");
Game.DropItem("rub1-2");
}

таким образом целая купюра появляется не на столе а в сразу инвентаре.

Добавлено (26.03.2010, 09:36)
---------------------------------------------
Molier, способ комбинирования предметов (так что б они появлялись в сцене) работает только если не переходить на другую сцену (хотя такой вариант все же может быть полезен).
Надо либо доработать этот способ либо использовать вышеуказаный скрипт.


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...


Сообщение отредактировал AmneziA - Суббота, 27.02.2010, 18:44
 
MolierДата: Четверг, 01.04.2010, 22:35 | Сообщение # 6
Группа: Администраторы
Сообщений: 328
Награды: 2
Репутация: 15
Статус: Offline
Награды
За создание сайта За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
AmneziA, нужно внести изменения и дополнения в уроки, от твоего имени, не против?

Не ошибается лишь тот, кто не чего не делает.
 
AmneziAДата: Пятница, 02.04.2010, 09:02 | Сообщение # 7
Группа: Модераторы
Сообщений: 355
Награды: 3
Репутация: 15
Статус: Offline
Награды
За хорошую репутацию +10 За 100 Сообщений За 200 Сообщений За 300 Сообщений
конечно нет! рад помоч такому замечательному проекту.

еще по поводу урока о меню:
используется команда: Game.PlaySound("music\fon.ogg");
дело в том, что PlaySound не зацикливает композицию. в данном случае лучше - PlayMusic. тогда мелодия будет постоянно по кругу играть.


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

На изломе неба
Был рожден наш мир.
Создавая землю, Первый,
Врядли ведал что творил...
 
Форум » Wintermute Engine » Литература, ссылки, сайты » Обсуждение уроков от Molier
Страница 1 из 11
Поиск:

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