▼ Mr.XRAYさん
> けっこう使いこなすのは大変そうですね.
キャラクター等完全に使いこなすのは大変
そうですね。
下記が青空文庫のデータを読み込んだ
ものです、これで全文読んでくれます。
プログラムで実行時に作成してそのまま
読み上げてくれます。
実行時にテキストも作りますので、これを
ファイルに保存すれば別途保存できる動画
の作成も出来ると思います。
下記はモメにコピペした物を読み込む為の
ものです。
BOB君にしゃべって貰う為の1行分は
character: talk( name=BOB, text="1行分")
と言うテキストを加える感じです
画像を表示したければ
title: select(type=imagefile, filename="F:\test01.jpg")
video: switcher( source=title )
とするだけです。
動画は
movie: open( name=movie1, filename="F:\test02.mpg")
video: switcher( source=movie1 )
movie: play( name=movie1, from=30, to=120,repeat=5, wait=yes )
これで30フレームから120フレームまでを
5回繰り返します。
こんな調子のテキストを書いて行くだけです。
基本の設定は大変そうですので、出来たものを
テキストにして置いて、それを読み込ませた
後上記のテキストを書き加えるのが簡単だと
思います。
function st_Add(st:AnsiString):AnsiString;
var i:integer;
SL:TStringList;
begin
SL:=TStringList.Create;
try
SL.LoadFromFile('aibiki.txt');
for i:=0 to SL.Count-1 do
begin
st:=st +
'character: talk( name=BOB, text="'
+SL[i]
+ '")' + #13#10 ;
end;
Result:=st;
finally
SL.Free;
end;
end;
function st_Add2(st:AnsiString):AnsiString;
var i:integer;
begin
for i:=0 to Form1.Memo1.Lines.Count-1 do
begin
st:=st +
'character: talk( name=BOB, text="'
+Form1.Memo1.Lines[i]
+ '")' + #13#10 ;
end;
Result:=st;
end;
ちなみに下記のコードはいまだ動作不明です。
右マウスダウン後ドラッグするとxの値が
移動量変化します。yは0です。
//tvif.pas
type
PTVP=^TVP ;
TVP=array [0..1] of Smallint;
procedure tvifGetMousePos(var pos:PTVP); cdecl; external TvifExport;
//unit Unit1;
tvifGetMousePos(PTVPos);
x:=TVPos[TVP_X];
y:=TVPos[TVP_Y];
Form1.Label1.Caption:=IntToStr(x);
Form1.Label2.Caption:=IntToStr(y);
|