Teraz jest Cz 25 kwi, 2024 05:33


Efekt scrollowanych napisów końcowych

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Maverick

Generał

Generał

  • Posty: 772
  • Dołączył(a): Pn 30 kwi, 2007 12:12
  • Lokalizacja: Kutno

Efekt scrollowanych napisów końcowych

PostCz 08 lip, 2010 23:18

Widzicie, potrzebny jest mi efekt scrollowanego tekstu, z dołu do góry. Coś takiego, jak napisy końcowe w filmach. Chciałbym umieścić coś takiego w (tak, tak) kampanii, którą aktualnie tworzę. Jest to rzecz raczej trudna do zrobienia, a w każdym razie wykraczająca poza zasięg mych marnych umiejętności missionmakerskich. Próbowałem umieścić zmienną w definicji RscTitles w Description i potem zmieniać wartość tejże zmiennej w pętli, co połączone było z ciągłym wyświetlaniem tekstu, także w pętli. Bez skutku. Wygląda na to, że description raz odczytuje n=0 i olewa dalsze modyfikacje tej zmiennej. Żeby nie być gołosłownym:


Kod: Zaznacz cały
class RscTitles
{

   class Cred1
   {
      name = "Cred1";
      duration = 999;
      fadein = 0;
      fadeout = 0 ;
      idd = 10;
      movingEnable = false;
      
      controls[]=
      {
         name1
      };      
      class name1 : RscText
      {
         idc = 1;
         style = ST_MULTI + ST_LEFT + ST_NO_RECT + ST_SHADOW;
         lineSpacing = 1.0;
         text = Small Text 1;
         x = 0; y = 0.85; w = 0.325; h = 0.2;
         colorText[] = {0.65, 0.65, 0.8, 1};
         font = BitStream;
         sizeEx = 0.04;
         size = 1;
      };
   };
};


i potem w Init.sqf:
Kod: Zaznacz cały
n=0;
[] exec "Loop.sqs";


i w Loop.sqs:
Kod: Zaznacz cały
#a1
TitleRsc ["Cred1","PLAIN"];
n=n+0.01
~0.5
goto "a1"
exit


Tekst stoi w miejscu. Co robię nie tak?

A może jest jakiś inny sposób, by stworzyć efekt napisów końcowych?
Ostatnio edytowano Pt 09 lip, 2010 02:23 przez Maverick, łącznie edytowano 3 razy
Obrazek
Obrazek


"Read about the history of the place that we live in and stop letting corporate news tell lies to your children." - Immortal Technique
Offline
Avatar użytkownika

kondor

Major

Major

  • Posty: 880
  • Dołączył(a): Pt 11 lut, 2005 04:00
  • Lokalizacja: Berlin (wschodni)

PostPt 09 lip, 2010 00:05

Definicja "titlesa" jest czytana tylko raz.
Nie bardzo rozumiem, co napisałeś:
Kod: Zaznacz cały
y = [color=orange][b]n[/b][/color];

ale nawet jeśliby to miało być odczytywane za każdym uruchomieniem, ty chyba należałoby użyć __EVAL

A przesuwające się kontrolki robi się za pomocą: http://community.bistudio.com/wiki/ctrlSetPosition
Offline
Avatar użytkownika

Maverick

Generał

Generał

  • Posty: 772
  • Dołączył(a): Pn 30 kwi, 2007 12:12
  • Lokalizacja: Kutno

PostPt 09 lip, 2010 02:22

Ech, kurde, to miało być na kolorowo, zapomniałem, że w tagu code nie działa. Poprawiłem w pierwszym poście.

A co do ctrlSetPosition... cóż.

Nie mogę zmusić tego do działania. Mam problem mianowicie z "wyciągnięciem" danego control z description do skryptu. Syntax jest taki:
Kod: Zaznacz cały
_control ctrlSetPosition [0.5, 0.5]

Wstawianie zarówno ID, jak i nazwy (name1) w miejsce _control zdecydowanie nie działa. Próbowałem jeszcze tego:
Kod: Zaznacz cały
 _main = findDisplay 10
 _control1 = _main displayCtrl 1
_control1 ctrlSetPosition [1, y]

Wszystko to w .sqs, of course. Wysypuje mi error o braku disableSerialization, wstawiłem więc to polecenie zarówno na początku skryptu, jak i w Init.sqf - bez skutku. Gra zdaje się tego nie zauważać i ciągle sypie tym samym błędem.

:neutral:
Obrazek
Obrazek


"Read about the history of the place that we live in and stop letting corporate news tell lies to your children." - Immortal Technique
Offline
Avatar użytkownika

kondor

Major

Major

  • Posty: 880
  • Dołączył(a): Pt 11 lut, 2005 04:00
  • Lokalizacja: Berlin (wschodni)

PostPt 09 lip, 2010 07:25

Tak się wyciąga kontrolkę z titlesa:
Kod: Zaznacz cały
class RscTitles
{
   class PlayersTable
   {
      idd = -1;
      movingEnable = 1;
      duration = 999;
      fadein = 1;
      onLoad = "uiNamespace setVariable['playersTable', _this select 0]";
                name = "Table of players";
      class controls
      {
                     class KontrolkaDoPrzesuniecia
                     {
                       idc = 9385658394;
                       ...

Kod: Zaznacz cały
((uiNamespace getVariable 'playersTable') displayCtrl 9385658394) ctrlSetPosition [0.1, 0.1];
((uiNamespace getVariable 'playersTable') displayCtrl 9385658394) ctrlCommit 10;
Offline
Avatar użytkownika

Maverick

Generał

Generał

  • Posty: 772
  • Dołączył(a): Pn 30 kwi, 2007 12:12
  • Lokalizacja: Kutno

PostPt 09 lip, 2010 14:16

Działa :].
Napisy końcowe będą dość skomplikowanym tworem, ale na tym poziomie da się je już bez problemu zrobić.
Dzięki, Kondor.
Obrazek
Obrazek


"Read about the history of the place that we live in and stop letting corporate news tell lies to your children." - Immortal Technique

Powrót do [ArmA II] Edytor

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 32 gości

cron