名前 題名 ▼ TSさん > ▼ 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); GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link