HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1123
初心者アニメーション動画を再生させたいです。15解決


初心者

リンク

2012/11/23(Fri) 20:40:26|NO.50820

自分がやりたいのは、短いアニメーションの動画を流す事です。
キャラを選択したらそのキャラの画面が表示され、ボタンを押せば動画が再生されるもので、
いろんなサイトをみましたが、どれもダイアログが開いてしまうのです。
ソフトを作りたいのでいちいちダイアログが開かないようにしたいです。

自分が考えているのは、動画が埋め込んであってそれを再生させる感じです。
bufferとかにあらかじめ動画を読み込んでおくことはできるのでしょうか?
もしできるなら、簡単なスクリプトを教えていただけませんか?
それとその短いアニメーション動画は暗号化して、簡易に開けないようにしたいです。
最悪、暗号化しなくてもとにかくダイアログが開かないようにしたいです。



この記事に返信する


晩御飯

リンク

2012/11/23(Fri) 21:42:04|NO.50821

具体的なコードがないのでわからないけどダイアログ開くのはあくまでファイルを後から指定したいだけであって
ダイアログ自体は動画再生に一切からんでいないよね
再生したいファイルがわかっているならダイアログなしにそれを選んで再生するだけ

bufferに動画は多分無理

暗号化は動画ファイルかどうか一切関係ないのでググってみたらいくらでも出てくるはず



check

リンク

2012/11/23(Fri) 22:12:14|NO.50824

>bufferに動画は多分無理
アニメーションの長さにもよるが、独自の形式で(pngファイルのリストとして)
動画を保存しておけばbufferに動画を描画することも可能といえば可能。
質問者の口ぶりからして動画に音声はなさそうなので。
仮に音声があったとしても、動画は短いらしいので、キャラが選択されたら音声を流せばいいと思う。

そして暗号化の話はまた別。ググってくれ。
簡単な方法としては以下のようなものがある。

#module #define ENCRYPT_KEY 47 // 暗号化に使用するキー。 1〜255の値を使用する。 #deffunc encrypt var data, int len, local tmp if (len <= 0) : return repeat len tmp = peek(data, cnt) tmp ^= ENCRYPT_KEY poke data, cnt, tmp loop return #define global decrypt(%1, %2) encrypt %1, %2 #global test = "abcdefgあいうえお12345" mes test encrypt test, strlen(test) mes test decrypt test, strlen(test) mes test



初心者

リンク

2012/11/23(Fri) 22:33:11|NO.50825

晩御飯さん お返事ありがとうございます。早速いろいろ試したのですが
どうしても実行ファイルにしてもダイアログが出ます。ダイアログの記述を消しても駄目でした。
いろんなサンプルで試したのですけど、動画が自動で再生されません。
aviplay.dllというモジュールを使用しても、やはり実行ファイルにでもダイアログが開いてしまいます。

画面があり→キャラを選択→ボタンを押す→動画ファイルを再生させる画面←ここで
必ずダイアログが開いて選択しないと再生できません。

あとcheckさん 暗号化については勉強します。そのスクリプトで勉強します。
現時点では、全く理解できませんでした・・・

まだ、やり始めて3日目ですが、がんばってみます。ありがとうございました。



暇人

リンク

2012/11/23(Fri) 23:09:33|NO.50826

そもそもダイアログとは何を指してるのか
ファイル選択ダイアログなのか別のものなのか



初心者

リンク

2012/11/23(Fri) 23:38:21|NO.50828

この質問の流れでダイアログを理解できないなら書き込まないでいから(笑)
他のお二方の回答みれば理解できるでしょw
他の方は一発で理解していますけど・・・だから暇人なのか・・・



暇人

リンク

2012/11/23(Fri) 23:45:53|NO.50830

>ダイアログの記述を消しても駄目でした。
消しても出るのが考えられないから聞いてるんだが?

aviplay2を使用

#include "aviplay2.as" dshow_init 1, 0 filename = "動画ファイル名.avi" dshow_load filename, 0 dshow_getvideosize 0, w, h dshow_setvideopos 0, 320, 240, 320, 240, 0, 0, w, h dshow_play 0, 0 pos 0,0 mes "再生開始"
自分の所ではファイル選択ダイアログなんて出ない



初心者

リンク

2012/11/24(Sat) 00:18:41|NO.50831

#include "aviplay.as"
#include "winmm.as" //timeGetTimeを使う為

vfw_init 1
vsid = 0

dialog "avi", 16,"1.avi"
filename = refstr
if filename == "" : end

vfw_load filename, vsid
vfw_getinfo vsid, aviinfo
w = aviinfo(0)
h = aviinfo(1)
totalframe = aviinfo(2)
totaltime = aviinfo(3)
button gosub "pause", *pause
gsel 0
pos 0, 24
vfw_play vsid, 0, 0, w, h

timeGetTime
fps_count_time = stat
prevFrame = -1
frame = 0
fps = 0
font "MSP ゴシック",16
color 255, 0, 0
//vfw_release 0
repeat
vfw_update vsid, UPDATE_LOOP
currentFrame = stat
if prevFrame != currentFrame {
//前回に表示したものと違うフレーム番号が返って来た時のみ画面を更新する
redraw 0
pos 0, 24
mes strf("FPS:%.2f", fps)
mes strf("Frame:%d/", currentFrame)+totalframe
redraw 1, 0, 24, w, h
frame++
prevFrame = currentFrame
}
timeGetTime
time = stat
if time - fps_count_time >= 1000 {
fps = 1000.0 * frame / (time - fps_count_time)
frame = 0
fps_count_time = time
}
await 1
loop

*pause

駄目だぁぁぁぁ まったく出来ない ↑はaviplayモジュールのサンプル
当然ダイアログから選択して再生可能だけど、このスクリプトからダイヤログを取っ払って
どうやって再生させるのか、書き直してください。  もう俺の力では無理です。

それと暇人さん・・・ それ試したけど駄目でした・・・ まあがんばります。
ちゃんとaviplay2の方をダウンロードしましけど初心者の自分にはまだ早いようです。



@key

リンク

2012/11/24(Sat) 00:18:56|NO.50832

>>50828
それは聞き捨てならないな
暇人さんはエラーのダイアログか普通のダイアログかファイル選択のダイアログか
具体的な記述が質問に含まれていなかったからきいているんでしょう
回答してくれる人に失礼なことは言うな
自分が名前の通り初心者だと自覚して自分の勝手な想像で思い込まないこと


ダイアログの記述を消しても出るってことはエラー以外に考えられないんですがね
本当にあなたはダイアログ構文を理解しているんでしょうか



初心者

リンク

2012/11/24(Sat) 00:35:38|NO.50834

もう うるせえよオマエ黙れよww 
@key 横からチャチャいれるなよww馬鹿なのおまえ?

そもそもオマエ関係ないだろ? シャシャリでて来るな。

オマエも文句言いたいなら 暇人のように解決策のひとつでも上げてみろよ
俺の求めている。スクリプトくらい簡単にできるんだろ?

それとオマエは馬鹿か ダイアログ消したらダイアログなんて出ネーだろww
前後の文面で察しろよ。ダイアログ記述消しても動画が再生されなかったて事だろ

おまえは馬鹿か? さっさと 答えろ 能無しがっ!



暇人

リンク

2012/11/24(Sat) 00:43:22|NO.50835

>どうやって再生させるのか、書き直してください。  もう俺の力では無理です。
自分でファイルの場所ファイル名を指定する

スクリプトと同じフォルダに動画ファイルを置いて
NO.50830のを試してみる(一度スクリプトを保存してフォルダを確定させた方が良い)
動画ファイル名.aviは自分の再生させたファイル名に変える

>それ試したけど駄目でした
どうダメだったかが重要なんだが・・・

>ちゃんとaviplay2の方をダウンロードしましけど初心者の自分にはまだ早いようです。
再生するだけならaviplay2の方が簡単だと思う・・・



kanahiron

リンク

2012/11/24(Sat) 00:45:22|NO.50836

とてもわかり易くfilename = refstr って書いてあるんですがねぇ
refstrもF1キー押して検索すればわかるでしょう

自分で調べようとしない初心者()さんもあれですがね
どの世界でも初心者と言ってなんでも許されるわけではないです

「赤の他人」に、質問をしているのですから、頑張っても解決しなくてイライラしても
"もう うるせえよオマエ黙れよww"のような態度を取るべきではないです
ネットのマナーを今一度ご確認なさることをおすすめします



晩御飯

リンク

2012/11/24(Sat) 00:47:17|NO.50837

あれはファイル選択ダイアログと勝手に思い込んでただけで別に理解したわけではなかったけど

一つ気になるのは質問してる人はpicloadとかなら使えるんかな



@key

リンク

2012/11/24(Sat) 00:48:57|NO.50838

とりあえず全部自分で書くことからはじめればいいと思う
サンプルを流用するな そうしないと伸びないぞ



初心者

リンク

2012/11/24(Sat) 00:50:32|NO.50841

申し訳ありませんでした。

暇人様 あなたは神です。無事再生できました。
数々のご無礼をお許しくださいませ。

それとkanahironさんよ そりゃぁヘルプとか見ましたがなぁ
せやけど わからへんから質問してまんがな!

それとマナーについては あやまります。 みな様すみませんでした。

aviplay2 おいしゅうございました。



aaa

リンク

2012/11/24(Sat) 06:34:01|NO.50845

> とりあえず全部自分で書くことからはじめればいいと思う
> サンプルを流用するな そうしないと伸びないぞ
とりあえずの写経こそが一番の近道なのに・・・



ONION software Copyright 1997-2023(c) All rights reserved.