On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение





Сообщение: 1
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация: 0
ссылка на сообщение  Отправлено: 22.09.08 22:43. Заголовок: вопрос по скрипту движения текста


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


собсна сам скрипт взят из титров демо примера wme


 цитата:
#include "scripts\base.inc"

actor.Active = false;

var CurrY = 403;

var Win = Game.CreateWindow();
Win.X = 360;
Win.Y = 405;
Win.Width = 0;
Win.Height = 0;
Win.AttachScript("scenes\credits\scr\window.script");

CurrY = 0;



AddText("");
AddText("");
AddText("*****", true);
AddText("***");
AddText("");
AddText("***");
AddText("");
AddText("***********", true);
AddText("*******");

AddText("");
AddText("");
AddText("Powered by Wintermute Engine", true);
AddText("Copyright (c) бла бла бла");
AddText("");


Win.Exclusive = true;
while(Win.Y > -CurrY)
{
Win.Y = Win.Y - 3;
Sleep(50);
}
if(Win!=null)
{
Win.Close();
Game.UnloadObject(Win);
Game.ChangeScene("scenes\Menu\Menu.scene");
}



////////////////////////////////////////////////////////////////////////////////
function AddText(Text, Hilight)
{
if(Hilight==null) Hilight = false;

var Static = Win.CreateStatic();
if(Text==null) Static.Text = "";
else Static.Text = Text;
Static.X = 0;
Static.Y = CurrY;
Static.Width = Game.ScreenWidth;
Static.Height = 32;
Static.TextAlign = TAL_CENTER;

if(Hilight) Static.SetFont("fonts\big_blue.font");
else Static.SetFont("fonts\big_white.font");

CurrY = CurrY + Static.Height;

Win.Height = Win.Height + Static.Height;
}




заранее спасибо

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 7 [только новые]







Сообщение: 25
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 23.09.08 10:42. Заголовок: while(Win.Y > -..



 цитата:

while(Win.Y > -CurrY)
{
Win.Y = Win.Y - 3;
Sleep(50);
}



Эта часть скрипта перемещает окно с титрами по экрану, а тебе нужно переписать это место так, чтобы перемещать по экрану только объекты Static, которые создаются функцией AddText внутри окна. Окно должно быть жестко привязано к экрану телевизора

_________________________

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 2
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация: 0
ссылка на сообщение  Отправлено: 23.09.08 12:42. Заголовок: хммм. спасибо. имхо,..


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

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 26
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 23.09.08 12:46. Заголовок: Да, в твоей ситуации..


Да, в твоей ситуации использовать шаблон из wme demo будет сложновато, надо многое переделывать. Проще все сделать с нуля.

_________________________

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 3
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация: 0
ссылка на сообщение  Отправлено: 23.09.08 14:10. Заголовок: теперь совсем уже по..


теперь совсем уже по части глупости зашкаливающий вопрос:
допустим добавляем в сцену sprite entity, задаём ему скрипт

 цитата:
#include "scripts\base.inc"

//
while(this.Y > -1024)
{
this.Y = this.Y -2;
Sleep(40);
}

Game.ChangeScene("scenes/Menu/Menu.scene");


чтоб от низа экрана в верх шёл, но какие именно нужно указать значения в коде, чтобы спрайт появлялся в точке 604 по оси Y, двигался вверх до точки 401, и после исчезал?
плиз, хелп, т.к. как уже говорил, в скриптах нуб, а из-за этой сцены демку самой игры в сеть не выбросить =(

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 27
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 23.09.08 15:09. Заголовок: теперь совсем уже по..


теперь совсем уже по части глупости зашкаливающий ответ:

Сделай анимированный спрайт с ползущими вверх титрами

_________________________

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 4
Зарегистрирован: 22.09.08
Откуда: Ленинград
Репутация: 0
ссылка на сообщение  Отправлено: 23.09.08 15:38. Заголовок: если анимация достат..


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

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 28
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 23.09.08 16:06. Заголовок: Набираешь в фотошопе..


Набираешь в фотошопе титры в длинную колбасу и сохраняешь их, например в jpg или png. Потом создаешь окно по размерам твоего телевизора. Ставишь параметр ClipContents в true (!ОБЯЗАТЕЛЬНО!). В окно добавляешь Static control, на фон которого ложишь свою колбасу. Опускаешь объект Static ниже нижней кромки окна. В скрипте получаешь доступ к этому объекту

win = Game.LoadWindow("путь к файлу окна");
tmp = win.GetControl("объект static");

А потом, изменяя значение tmp.Y крутишь свой цикл

Не забудь удалить объект окна из памяти перед сменой сцены


_________________________

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет