Please login or register.

Login with username, password and session length
Advanced search  

News:

Latest WME version: WME 1.9.1 (January 1st, 2010) - download

Pages: 1 2 3 [All]

Author Topic: SubtittleWindow - jak ho chytře vytvořit? "VY  (Read 23298 times)

0 Members and 1 Guest are viewing this topic.

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
SubtittleWindow - jak ho chytře vytvořit? "VY
« on: January 31, 2010, 12:55:14 PM »

Ahoj, můj další úkol je abych vytvořil subtittlewindow. Při každém aktivním hovoru který u mě probíhá dole uprostřed "monitoru" se mi má zobrazit takový proužek na kterém bude zobrazený text mluvící postavy. Je mi jasný. že to musím vyřešit přes game script, abych to okno na každou scenu extra nevolal. A nejspíš i dát otázku: jestli mám zaplé titulky. A pak to hlavní, jak se zeptát na to, jestli postava, nebo jiná entita na sceně mluví?

Napádá mě dát do game scriptu tohle, ale to se mi to okno ukazuje furt.

Code: [Select]
var tempwin = Game.LoadWindow("interface\system\subtitlewindow.window");
SubWindow = tempwin.GetWidget("subtitlewindow");
« Last Edit: February 19, 2010, 12:34:05 PM by pirko7 »
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #1 on: January 31, 2010, 04:55:28 PM »

Pokud tě zajímá komplexnější řešení, mrkni pro inspiraci sem.

http://forum.dead-code.org/index.php?topic=3033.0
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #2 on: January 31, 2010, 05:52:02 PM »

Děkuju, sice jsem se snažil script co nejvíc očesat, ale později jsem zjistil že to asi tolik nejde. Dal jsem tuto metodu teda do scriptu actora. Jediný na co nemohu přijít je, jak mi druhá postava kterou zvykem volám "this" odpoví taky s tím oknem? Nebo to musím ke každé postavě dávat zvlášť?  :)

Ještě jeden dotaz, zaboha nemužu dostat titulky do středu a to nastavuju uplně stejně jak jsem to měl předtím. Je tam někde nějaký háček?  ;D
« Last Edit: January 31, 2010, 06:28:47 PM by pirko7 »
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #3 on: February 01, 2010, 04:24:27 PM »

Ja len trocha doplním, bez toho podrobnejšieho kódu, na ktorý odkázal meta :)

Pokiaľ by si chcel zobraziť jednoduché okno na titulky, ja som to vyriešil takto:

do game_loop.script si pridáš tento riadok:

Code: [Select]
while(true){
  // ostatný kód
  if(actor.IsTalking())
  WinSubtitles.Visible = true;
else
  WinSubtitles.Visible = false;
}

« Last Edit: February 01, 2010, 09:32:34 PM by dReAM_20 »
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #4 on: February 01, 2010, 07:54:13 PM »

No ten první velký script, tam mi nefunguje animace mluvení actora, tenhle jednoduchej mi teoreticky nejde vubec.  ;D Sice jsem si tam dal požadovanej sleep, dokonce jsem se ho snažil i nějak opravit, ale ty tam davaš true a false. Ale to bych musel mít danou věc na sceně ne?
« Last Edit: February 01, 2010, 08:59:13 PM by pirko7 »
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #5 on: February 01, 2010, 09:37:09 PM »

No ten první velký script, tam mi nefunguje animace mluvení actora, tenhle jednoduchej mi teoreticky nejde vubec.  ;D Sice jsem si tam dal požadovanej sleep, dokonce jsem se ho snažil i nějak opravit, ale ty tam davaš true a false. Ale to bych musel mít danou věc na sceně ne?

Ten prvý skript som neriešil, ale ten druhý ide zaručene dobre. Tu je link na stiahnutie názorného projektu, kde je vidieť, čo ako funguje.
Link: http://www.edisk.sk/stahni/08229/simple_subtitles_box.rar_1.01MB.html

Okno na titulky sa zobrazí keď klikneš LTM na postavu, lebo vtedy začne hovoriť.
« Last Edit: February 01, 2010, 09:44:18 PM by dReAM_20 »
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #6 on: February 02, 2010, 09:01:48 PM »

Ahá, ty to schováš do celého whilu od game_loopu. Funguje to dobře, ale jak to nastavím, aby mi postava na scéně odpověděla taky s oknem? čili "actor.Talk("blah"); //okno se zobrazi
                                                 "this.Talk("blah); // okno se nezobrazi

Jakou otázku tam přidat, aby to platilo celkově pro Talk?  :)
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #7 on: February 02, 2010, 09:55:08 PM »

1. riešenie, ktoré ma napadlo, je pýtať sa, čí daná hovorí postava, samostatne. To znamená, že na každý objekt typu actor budeš volať metódu IsTalking() a aby kód nebol príliš zložitý alebo dlhý, použi operátor logického sčítania or:

Code: [Select]
while(true){
  // ostatný kód
  if(actor.IsTalking() || some_actor.IsTalking() || some_actor2.IstTalking())
  WinSubtitles.Visible = true;
else
  WinSubtitles.Visible = false;
}

:)
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #8 on: February 02, 2010, 10:46:58 PM »

To mě také napadlo, ale to pro to není nějaký příkaz podobně jako u null. Postav bude ve hře přes 60, a nebude to moc veselý, je furt připisovat :-). Ale když mi nic jineho nezbyde, udělám to tak. Díky.  ;)
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #9 on: February 03, 2010, 09:22:24 PM »

Tak neudělám, pro víc postav to prostě nejde, Istalking mi pak už vícekrat jen píše chybu ignored. Chtělo by to společnou otazku na Talk.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #10 on: February 03, 2010, 09:52:09 PM »

ten mnou ukázanej systém právě funguje obecně. Jako parametr zadáš která postava mluví a proto stačí jedno okno. Nedáváš actor.Talk, ale TalkWindow.Talk("ahoj","Pepa"); apod.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #11 on: February 06, 2010, 11:05:35 AM »

No já mám už šíleně moc textů na to abych tohle začal zamě
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #12 on: February 06, 2010, 02:39:01 PM »

Tak neudělám, pro víc postav to prostě nejde, Istalking mi pak už vícekrat jen píše chybu ignored. Chtělo by to společnou otazku na Talk.

Koľko postáv znamená viacej postáv? :) Do projektu som si pridal ďalšiu postavu a ešte jednu entitu. Všetko funguje OKEY :).
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #13 on: February 07, 2010, 07:54:07 PM »

V jejich *.entite souboru máš jejich jmeno že? To já pak zadavám tak jak jsi poradil, ale nejde to.
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #14 on: February 07, 2010, 07:57:30 PM »

V jejich *.entite souboru máš jejich jmeno že? To já pak zadavám tak jak jsi poradil, ale nejde to.

Nerozumiem, ako to myslíš. Môžeš sem dať zdrojový kód?

EDIT: pridávam svoj zdroják

Code: [Select]
global ent;
global gen;

if(actor.IsTalking() || ent.IsTalking() || gen.IsTalking())
      WinSubtitlesBox.Visible = true;
else
  WinSubtitlesBox.Visible = false;
« Last Edit: February 07, 2010, 08:55:29 PM by dReAM_20 »
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #15 on: February 08, 2010, 08:10:48 PM »

A to používáš objekt na sceně nebo nahráváš entitu?
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #16 on: February 09, 2010, 12:20:22 PM »

A to používáš objekt na sceně nebo nahráváš entitu?

scenes\room\scr\scene_init.script
Code: [Select]
global ent = Scene.LoadEntity("entities\new_entity\new_entity.entity");
global gen = Scene.LoadActor("actors\new_actor\new_actor.actor");
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #17 on: February 09, 2010, 02:17:12 PM »

Method isTalking undefined. Můj zdroják je uplně stejný, mohu poprosit o nějaký Wpr projekt? Prostě jak je tam víc IsTalking, tak mi to háže jenom chyby.  :(
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #18 on: February 09, 2010, 07:45:31 PM »

Method isTalking undefined. Můj zdroják je uplně stejný, mohu poprosit o nějaký Wpr projekt? Prostě jak je tam víc IsTalking, tak mi to háže jenom chyby.  :(

Ukážkový projekt je tu: http://www.edisk.sk/stahni/49368/simple_subtittles_box.rar_7.38MB.html

Chcem upozorniť na istý problém, ktorý sa objaví pri spustení projektu. Nejedná sa o "chybu", lenže ešte pred samotným spustením scény je spustený skript game_loop.script, v ktorom je podmienka:
Code: [Select]
if(actor.IsTalking()||jenny.IsTalking()|| molly.IsTalking()||pacman.IsTalking())lenže v tejto dobe ešte neexistujú objetky actor, jenny, molly, pacman, preto bude WME písať chybu! Po spustení scény, kde sa objekty vytvoria, je už všetko v poriadku :).

Ak sa mi bude dať, časom premyslím iný, lepší spôsob. Toto bola prvotná myšlienka, ako to vytvoriť :).
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #19 on: February 13, 2010, 07:00:01 PM »

Tak to potom nebyla chyba u mě.  :( Potřebuju něco použitelnýho, to opravdu není nějaký šikovný a jednoduchý způsob? Krom toho, že bych musel mechat přepsat actor.Talk?
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #20 on: February 16, 2010, 05:09:07 PM »

Tak jsem to začal skládat nějak sám a dostal jsem se na tento script který musím vložit každe postavě.
Problemy, jsou že mi to okno při rozhovoru z postavy na postavu nehezky blikne, ale to se dá strávit. Horší je, že to prostě uplně odmíta nastavení aby mi titulky začínaly uprostřed monitoru a roztahovali se do stran, do určite hranice a pak se dali na další řádek. Přitom s tímhle nastavením přímo na postavu to funguje. Takhle bohužel ne.

Code: [Select]
method Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment)
{
Game.Interactive = false;


WinSubtitlesBox.Visible = true;

this.SetFont("fonts\kulivocko.font");
this.SubtitlesPosRelative = false;
this.SubtitlesPosX = 650;
this.SubtitlesPosY = 730;
this.SubtitlesWidth = 1000;


//this.Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment);
this.Talk(Text, SoundFilename, Duration, TalkStances, 0);

WinSubtitlesBox.Visible = false;
Game.Interactive = true;
}

Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #21 on: February 16, 2010, 10:35:24 PM »

Čo keby skúsiš dať

Code: [Select]
this.SubtitlesPosRelative = false;
this.SubtitlesPosX = 650;
this.SubtitlesPosY = 730;
this.SubtitlesWidth = 1000;

mimo túto preťaženú metódu? Aj tak stále pretráva problém s titulkami?
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #22 on: February 17, 2010, 02:28:30 PM »

Chyba stále stejná, bojím se o chybu WME.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #23 on: February 17, 2010, 05:56:36 PM »

udělej mi repro projekt, mrknu se na to. Link prosím do SZ
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #24 on: February 18, 2010, 07:45:37 PM »

Dobře, dej mi čas, udělám nějaký prototyp.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #25 on: February 18, 2010, 10:56:30 PM »

Code: WME Script
  1.         this.SubtitlesPosX = 0;
  2.         this.SubtitlesPosY = 730;
  3.         this.SubtitlesWidth = 1280;
  4.         this.SubtitlesPosXCenter = true;
  5.  
  6.         this.Talk(Text, SoundFilename, Duration, TalkStances);
  7.  

Ps. Abych nezapoměl, přečti si pro vysvětlení co znamenají parametry funkce Talk (speciálně ten, kam jsi dával 0) :D
« Last Edit: February 18, 2010, 10:59:28 PM by metamorphium »
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #26 on: February 18, 2010, 11:07:18 PM »

Děkuju, ale právě takhle jsem se k tomu dopracoval taky, ale já potřebuju, aby mi text nelezl až ke krajní straně obrazovky, ale par centimetru od ní. Tak jsem this.SubtitlesWidth dal na 1000. Pak ale nastanou ty zvláštní komplikace. Ktere bez téhle metody nenastavají.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #27 on: February 19, 2010, 03:39:08 AM »

jo, sorry, už jsem to pochopil. Jednoduše nastav:

Code: WME Script
  1.         this.SubtitlesPosX = 640;
  2.  

taky asi budeš chtít upravit

interface\system\subtitles_box.window
« Last Edit: February 19, 2010, 03:42:23 AM by metamorphium »
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #28 on: February 19, 2010, 09:58:30 AM »

Probohááááááááááááááááááááááá  :D, já se zblázním, to neumí vysvětlit? Ještě jednou srozumitelně a když ani to nezabere pošlu obrázky jak to chci. TEXT KDYŽ ACTOR MLUVÍ CHCI MÍT UPROST
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #29 on: February 19, 2010, 10:16:40 AM »

Jaký máš rozlišení hry? V tvém kódu nastavuješ šířku titulků na 1000 pixelů, a jejich prostředek na 650 (což je polovina z 1300, což není úplně typický rozlišení).
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #30 on: February 19, 2010, 10:44:16 AM »

Mám rozlišení hry a scén na 1280x800.
DŮLEŽITÉ: Když nepoužiju metodu talk, jak zde uvádím, a nápišu do scriptu actora nahoru a volně.

Quote
this.SubtitlesPosRelative = false;
this.SubtitlesPosX = 650;
this.SubtitlesPosY = 730;
this.SubtitlesWidth = 1000;

Funguje to podle představ. Když to ale dám do metody, chová se to uplně jinak.
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #31 on: February 19, 2010, 10:56:10 AM »

Já se přiznám, že jsem tuhle diskusi detailně nestudoval, protože v ní je totální chaos.

Takže jen nějaká fakta:

1) 650 není polovina z 1280, takže ty titulky nemáš uprostřed obrazovky :)
2) Pozici titulků není potřeba nastavovat v každém Talk příkazu, protože to je vlastnost actora, takže je stačí nastavit jednou.
3) Je úplně jedno, kde se nastaví, pokud se nastaví před vlastním voláním vestavěné Talk metody.
4) Nevím, kde tu metodu máš napsanou. Pokud vycházíš z toho systému titulků, který to někde na fóru popsal meta, tak tam nemluvili vlastní actoři ve hře, ale mluvilo to kono s titulkem (protože ve Ghost in the Sheet žádní actoři nebyli).
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #32 on: February 19, 2010, 11:06:33 AM »

1) Ano to jemožný, asi jsem se tam sekl, ale na středu to je.
2) Nenastavuju jí v každem příkazu, mám ji pouze v actor.script a jiných entites.scriptech.
3) Dobře, je pravda že jsem jí zkoušel dávat nahoru mimo metodu a fungovala stejně.
4) Poslední metodu jsem napsal zde, dokonce jsme vytvořil i prototyp. Metoda je mnou vytvořená. Postava mluví sama za sebe.

zde přidávam prototyp
http://www.edisk.cz/stahni/01522/subtitlebox_prototyp.rar_1.01MB.html

Co od toho očekávam: Chci aby text byl vždy hezky uprostřed "x-sové" souřadnice, a rostl souměrně do stran od středu. Ale až dojde cca 5CM ke krajům (levý, pravý) tak aby se dal na další řádek. Znovu podotýkam bez metody, mi to funguje. Tak jak jsem uvedl. Proto to nechápu.
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #33 on: February 19, 2010, 11:57:39 AM »

rozlišení je 1280x800, u mě to funguje dobře, do krajů to neleze.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #34 on: February 19, 2010, 12:23:14 PM »

 :'(  :'(  :'(
Přidávam teda dva obrázky, když neumím jinak vysvětit, že nechci text až k okraji, ale chci tam odstup.

Obrazek jak to mam po posledni vaší úpravě. Takhle to mám a nechci.



A takhle to chci.

Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit?
« Reply #35 on: February 19, 2010, 12:33:30 PM »

Je to teda veliká záhada, ale povedlo se mi to rozchodit, vůbec nevím jak je to možný, ale z metody jsem vyndal co se dalo, i font, a uplně nahoru scriptu actora jsem napsal.

Code: [Select]
this.SubtitlesPosRelative = false;
this.SubtitlesPosX = 640;
this.SubtitlesPosY = 728;
this.SubtitlesWidth = 1000;

Už to konečně funguje.  :o
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« Reply #36 on: February 20, 2010, 10:36:16 AM »

Na začiatku tejto diskusie som uviedol zdrojový kód, ktorý mal dva nedostatky:
- vo skripte game.loop bolo treba dať do cyklus while(true) podmienku if, v ktorej sa testoval, či daná postava hovorí alebo nie. Ak by bolo vo hre napr. 30 postáv, engine by v každom kroku tohto nekonečného cyklu musel testovať túto podmienku. Z toho plynie, že je to veľmi neefektívne!

- stalo sa, že okno občas bliklo, čo bolo veľmi nežiadúce!

Prišiel som a otestoval som veľmi jednoduché riešenie, ktoré spočíva v preťažení metódy Talk a pridaní jedného parametra do zoznamu parametrov tejto metódy.

Preťažená metóda Talk vyzerá takto:

Code: [Select]
method Talk(Text, IsLast, SoundFilename, Duration, TalkStances, TextAlignment)
{
WinSubtitlesBox.Visible = true;
this.Talk(Text, SoundFilename, Duration, TalkStances, TextAlignment);

        // aby nepríjemne neblikal text
        Sleep(100);

if(IsLast)
{
  WinSubtitlesBox.Visible = false;
  Sleep(20);
}
}

Príklad volania metódy:

Code: [Select]
this.Talk("Ahoj, toto je testovací prototyp na zobrazenie okna dialógov.");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?");
this.Talk("Tak o čom teda pokecáme?", true);

Zavolá sa preťažená metóda Talk na object actor.  Zobrazí sa okno, kde budú zobrazené titulky. Toto okno bude zobrazené dovtedy, pokiaľ nedáme inštrukciu, aby sa zavrelo. Touto inštrukciou je predanie argumentu typu 1 alebo true ako druhý argument funkcie Talk. Pokiaľ bude v rozhovore viacero viet za sebou, stačí predať tento argument až v poslednom volaní funkciu Talk.

Keď bude mať postava povedať iba jednu vetu, volanie metódy sa zmení na this.Talk("blah“, true);

Tu je link na stiahnutie WPR: http://www.edisk.sk/stahnout-soubor/60421/SubtitlesBox.rar_2.98MB.html

Enjoy  :) ;)
Logged

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« Reply #37 on: February 20, 2010, 12:15:39 PM »

Přišel? Myslíš upravil můj vytvořený script? Nefunguje to pro dabing na druhém místě, ale předpokládam, že za tím stojí jen drobná úprava pořadí. Škoda, že je to takhle furt musím otrocky vypínat. Jinak to je dobrý.  ::thumbup
« Last Edit: February 20, 2010, 12:40:16 PM by pirko7 »
Logged

Andrej (Blue Arc)

  • Occasional poster
  • **
  • Karma: 1
  • Offline Offline
  • Gender: Male
  • Posts: 73
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« Reply #38 on: February 20, 2010, 12:43:07 PM »

Přišel? Myslíš upravil můj vytvořený script? Nefunguje to pro dabing na druhém místě, ale předpokládam, že za tím stojí jen drobná úprava pořadí. Škoda, že je to takhle furt musím otrocky vypínat. Jinak to je dobrý.  ::thumbup

Nie, tvoj skript som neupravoval;) V čom je problém napísať si teda tú metódu tak, aby fungoval aj dabing? :) U m
« Last Edit: February 20, 2010, 01:00:53 PM by dReAM_20 »
Logged

metamorphium

  • Global Moderator
  • Addicted to WME forum
  • *
  • Karma: 12
  • Offline Offline
  • Gender: Male
  • Posts: 1511
  • Vampires!
    • View Profile
    • CBE  software s.r.o.
Logged
J.U.L.I.A. Enhanced Edition, Vampires!, J.U.L.I.A., J.U.L.I.A. Untold, Ghost in the Sheet

pirko7

  • Regular poster
  • ***
  • Karma: 0
  • Offline Offline
  • Posts: 166
    • View Profile
Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« Reply #40 on: February 21, 2010, 05:22:16 PM »

Nie, tvoj skript som neupravoval;) V čom je problém napísať si teda tú metódu tak, aby fungoval aj dabing? :) U m
« Last Edit: February 21, 2010, 05:24:36 PM by pirko7 »
Logged

Mnemonic

  • WME developer
  • Administrator
  • Addicted to WME forum
  • *
  • Karma: 41
  • Offline Offline
  • Gender: Male
  • Posts: 5683
    • View Profile
    • Dead:Code Site
Re: SubtittleWindow - jak ho chytře vytvořit? "VY
« Reply #41 on: February 21, 2010, 05:31:26 PM »

Nějak se to tu začíná zvrhávat. Takže vás raději odkážu na pravidla a zamykám.
Logged
Yes, I do have a twitter account
Please don't send me technical questions in private messages, use the forum. ::wave
Pages: 1 2 3 [All]
 

Page created in 0.058 seconds with 20 queries.