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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0303
makeスクリーンセーバーの作成について13未解決


make

リンク

2008/3/3(Mon) 04:06:46|NO.13872

将棋のスクリーンセーバーを作りたいと思ってます
具体的にどう書けばいいんでしょうか?
自分が思いつくのは
#pack "shogi.exe"
#packopt name "shogi_Screen-Saver"
#packopt type 2
ax=ginfo_dispx:ay=ginfo_dispy
bgscr 2,ax,ay,0,0,0,ax,ay
exec "将棋.exe";アプリをたちあげる
chdir "C:\\XXX";ファイルのあるディレクトリ
ファイルよみこみ
ファイルの再生
再生が終わったら次のファイルの再生

こんな感じでしょうか?



この記事に返信する


f

リンク

2008/3/3(Mon) 18:16:38|NO.13881

・・・それは「将棋のスクリーンセーバ」でなくて、
「指定した実行ファイルを起動するスクリーンセーバ」でね?



hirosenzm

リンク

2008/3/3(Mon) 19:12:45|NO.13883

スクリーンセーバーは画面が焼き付かないようにするためだけだから・・・。
マウスのせると元の画面に戻っちゃうんで・・・。
#packopt type 1

を将棋のスクリプトの先頭に追加して、 あとははじめの3行を削除する。(フルスクリーンEXEになりますがあしからず。)



make

リンク

2008/3/4(Tue) 00:26:09|NO.13899

>fさん
そうかもしれません
ただ初心者でわからないから質問しているわけでして
どう直したらいいかご教示頂けると幸いです

>hirosenzinさん
マウスを動かして元の画面に戻ってくれなかったら困るのでtype2でいいはずですけど?

私が聞きたいのは、ファイルよみこみや再生でどのような命令を使えばいいのかとか
足りない要素があるからこういう命令が追加で必要だとか、そういう事です

どなたかわかる方、よろしくお願い致します



ANTARES

リンク

2008/3/4(Tue) 00:59:34|NO.13900

>exec "将棋.exe";アプリをたちあげる
 これはどう考えてもいらないと思います。

>ファイルよみこみ
 ファイルってどんなファイルですか?
いずれにせよ、命令としてはnoteloadかbloadでしょう。

>ファイルの再生
 一言で書いてるけど、ここが肝になる部分ですから、
もう少し細かく書いてみてください。

>再生が終わったら次のファイルの再生
 gotoかrepeat〜loopで「ファイルよみこみ」に
戻るようにします。



make

リンク

2008/3/4(Tue) 03:48:25|NO.13901

>ANTARESさん

#pack "shogi.exe"
#packopt name "Shogi_ScreenSaver"
#packopt type 2
ax=ginfo_dispx :ay=ginfo_dispy
bgscr 2,ax,ay,0,0,0,ax,ay
XXX ;将棋アプリを起動する
repeat
notesel hensu
chdir "C:\\My Documents\\Directory_shogi-kif" ;kifファイルのあるディレクトリ
noteload "kifu01.kif" ;将棋棋譜ファイル(拡張子は一般的なkif)をバッファによみこみ
XXX ;kifファイルを自動的に再生、1秒に1手進める
XXX ;kifファイル再生終了の処理?
loop ;次のkifファイルを再生、repeatに戻る

説明不足ですみませんでした
execでないとするとどう動かすのかとkifファイル再生(手を進める)がわかりません
よろしくお願いします



f

リンク

2008/3/4(Tue) 07:24:33|NO.13906

まず、肝心の「将棋」をするスクリプトは有るの?
スクリーンセーバなら人が操作しなくても自動で進むような奴が。



f

リンク

2008/3/4(Tue) 08:16:05|NO.13907

ちょっと、言葉が短すぎたか。

様子からすると、外部の実行ファイルを起動したいようだが、
そのやり方ではスクリーンセーバになるのは

「外部の実行ファイルを呼び出す」

部分だけで、

途中で実行された方は、スクリーンセーバに成らないから。
ただ実行されただけだし。


自分で将棋の動作処理するスクリプトは用意できるの?



Megane

リンク

2008/3/4(Tue) 09:57:33|NO.13908

キーやマウスの操作を検知したら、
起動していた将棋ソフトのプロセスを終了させる

という形で、スクリーンセーバ「みたいなもの」を作ることはできるかもしれませんね。


そうすると、動作を検知したときにスクリーンセーバ自体が終わってしまうでしょうから、
通常のスクリーンセーバの形式は取れないでしょうね。



ANTARES

リンク

2008/3/4(Tue) 22:32:58|NO.13919

>XXX ;将棋アプリを起動する
 スクリーンセーバーを作りたいのなら、将棋アプリを
使える可能性は、まずありません。

>XXX ;kifファイルを自動的に再生、1秒に1手進める
 というわけで、ここはmakeさんが自分で作るしかありませんが、
そんなに簡単なものではないので、諦めるしかないかもしれません。

1 ファイルを解析して分割し、配列など処理しやすい形で記憶する。
2 将棋盤と駒を描く
3 1手取り出す
4 1手打つ
5 3へ

1、3、4はさらに細かく分割する必要があります。
2も分割する必要がありますが、この中ではいちばん簡単なので
チャレンジしてみるといいかもしれません。



make

リンク

2008/3/4(Tue) 23:10:50|NO.13921

簡単に考えていたんですが私の勘違いのようです
腕をあげたらまた挑戦する事にします



As

リンク

2008/3/7(Fri) 02:13:32|NO.14007

ひねくって考えると・・

0.マウスを動かしてもスクリーンセーバーを終了させないように、WM_CLOSEを処理しておく
1.将棋.exeを起動
2.UWSK.exeで使用するマクロファイルをEXEに読み込む
3.UWSKで使用するマウスポインタ位置を解析し、配列変数として保持
4.UWSK.exeを起動
5.UWSK.exeで自動的にマクロ開始
6.条件式:UWSKで使用するマウスポインタ位置配列変数と現在のマウスポインタ位置が違っていたら、スクリーンセーバー、
UWSK.exe、将棋.exeを終了(FindWindowA,WM_CLOSE)



make

リンク

2008/3/8(Sat) 00:37:29|NO.14020

>Asさん
UWSK.exeを検索しても出てきませんがどういったものなんでしょうか?
あとAsさんの示している方法でスクリーンセーバーとしての機能を
果たしているのなら創作に挑戦してみたい気もします



As

リンク

2008/3/9(Sun) 00:57:27|NO.14033

すいません、UWSKではなくUWSCでしたね^^;
UWSCは有名な自動操作ツール、いわゆるマクロツールです。HSP側でマクロ動作に関するモジュールを
を作成しそれを使うこともできますがそれにはいろいろと時間がかかってしまうので趣味の範囲で
プログラムを組むのならこのほうが望ましいと思います。



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