[4232] 文字の変換について 投稿者:banz 投稿日:07/01/12(金) 18:21
初めて質問させて頂きます。
input命令で入力待ちになった時、自動的にかな入力モードにする事
は可能でしょうか。
また、半角英字でローマ字入力したものを、ひらがなに変換して表
示させる、といったことはできますでしょうか。
よろしくお願いします。
[4237] Re: 文字の変換について 投稿者:Irisawa 投稿日:07/01/13(土) 02:20
> input命令で入力待ちになった時、自動的にかな入力モードにする事
> は可能でしょうか。
inputは入力待ちはしないので自分でループ処理をするなりなんなり
しなければいけません。
ちょっとHSP2.xxでは非常に面倒なのでHSP3でのサンプルを書きます。
どうしてもHSP2でやりたい場合は頑張って移植してみてください。
#uselib "imm32.dll"
#cfunc ImmGetContext "ImmGetContext" int
#cfunc ImmGetOpenStatus "ImmGetOpenStatus" int
#func ImmSetOpenStatus "ImmSetOpenStatus" int, int
#func ImmReleaseContext "ImmReleaseContext" int, int
#module
#uselib "user32.dll"
#cfunc GetFocus "GetFocus" int
; フォーカスの確認
#defcfunc IsFocus array v1, local ret
ret = 0
foreach v1
if GetFocus() = objinfo(v1(cnt), 2) {
ret = 1
break
}
loop
return ret
#global
onexit *exit
sdim buf
sdim buf2
objsize 100
input buf
id = stat
input buf2
id2 = stat
; IME コンテキストハンドルを取得
hImc = ImmGetContext(hwnd)
; IME を自動 ON にする Obj-id(配列)
obj = id
; ループ
*main
if IsFocus(obj) {
if ImmGetOpenStatus(hImc) = 0 {
ImmSetOpenStatus hImc, 1
}
} else {
ImmSetOpenStatus hImc, 0
}
await 1
goto *main
; 終了処理
*exit
; IME コンテキストを開放
ImmReleaseContext hwnd, hImc
end
> また、半角英字でローマ字入力したものを、ひらがなに変換して表
> 示させる、といったことはできますでしょうか。
これもできそうでできないですね。
いろいろ探していますが簡単な方法はまだ見つかっていません。
ImmSetCompositionStringとか辺りを使用すれば可能そうなのですが。
[4233] Re: 文字の変換について 投稿者:ANTARES 投稿日:07/01/12(金) 23:26 <URL>
>input命令で入力待ちになった時、自動的にかな入力モードにする事
>は可能でしょうか。
過去ログ検索すれば、たぶん見つかると思います。
そのものズバリじゃなくて一般的なIME制御の情報を探すこと。
IME制御には詳しくありませんが、常識で考えてそのくらいは
できると思います。
>また、半角英字でローマ字入力したものを、ひらがなに変換して表
>示させる、といったことはできますでしょうか。
IME制御でできるかどうかはわかりませんが、自力でやっても
ローマ字→ひらがな変換くらいなら大したことはありません。
これも過去ログを探せば、そのものズバリはなくても応用可能な
話題はあるはずです。
ただ、検索できないので見つかるまで読むしかないけど、
比較的最近、そういう話題があったような気が……。
[4236] Re^2: 文字の変換について 投稿者:ANTARES 投稿日:07/01/13(土) 01:07 <URL>
> ただ、検索できないので見つかるまで読むしかないけど、
>比較的最近、そういう話題があったような気が……。
勘違いだったようなので、サンプルを。
拗音・撥音・促音がダメでBACKSPACEすら使えないという
制約の多い仕様ですが、全部対応すると長くなるので……。
size=16
half=size/2
roma="AIUEOKSTNHMYRWGZDBP"
strlen num,roma
dim keycode,num
repeat num
peek keycode.cnt,roma,cnt
loop
boin="あいうえお"
sdim conv,200
conv="かきくけこさしすせそたちつてとなにぬねのはひふへほまみむめも"
conv+="や ゆ よらりるれろわ をがぎぐげござじずぜぞだぢづでど"
conv+="ばびぶべぼぱぴぷぺぽ"
font msgothic,size
repeat: wait 1
t="": i=0
repeat
repeat: wait 1
;キー入力
d=-1
repeat num
getkey c,keycode.cnt
if c: d=cnt: break
loop
if d>=0: break ;romaのキーが押されていたら
loop
;表示
strmid s,roma,d,1
if d>4 { if i>0 { ;2文字目以降で子音なら前の文字を消す
x-=half
color 255,255,255: boxf x,y,x+half,y+size
color
t=""
} }
pos x,y: mes s: x+=half
;キーが離されるまで待つ
repeat: wait 1
getkey c,keycode.d: if c==0: break
loop
t+=s
if d<5: break ;母音なら
e=d-5: i++
loop
strlen l,t
if l<2 { ;母音なら
strmid s,boin,d*2,2
x-=half
} else { ;子音なら
strmid s,conv,e*5+d*2,2
x-=size
}
;ローマ字を消す
color 255,255,255: boxf x,y,x+size,y+size
color
if s!=" " {
;ひらがな表示
pos x,y: mes s
x+=size
if x+size>winx: x=0: y+=size
}
loop
stop
[4238] Re^3: 文字の変換について 投稿者:banz 投稿日:07/01/13(土) 18:13
早速のご回答ありがとうございます。
サンプルプログラムを組んで頂いたのですが、なぜか「代入できない変数
名を指定しています」というエラーになってしまいます。
バージョンが違うのでしょうか・・?
[4234] Re^2: 文字の変換について 投稿者:ANTARES 投稿日:07/01/12(金) 23:38 <URL>
> >また、半角英字でローマ字入力したものを、ひらがなに変換して表
> >示させる、といったことはできますでしょうか。
> IME制御でできるかどうかはわかりませんが、自力でやっても
> ローマ字→ひらがな変換くらいなら大したことはありません。
あ、よく考えたら、inputを使わずにgetkeyとmesでやる場合の話です。
inputでやるのは相当難しいかも。
[4230] ダブルクォーテーション 投稿者:PSCI 投稿日:07/01/07(日) 17:27
ダブルクォーテーションを含んだ文字列をmes命令で出力したいので
すが、どうすればよいのでしょうか。
[4231] Re: ダブルクォーテーション 投稿者:Irisawa 投稿日:07/01/07(日) 18:37
> ダブルクォーテーションを含んだ文字列をmes命令で出力したいので
> すが、どうすればよいのでしょうか。
マニュアルに書いてあるはずですが...。
Cなどと同様にバックスラッシュを使用してエスケープしてください。
mes "\"あいうえお\""
stop
ただ面倒なだけで、あまり意味がないのですが文字列変数にmemsetや
pokeなどを使用して0x22を書き込んでもOKです。
あと、3.xxではstrf関数などでも表現できます。
[4228] メッセージボックス2 投稿者:質問 投稿日:07/01/05(金) 00:11
なんどもすいません。。。
なぜか開いたtxtファイルが表示されているメールボックスの上にカ
ーソルを置くと表示されていたtxtファイルがなくなってただ何も書
いていないメッセージボックスになってしまいます。そこで、開いた
txtファイルをメッセージボックス上で編集することは可能でしょう
か。教えてください。
[4229] Re: メッセージボックス2 投稿者:PO 投稿日:07/01/06(土) 19:36
> なんどもすいません。。。
> なぜか開いたtxtファイルが表示されているメールボックスの上にカ
> ーソルを置くと表示されていたtxtファイルがなくなってただ何も書
> いていないメッセージボックスになってしまいます。そこで、開いた
> txtファイルをメッセージボックス上で編集することは可能でしょう
> か。教えてください。
私はそんな現象は起きませんが・・・
[4223] メッセージボックス 投稿者:質問 投稿日:07/01/04(木) 15:08
どうすれば開いたtxtファイルをメッセージボックスに表示すること
ができるでしょうか。教えてください。
[4225] Re: メッセージボックス 投稿者:Kpan 投稿日:07/01/04(木) 20:00 <URL>
付属のサンプルはチェックしましたか?
sample\basic\note2.as 、editor.as 、editor2.as 、editor3.as
[4224] Re: メッセージボックス 投稿者:k 投稿日:07/01/04(木) 18:01
開いた変数をmesboxのp1に予め指定しておくとできますよ。
sdim txts,30000
dialog "txt",16,"txt"
if stat=0:end
bload refstr,txts
mesbox txts,640,480,1,30000
stop
たとえばこんな感じに
[4227] Re^2: メッセージボックス 投稿者:質問 投稿日:07/01/05(金) 00:04
> 開いた変数をmesboxのp1に予め指定しておくとできますよ。
>
> sdim txts,30000
> dialog "txt",16,"txt"
> if stat=0:end
> bload refstr,txts
> mesbox txts,640,480,1,30000
> stop
>
> たとえばこんな感じに
ありがとうございますやってみます。
[4226] ありがとうございます 投稿者:質問 投稿日:07/01/04(木) 23:53
ありがとうございます
やってみます。
[4222] いいよね? 投稿者:ものわすれ 投稿日:06/12/27(水) 11:05 <URL>
http://bbs11.fc2.com/php/e.php/~5kurage/
自分のHPでHSPで作ったソフトを出していいんですか?
[4212] テキスト内の単語検索について 投稿者:ねこ 投稿日:06/12/09(土) 23:27
はじめまして
この度、コンピュータのパラメータの内容検索を容易にしようと思
い下記のようなプログラムを作成したのですが、思ったようにならず
困っています。
プログラム内容は例えば「設定1」と検索すると「D1」が表示され
ます。同様に「D1」と検索すると「設定1」と返されるようにしたい
と思っています。検索対象のテキストファイル内の単語にヒットする
ようにできないかと考えています。
検索対象:test.txt(項目と内容をタブ区切りで区切ったもの)
内容例:
D1設定1
D2設定2
D3設定3
D4設定4
1.例えば文書内に「D1」「D2」と同じような内容のものがあった
場合に「D」で検索すると最初の「D1」の内容しか表示されません。
これを例えば「ENTER」キー等を押すと次を検索するようにできない
でしょうか?
2.次に「D1」の内容が「設定1」となっていますが、表示される
ウィンドゥサイズの関係で文書が長い場合全て表示されなく、これを
折り返して表示はできないでしょうか?
3.検索する文字列についてですが、「設定」と検索すれば表示さ
れますが「せってい」と検索しても表示されるようにしたいのですが
どうすればよろしいのでしょうか?
長々とお書きしましたが、インターネットや本で探しても参考にな
るような例が見つからずお手上げ状態です。
ヒントでもよろしいのでアドバイス頂けないでしょうか?
よろしくおねがい致します。
自分なりにプログラム例を参考に作ってみたので、無駄な動きが多
いと思います・・・。
****HSP2.61****
sdim buf,320000
n=2;項目数を設定
;---
;EXCELのタブ区切りで保存したものをbufにbloadしたデータ↓。と
する。
notesel buf
noteload "C:\\test.txt"
mes buf
cls 1
title "設定項目"
sdim key,200
sdim gyou,2000
key=""
pos 20,20
mes "パソコン用"
input key,160,20
button "検索開始",*go:id=stat+1
pos 200,20
sdim cell,300,n
repeat n
input cell.cnt,300,100
loop
stop
*go
i=0 : gidx=0
repeat
getstr gyou,buf,i
if strsize=0 : break
i+strsize
instr idx,gyou,key
if idx!-1{
ii=0 : gyou2=""
repeat n
getstr cell.cnt,gyou,ii,9;9(タブ)で区切る
if strsize=0 : break
objprm id+cnt,cell.cnt
ii+strsize
loop
}
gidx++;行インデックス(修正保存用)
loop
stop
[4213] Re: テキスト内の単語検索について 投稿者:キャニオンキャット 投稿日:06/12/10(日) 19:45
こんな感じでどうでしょうか。
1.次を検索の方法
検索用として最後にヒットした行を保管する変数を用意する。
(未検索状態や該当なしなら-1にするなど)
「検索」と「次を検索」の二つを用意してみると考えやすいかもです。
2.折り返し設定
inputではなくmesboxを使う。
(横スクロールバーを表示しなければ折り返し表示になります)
3.ひらがなで漢字を検索
基本的に出来ない(実用的ではない)と思っていいかもしれません。
IMM.dllを呼べば変換候補を取得するという事は可能ですが、
「せってい」の場合で3種類。(「せってい」「設定」「セッテイ」)
「いろ」の場合で7種類。(検索時間7倍)
「きごう」だと148種類が候補となるので、これをどうするかという問題が
出てきます。
ひらがなで入力される文字が決まっているならばデータベースを作るのが
よいと思います。
とりあえず3番は後回しで作ってみるのがよいと思われます。
[4214] Re^2: テキスト内の単語検索について 投稿者:ねこ 投稿日:06/12/10(日) 20:55
キャニオンキャット様
お世話になります。
質問2はmesboxで問題なく表示されるようになりました。
ありがとうございます。
さて、質問1と3ですが、
質問1
「次を検索」するような式は具体的にどのように組めばよいのでしょうか
?
instrを使うような事が書いてあるのですが・・・。
質問3
ひらがなやカタカナで検索することについてですが、検索する文字列は大
体決まっているので全ての文字を置き換えするする必要はありません。
従ってキャニオンキャット様の言われた通り、データベースを作ってみよ
うと考えています。
こちらも具体的な例を支持して頂ければ大変ありがたいのですが。
ENTERキーで検索できる機能等等色々探しているのですが、HSP自体を始め
たばかりでついていけてないのが現状です。
本を買ってはみたのですが、HSP3の本で実際は使えないものが多くて困り
ました。
ご無理ばかりで申して大変申し訳ありませんが、宜しくお願いいたします
。
[4217] Re^3: テキスト内の単語検索について 投稿者:ANTARES 投稿日:06/12/11(月) 23:01 <URL>
>これを例えば「ENTER」キー等を押すと次を検索するようにできない
>でしょうか?
【修正前』
stop
*go
i=0 : gidx=0
【修正後】
*l_loop
repeat: wait 1
stick c,,1
if c==32: break
loop
*go
gidx=0
【修正前】
loop
}
【修正後】
loop
break
}
【修正前】
gidx++;行インデックス(修正保存用)
loop
stop
【修正後】
gidx++;行インデックス(修正保存用)
loop
goto *l_loop
>3.検索する文字列についてですが、「設定」と検索すれば表示さ
>れますが「せってい」と検索しても表示されるようにしたいのですが
>どうすればよろしいのでしょうか?
ヒントです。
num=2
sdim dkey,64,num
sdim ddat,64,num
dkey="せってい","ないよう"
ddat="設定","内容"
;下の3行をどこに入れればいいでしょう?
repeat num
if dkey.cnt==key: key=ddat.cnt:break
loop
[4215] Re^3: テキスト内の単語検索について 投稿者:キャニオンキャット 投稿日:06/12/11(月) 16:07
質問1.次を検索の方法
まず、最初に投稿されていたスクリプトは希望通り動いてないと思います
。
「D」で検索するとD1がヒットしてほしいのにD4がヒットしてますよね?
まずはD1がヒットするように修正するのが先だと思います。
ヒットしたら行を覚えつつbreakすれば良いかと。
あと、noteload使ってるようですのでnotegetを使うと行単位で操作できる
ので便利かもです。
質問3.データベースを作る方法
方法は色々あると思います。
配列変数に入れる人もいれば、外部ファイルを用意する人もいるでしょう
し、お好みで。
やろうとしてる検索方法とほぼ同じ方法でデータベースから探す事になる
でしょう。
> ENTERキーで検索できる機能
例えばユーザー的には「Enterを押したら検索される」という動作でも、
input内でEnterが押された事を検知するのか、Enterが押されたら検索ボタ
ンを押すのかでは
プログラム的には全く違ってきたりしますし。
Enterキーが押された事を知る方法はstick,getkey,onkeyがありますが、
この場合はonkeyを使う事になると思います。
ちなみにこの機能も難易度高いので後回しが良いと思います・・・。
> HSP自体を始めたばかりで
ツール系はHSP3の方が向いてると思います。
命令が増えている事と値を得るタイプの命令が関数になってる事ぐらいで
ほとんど同じです。
たとえばinstrだと、
HSP2.6:instr idx,gyou,key,0
HSP3.0:idx = instr(gyou,0,key)
この程度だったりします。
満足いく回答ではないかもしれませんが、とりあえずこんな感じで・・・
。
[4218] Re^4: テキスト内の単語検索について 投稿者:ねこ 投稿日:06/12/11(月) 23:45
ANTARES様、キャニオンキャット様
お返事有難うございます。
質問に対して細かく答えて頂いて大変感謝しております。
>ANTARES様
三行をどこに入れればよいか全くもって見当つかないのが正直なところで
はありますが、「教えてくれくれ」では前に進みませんので時間をかけて色
々試してみようと思います。
ヒントだけも頂けて感謝します。
>キャニオンキャット様
ENTERキーを検地する機能は難しいようですね・・・。
基本知識が無いのであまり変なところに手を出すと余計わかり辛くなりそ
うですので、検索機能がとりあえず希望通りに動くように修正していってか
ら最終的にその機能を増やしてみようと思います。
また、HSP2に比べてHSP3のほうが良さそうですね。
一番最初はHSP3で作っていく予定だったのですが、本はHSP3の内
容なのにインターネットで探したプログラムだとHSP3では動かず結局こ
ちらで作ってしまうことになってしまいました。
仕方なくといった状態でした。
仕事の合間に少しずつといった感じなので、全然進歩しそうにないですが
色々教えて頂いて有難うございます。
[4219] Re^5: テキスト内の単語検索について 投稿者:ねこ 投稿日:06/12/12(火) 00:37
お世話になります。
とりあえずではありますが、下記のように修正してみました。
ですが、少し変な部分がありました。
というのは通常は数値又は単語を入力すれば検索させるはずなのですが、
3回に一度ぐらい何も検索されません。
そこで初期化ボタン?のようなものを増やしたのですが効果無いようです
。
何かプログラムに問題があるのでしょうか?
少し話はそれてしまいますが、二つのコンピューターがあり両方ともパラ
メータの数値が異なるため検索対処のテキストファイルを二つに分けようと
思うのですが、これはプログラムを別々にしたほうがよいのでしょうか?
*start
sdim buf,320000
n=2;項目数を設定
num=2
sdim dkey,64,num
sdim ddat,64,num
dkey="ねじ","ネジ"
ddat="ネジ","ねじ"
;---
;EXCELのタブ区切りで保存したものをbufにbloadしたデータ↓。とする。
notesel buf
noteload ""
mes buf
cls 1
title "専用"
sdim key,200
sdim gyou,2000
key=""
pos 20,20
mes "コンピューター1"
input key,160,20
button "検索",*go:id=stat+1
pos 20,90
mes "コンピューター2"
input key,160,20
button "検索",*go:id=stat+1
pos 20,160
mes "初期化"
button "初期化",*start:id=stat+1
pos 150,220
sdim cell,300,n
repeat n
mes "上段:パラメータ番号−ビット 下段:パラメータ内容"
mesbox cell.cnt,400,100
loop
*l_loop
repeat: wait 1
stick c,,1
if c==32: break
loop
*go
gidx=0
repeat
getstr gyou,buf,i
if strsize=0 : break
i+strsize
instr idx,gyou,key
if idx!-1{
ii=0 : gyou2=""
repeat n
getstr cell.cnt,gyou,ii,9;9(タブ)で区切る
if strsize=0 : break
objprm id+cnt,cell.cnt
ii+strsize
loop
break
}
gidx++;行インデックス(修正保存用)
loop
goto *l_loop
repeat num
if dkey.cnt==key: key=ddat.cnt:break
loop
[4220] Re^6: テキスト内の単語検索について 投稿者:ANTARES 投稿日:06/12/12(火) 23:59 <URL>
>3回に一度ぐらい何も検索されません。
実は、最後まで検索してしまうとそれ以後、
一切検索できないという問題があります。
原因は、Enterキーを押す度に次を検索させるために
消してしまったあの1行にあります。
「動いた、動いた」と喜んで終わるのではなく、
追加された部分はなぜそのように動くのか、
削除された部分は、削除されたことによって
動作の何が変わったのか。そして、それはなぜか?
こういったことをすべて理解してから先に進みましょう。
それから、repeat〜loopとstickを使うとかな漢字変換の
決定時のEnterキーも受け付けてしまいます。それ自体の
解決法も過去ログを探せばあるはずですが、onkeyを
使えば自動的に解決する(と聞いた)ので、そちらの方が
いいでしょう。
>少し話はそれてしまいますが、二つのコンピューターがあり両方ともパラ
>メータの数値が異なるため検索対処のテキストファイルを二つに分けようと
>思うのですが、これはプログラムを別々にしたほうがよいのでしょうか?
分けずにやることもできますが、分けた方が簡単でしょう。
[4221] Re^7: テキスト内の単語検索について 投稿者:ねこ 投稿日:06/12/13(水) 23:09
お世話になります。
色々調べてみましたが、今ひとつ動作原理が理解できてない部分がある為
もう少し理解できてから再度質問致します。
フローチャートのようなものを作れば判りやすいかなと思っています・・
・。
また、機会がありましたら宜しくお願いいたします。
[4210] 画像と同時にボタンを表示できませんか 投稿者:z 投稿日:06/12/08(金) 16:20
画像を表示しているウインドウにボタンを画像と一緒に表示できる方
法はありますか?
よろしくお願いします。
[4211] Re: 画像と同時にボタンを表示できませんか 投稿者:GENKI 投稿日:06/12/08(金) 23:17 <URL>
> 画像を表示しているウインドウにボタンを画像と一緒に表示できる方
> 法はありますか?
もしガボタンを配置した跡に画像を表示していたら、
ボタンを配置する前に画像を表示しましょう。
それともbtnimgのことかな?
[4207] msnの操作 投稿者:k 投稿日:06/12/05(火) 20:23
MSNの手書きメッセージの送信をHSPで作った画面を手書きメッ
セージとして送信したりする方法とかないでしょうか
[4208] Re: msnの操作 投稿者:PO 投稿日:06/12/05(火) 21:17
> MSNの手書きメッセージの送信をHSPで作った画面を手書きメッ
> セージとして送信したりする方法とかないでしょうか
確かmsnの手書きめっせーじってコピペ出来たよね
HSPで作った画面をクリップボードに送信
MSNのほうにペースト なんてのはダメ?
まぁ詳しくはHSPのヘルプ出してクリップボードで検索すれば
いいのが乗ってるよ。
[4209] Re^2: msnの操作 投稿者:k 投稿日:06/12/05(火) 21:39
返信有難うございます。
msnの手書きメッセージのウィンドウに送信や受信した手書きログからのド
ラッグは出来るのですが
貼り付けはどうすればいいのでしょうか。
ctrl+vじゃ出来ないようですし。
[4200] インターネット上のテキストファイル… 投稿者:坂 投稿日:06/11/29(水) 22:36
こんばんは、はじめまして。
インターネット上のテキストファイル(HTMLでもかまいませんが)
をnoteloadで扱いたいのですが
そのテキストファイル名がわからないようにしたいので
PC上に保存しないようにしたいのです。
どのようにすればよいか、ご助言いただけませんでしょうか。
よろしくお願いいたします。
[4206] Re: インターネット上のテキストファイル… 投稿者:坂 投稿日:06/12/02(土) 02:19
kさん、ANTARESさん、ご返信ありがとうございます。
しっかり参考にさせていただきます。
まずはお礼まで。
[4203] Re: インターネット上のテキストファイル… 投稿者:坂 投稿日:06/11/30(木) 20:35
ご返信ありがとうございます。
ご返信いただいた内容を調べて、やってみます。
Irisawaさんのおっしゃっていることは今の自分のレベルでは難しい…
ので勉強してきます。
前回書き忘れていたのですが、
同じようにインターネット上の画像ファイル・音楽ファイルを
PC上に保存せず再生、はどのようにすればよろしいでしょうか。
先のsockget系ではそういった類のファイルは扱えないように思いました。
質問ばかりしてすみません。
[4204] Re^2: インターネット上のテキストファイル… 投稿者:k 投稿日:06/11/30(木) 22:46
sockgetのと、サンプルのnewフォルダにある
memfile.asをくみあわせると難無くできると思いますよ。
[4205] Re^3: インターネット上のテキストファイル… 投稿者:ANTARES 投稿日:06/12/01(金) 20:41 <URL>
>sockgetのと、サンプルのnewフォルダにある
>memfile.asをくみあわせると難無くできると思いますよ。
画像ファイルはいいけど、サウンドファイルは
*.wavをsndloadする場合に限ります。
[4202] Re: インターネット上のテキストファイル… 投稿者:Irisawa 投稿日:06/11/30(木) 00:19
> インターネット上のテキストファイル(HTMLでもかまいませんが)
> をnoteloadで扱いたいのですが
> そのテキストファイル名がわからないようにしたいので
> PC上に保存しないようにしたいのです。
> どのようにすればよいか、ご助言いただけませんでしょうか。
やりたいことの詳細と何が分からないのかがよく分かりませんが、
その気になれば通信ログなどを見ることでリクエストされている
内容は見ることができます。
クライアントとサーバで暗号化・複合化を行えば元のファイル名
自体は分からないと思いますが、ファイル自体にはアクセスでき
ます。
単純にローカルにファイルを保存したくないだけなら、データを
メモリ上で処理するだけにすればいいと思いますが。
普通にサーバクライアント間のデータ通信だけならファイルに保存
する必要はないです。
[4201] Re: インターネット上のテキストファイル… 投稿者:k 投稿日:06/11/29(水) 23:02
hspに同梱されているhspsockのサンプルのHTTP.ASが参考になると思います
。
[4184] 掲示板 投稿者:示君 投稿日:06/11/20(月) 18:03
この掲示板て何が提供してる?
[4185] Re: 掲示板 投稿者:upon 投稿日:06/11/21(火) 10:14
> この掲示板て何が提供してる?
意味分からんよ。
[4186] Re^2: 掲示板 投稿者:PO 投稿日:06/11/21(火) 13:46
いいたいことは分かるけど
ここってレンタルの掲示板じゃないと思いますけど^;
[4187] Re^3: 掲示板 投稿者:PO 投稿日:06/11/21(火) 13:49
あ レンタルですね
すみません間違いました
この掲示板の提供元は
ttp://www.kent-web.com/bbs/index.html
です
[4188] Re^4: 掲示板 投稿者:Irisawa 投稿日:06/11/21(火) 22:00
> あ レンタルですね
レンタルではないですよ。
URLを見れば分かるように、ちゃんとwww.onionsoft.netサーバに設置
してあるので。
KENT-WEBさんの配布スクリプトよりIPアドレスを表示しているなど
いくらか改造してあるみたいですが。
なんか、微妙にオリジナルより使いにくいと感じていますが。
[4190] Re^5: 掲示板 投稿者:示君 投稿日:06/11/22(水) 16:09
どうやって改造するの?
[4191] Re^6: 掲示板 投稿者:Irisawa 投稿日:06/11/22(水) 21:11
> どうやって改造するの?
既にHSPの質問ではなくなっていますし、なんの努力もしないただの
教えて君はネット上では嫌われます。
この質問(「どうやって改造するか」という点)に対する回答としては
テキストエディタで開いて改造したい該当箇所を書き換えるという
方法のみです。
KENT-WEBさんで配布されているCGIスクリプトは基本的にデフォルトの
エンコードはSJISなのでメモ帳でも編集できますが、やはり、Perl用
エディタを使用した方がいいでしょう。
「Perlを始めよう!」ならエディタからPerlに直接スクリプトを渡して
標準出力の実行結果を表示したりGETまたはPOSTメソッドで送信した
結果をHTMLに出力できたりしますので便利です。
http://homepage3.nifty.com/aokura/
CGIの改造の細かいところでどうしても分からない場合は配布元に
聴けばいいのでは。
どこをどのように改造したいのかをしっかり明確に書かないと欲しい
回答は得られません。
でも、質問する前に自分でできる限りのことはしましょう。
また、CGIの改造は不具合などでサーバ側をダウンさせたりしない
ようにローカルでしっかりテストしましょう。
レンタルサーバは(専用サーバでなく共用サーバの場合は)自分一人の
ものではなく、共用なので他人に迷惑を掛けたりすることのないよう
注意すべきです。
[4197] Re^7: 掲示板 投稿者:すぶ 投稿日:06/11/24(金) 20:47
> 既にHSPの質問ではなくなっていますし、なんの努力もしないただの
> 教えて君はネット上では嫌われます。
だまれ!
[4199] Re^8: 掲示板 投稿者:upon 投稿日:06/11/25(土) 18:52
> だまれ!
「HOST」という情報があるの知ってる?
[4198] 画像表示 投稿者:test 投稿日:06/11/25(土) 17:52
hgimgを使って3Dのシューティングゲーを作ってみたりしてます。
mes命令やboxf命令で文字は四角を表示するとチラついてしまうので
、画像で体力(縦長の棒が減っていくような感じ)や枠を表示したい
のですが、3Dの画面上に画像を表示するにはどうすればいいのでしょ
うかorz
[4189] オブジェクトの制限について 投稿者:ヤマ 投稿日:06/11/22(水) 12:07 <URL>
始めまして、ヤマと申します。
初めて登校させていただきます。皆さん、よろしくお願いします。
早速ですが質問です。
HSP2.61でフォーカスできるオブジェクトの数には制限があるのでし
ょうか?
今、画面上に入力ボックスとメッセージボックスを合わせて81個表
示するプログラムを作成しています。
表示はできるようですが、64個以上はフォーカスが効きません。
objmodeのタブでのフォーカス移動も、主導でのobjselもだめでした
。
これは1つのバグなのでしょうか?
それとも何か対処方法があるのでしょうか?
[4193] Re: オブジェクトの制限について 投稿者:Irisawa 投稿日:06/11/22(水) 21:21
> HSP2.61でフォーカスできるオブジェクトの数には制限があるのでし
> ょうか?
> 今、画面上に入力ボックスとメッセージボックスを合わせて81個表
> 示するプログラムを作成しています。
> 表示はできるようですが、64個以上はフォーカスが効きません。
> objmodeのタブでのフォーカス移動も、主導でのobjselもだめでした
> 。
HSP2.xxのオブジェクト類の配置限界はウィンドウ毎に64個です。
>>→プログラミング・マニュアル参照(ボタンと書かれていますが)
それ以上は設置しないでください。
オブジェクトID自体64(63?)までしか用意されていないはずです。
HSP3.xはメモリの許す限り、ほぼ無制限(32bit範囲?)です。
どうしても2.xxでなければいけないなら不要なオブジェクトは破棄
するか再利用し、できる限り3.xに移行した方がいいと思います。
[4194] Re^2: オブジェクトの制限について 投稿者:ヤマ 投稿日:06/11/22(水) 21:46 <URL>
Irisawaさん、矢野さんレス有難うございました。
今作成中のプログラムでは破棄も再利用も難しいので、ver3.0に移項することにします。
[4195] Re^3: オブジェクトの制限について 投稿者:PO 投稿日:06/11/23(木) 15:19
> Irisawaさん、矢野さんレス有難うございました。
> 今作成中のプログラムでは破棄も再利用も難しいので、ver3.0に移項
することにします。
移行するのであれば
ttp://mimurasoft1133.hp.infoseek.co.jp/
ここの
Mimura Software ソースコンバータ2
を使ってはどうでしょうか。
[4192] Re: オブジェクトの制限について 投稿者:矢野 投稿日:06/11/22(水) 21:12
> HSP2.61でフォーカスできるオブジェクトの数には制限があるのでし
> ょうか?
> 今、画面上に入力ボックスとメッセージボックスを合わせて81個表
> 示するプログラムを作成しています。
> 表示はできるようですが、64個以上はフォーカスが効きません。
HSPプログラムガイドの
3.システムリファレンスの項目の中に
HSPシステムの許容範囲という項目があって、
そこには次のように書いてあります。
”現バージョンでのシステムリソースの許容範囲は以下の通りです。 この値をオーバーしてしまった場合、正常な動作の保証はできません。”
「 1画面内のボタン最大数 64個 」
となっています。ボタンはオブジェクトですので、
動作保証付きで設置できるオブジェクトの数を超えています。
HSP Ver.2.61 の仕様ですので、対処法はないと思います。
[4179] 読み込む範囲が… 投稿者:SA 投稿日:06/11/19(日) 00:48
初心者のSAと申します。
現在シューティングゲームを作成している最中なんですが、gcopyの範囲の指定がうまくいかず必要以上に大きくなってしまいます。
同じbuffer 1の中にpicloadしていて右の方にある96*96の画像をコピーしたいのですが…。
gcopy 1,0,0,96,96
この部分はうまくできるのですが
gcopy 1,384,0,480,96
この部分はうまくいきません。
教えてください。お願いします。
[4181] Re: 読み込む範囲が… 投稿者:SHI 投稿日:06/11/19(日) 07:59
gcopy 1,384,0,96,96
の間違いでは。
[4182] 読み込む範囲が… 投稿者:SA 投稿日:06/11/19(日) 20:30
> gcopy 1,384,0,96,96
>
> の間違いでは。
その通りでしたありがとうございます!
p4,p5は終点のx,yではなくてp2,p3から切り取る大きさなんですね。
勘違いしていました。
[4180] Re: 読み込む範囲が… 投稿者:osakana 投稿日:06/11/19(日) 01:31
buffer を screen に書き換えて、
画像がちゃんと読み込めているかを確認してみて下さい。
>この部分はうまくいきません。
うまく行かないにも色々ありますので、
どの様にうまく行かないのかを書いた方がいいですよ。(今度からね)
[4183] Re^2: 読み込む範囲が… 投稿者:SA 投稿日:06/11/19(日) 20:32
> buffer を screen に書き換えて、
> 画像がちゃんと読み込めているかを確認してみて下さい。
>
> >この部分はうまくいきません。
> うまく行かないにも色々ありますので、
> どの様にうまく行かないのかを書いた方がいいですよ。(今度からね
)
osakanaさんもありがとうございました!
今度からはもう少し詳しく書くようにします。すいませんでした。
[4176] API 投稿者:PO 投稿日:06/11/16(木) 21:39
最近APIにハマッてるのがですが
関数の一覧とかどこかないのでしょうか?
AllocConsole コンソールの割り当て
こんな感じに書いてるところがもしあれば教えてください;
よろしくお願いします
[4178] Re: API 投稿者:TZ9 投稿日:06/11/17(金) 20:17
> 最近APIにハマッてるのがですが
> 関数の一覧とかどこかないのでしょうか?
>
> AllocConsole コンソールの割り当て
>
> こんな感じに書いてるところがもしあれば教えてください;
> よろしくお願いします
blueleafさんのWIN32APIへのリンク集(chmファイル)が使い勝手いいと思い
ます。
http://hp.vector.co.jp/authors/VA034288/
[4177] Re: API 投稿者:Irisawa 投稿日:06/11/16(木) 23:06
> 最近APIにハマッてるのがですが
> 関数の一覧とかどこかないのでしょうか?
> AllocConsole コンソールの割り当て
> こんな感じに書いてるところがもしあれば教えてください;
> よろしくお願いします
HSP用ではちょくとさんのページが一番定番で最も適していると思い
ます。
(HSP用に解説しているので構造体で変数対応や定数の値とか関数を
エクスポートしているDLLなども書いてあります)
http://yokohama.cool.ne.jp/chokuto/
ただし、すべてのAPI関数に対応しているわけではないですし、
より情報の少ないものはMSDNライブラリとか見るしかないでしょう。
http://msdn.microsoft.com/library/ja/
英語版の方がより多くの情報があって新しい上に、詳しく丁寧に
書いてありますがなんといっても英語なので日本人には読みにくいと
思います。
http://msdn.microsoft.com/library/
英語のできる人ならそれなりに理解することも可能かも知れませんし
辞書とか見ながら自己翻訳する方法もありますが、専門用語の
オンパレードなので難解だと思います。
あとは、比較的日本語情報が多くてHSPに移植しやすいのはVBの
API解説サイトですね。
VBのAPI定義はエクスポートDLLも書いてありますし、関数の
エクスポート名や定数値、構造体の定義なども基本的に書かれている
のである程度慣れれば読めると思います。
http://www.winapi-database.com/
基本的にHSPでは仕様上使用不可能なAPI(コールバック関数を必要と
しているものなど)もあります。
勿論、マシン語を使用するなどの裏技を使えばできないことはないと
思いますが難しいし面倒です。
[4165] たびたびすみません 投稿者:しょしんしゃ 投稿日:06/11/09(木) 15:11
kz3さん、たびたびすみません・・。ご丁寧なコメントありがとうご
ざいます。やりたいことは、心理学実験のデータの保存です。データ
として、刺激呈示の順序(1桁の数値)、反応時間(3桁の数値)、
押したキー(1桁の数値)、ランダム化の指標(2桁の数値)、刺激
語の内容(7桁の文字(漢字+ひらがな))をそれぞれ単独の配列(
反応数は90個)に入れてあるのですが、これをまとめてファイルに
落とすという作業です。とりあえず1つの刺激ごとに、上記の5つの
変数の内容を全部を足し合わせたdata.iという配列を作って、notead
dで90行追加し、notesaveで一気に書き込もうとしたわけです。dat
a.iのひとつひとつの行は、そのようなわけで充分64文字内に収まっ
ているとおもうのですが、数行addするとオーバーフローになってし
まう・・。(\n)をつけてやってみてもだめでした。結局64×90の
配列がnoteバッフアに確保できないことを意味するエラーなのかなと
考えていますがどうなんでしょう。教えていただいたやり方でsaveし
たファイルの最終行だけloadし、1行分づつ追加するなんてやりかた
は可能なのでしょうか。とにかくやりたいことは上記の5変数×90
試行のデータの書き出しということです。あらためてご教示いただけ
れば幸いです。
[4168] Re: たびたびすみません 投稿者:矢野 投稿日:06/11/10(金) 03:16
> a.iのひとつひとつの行は、そのようなわけで充分64文字内に収まっ
> ているとおもうのですが、数行addするとオーバーフローになってし
> まう・・。(\n)をつけてやってみてもだめでした。結局64×90の
> 配列がnoteバッフアに確保できないことを意味するエラーなのかなと
> 考えていますがどうなんでしょう。
次のスクリプトで、データを保存しようとされたようですが、
バッファオーバーフローになる理由は、
配列変数dataの最初の入れ物に、次々とデータが入ったためです。
入れ物は、90個準備しているのですが、1つの入れ物の容量は
64バイトしか確保していません。従って、数回のループで
入れ物いっぱいになって、あふれてしまいます。
sdim data,64,90
nam=(省略)
data.k=(省略)
notesel data
repeat rep-1
i=cnt+1
data2=data.i
noteadd data2 (←ここでオーバーフローになります)
loop
notesave nam
stop
数値を準備する配列変数を data.k とするなら、
数値を保存する配列変数は名前を変える必要があります。
たとえば、それを hozondata という名前にするなら
スクリプトは次のようになります。
sdim hozondata,64,90
repeat 90,1
hozondata.cnt=""
loop
nam=(省略)
data.k=(省略)
repeat rep-1
i=cnt+1
notesel hozondata.i
data2=data.i
noteadd data2 (←ここでオーバーフローになっていた)
loop
notesave nam
stop
配列変数をループの中に入れることにより、
保存するたびに、保存する入れ物を変えるように設定しました。
これで、試してみてください。
[4171] Re^2: たびたびすみません 投稿者:しょしんしゃ 投稿日:06/11/12(日) 12:27
矢野さん。丁寧なコメントありがとうございます。早速ためしてみましたが
、このやりかただと、最後の行の内容しか書き込めないようです。data2を
配列にしてみたり、hozondataやdata2を後から呼び出して書き込むようなこ
ともやってみましたが、うまくいきません。mesで内容を書かせてみると、h
ozondataにはきちんと内容が入っています。noteselを指定するたびに、not
eaddやnotesaveの対象が入れ替わってしまうのかなとかんがえましたがどう
でしょう。ちなみに、noteaddの追加モード指定もやってみましたが、結果
は同じでした。
[4172] Re^3: たびたびすみません 投稿者:矢野 投稿日:06/11/12(日) 13:20
今回の配列変数は、容量が64バイトの箱を90個準備して、
それぞれの箱に、data.i の内容を書き込みました。
。> mesで内容を書かせてみると、hozondataにはきちんと内容が入っています。
とのことですので、書き込みは正常に行われていると思います。
> 矢野さん。丁寧なコメントありがとうございます。早速ためしてみましたが
> 、このやりかただと、最後の行の内容しか書き込めないようです
最後の行しか、見えていないのではないですか。
さて、そこで、配列変数ではなく、メモリーノート形式
つまり、大きな1個の箱を準備して、その箱の中に、各データを
1行ずつ改行しながら、入れてみました。
スクリプトを次のように変更して、実行してみてください。
(noteadd 命令を使用せず、1行読み込むたびに改行記号を入れました。)
sdim hozondata,32000
nam=(省略)
data.k=(省略)
notesel hozondata
repeat rep-1
i=cnt+1
data2=data.i
hozondata+=""+data2+"\n"
;noteadd data2 (←ここでオーバーフローになっていた)
loop
notesave nam
stop
[4173] Re^4: たびたびすみません 投稿者:矢野 投稿日:06/11/12(日) 13:31
追加発言です。
先ほどは noteadd 命令を使用しない書き方を紹介しましたが、
もちろん、次のようにnoteadd 命令を使用しても同じ結果になります。
先ほどの書き方は、読み込む各行のデータ(data.i)の前後に
言葉や記号を追加して読み込むときには、便利なやり方です。
sdim hozondata,32000
nam=(省略)
data.k=(省略)
notesel hozondata
repeat rep-1
i=cnt+1
data2=data.i
noteadd data2 (←ここでオーバーフローになっていた)
loop
notesave nam
stop
[4174] Re^5: たびたびすみません 投稿者:しょしんしゃ 投稿日:06/11/13(月) 00:50
矢野さん、ありがとうございます。おかげさまで、4172のやり方でやってみ
たら、うまく書き出しできました!!本当に助かりました。重ねて厚く御礼
申し上げます。m(__)m
[4175] Re^6: たびたびすみません 投稿者:矢野 投稿日:06/11/13(月) 23:17
解決!おめでとうございます。
悩みに悩んだ問題が解決したときの感激は、またひとしおでしょう。
喜んでいただいて、同様にうれしく思います。
問題を解決するために掲示板を利用し始めて1年余りになりますが、
私もこれまでに、多くの人に助けられました。
ほんとにありがたいことだといつも感謝しています。
[4167] 質問です・・・ 投稿者:TAKKUN 投稿日:06/11/09(木) 21:39
たびたびスミマセン^^;
皆さんは、HSPのHGIMGが読み込めるMX形式の
データは、どうやって作ってますか?
やはりメタセコイヤ形式のMQOファイルを、
変換ツールでMX形式にしてますか?
超アホな質問ですが、ご存知の方、いないでしょうか?
お願いします。
[4170] Re: 質問です・・・ 投稿者:GENKI 投稿日:06/11/10(金) 23:04 <URL>
> 皆さんは、HSPのHGIMGが読み込めるMX形式の
> データは、どうやって作ってますか?
昔HSP2のHGIMGを使ったソフトを作ったときは3DAce使ってました。
複雑なモデルは作りませんでしたし、MX形式への出力も簡単だったん
で使ってました。
六角大王やメタセコなどいろんな形式に入出力できるんで形式変換
にも使えると思いますよ。
[4169] Re: 質問です・・・ 投稿者:HSPチャレンジ 投稿日:06/11/10(金) 19:27
おちゃっこさんのRocDeBoneとE3DforHSPでつくるとmx形式使わないんですよね
メタセコでモデルつくってそっちの形式に変換します
3.0のhgimgだとレンダリングは正常にいくと思います。それかhgimg3ですね
。
こっちはxファイル形式が使えます
[4163] HSPとは違う質問な気もしますが… 投稿者:test 投稿日:06/11/08(水) 18:16
HSP本体とは関係の無い(?)質問だとは思いますが他に場所も見当たら
ないのでここで質問させてください。
HSPで使う用に3DACEを使ってモデルを作っているのですが実行して
みると上部が欠けているみたいになり正しく表示されません
テクスチャが貼られていないのかも…と思い調べてみたところ最終
的にace2mxというファイルに行き着いたのですが…
3DACEの作者のHPにも見当たらず何処にあるのかわかりません、どな
たか知っている方いらっしゃいませんでしょうか…_| ̄|○
[4164] Re: HSPとは違う質問な気もしますが… 投稿者:TAKKUN 投稿日:06/11/08(水) 23:32
僕も同じ症状がでました。
どうしてかわからないので下で質問させていただきましたw
3Daceで車のオブジェクトを作って、HSPのHGIMGで表示させると、
変な形になってしまい、原型がわからないほどおかしくなりました。
3Daceは、HSPが対応しているMX形式で保存できる
便利なツールなので、ちょっと困りましたね・・・・。
[4156] 大規模配列データのセーブ 投稿者:しょしんしゃ 投稿日:06/11/07(火) 01:57
プログラム初心者です。3桁数値×5個+6文字の配列変数"data"
を作成し、以下のようなプログラムでセーブしようとすると3〜5
行書き出したところでオーバーフローになってしまいます。データ数
は90個です。dataやdata2のデフォルト文字数を大きくしても通り
ませんでした。bsaveでもやってみたのですが、やはり同様のエラー
になってしまいます。同じファイルへの追加書き出しができれば問題
は解決するように思うのですが、やりかたがわかりません。なにかよ
い方策があればご教示いただければ幸いです。
-------------
sdim data,64,90
nam=(省略)
data.k=(省略)
notesel data
repeat rep-1
i=cnt+1
data2=data.i
noteadd data2 (←ここでオーバーフローになります)
loop
notesave nam
stop
--------------
[4158] noteaddの微妙なサンプルですよ 投稿者:kz3 投稿日:06/11/07(火) 10:28 <URL>
; noteaddの挙動サンプル
hsp_horz = "Hot Soup Processor" ; 変数に文字列を代入
strlen ln, hsp_horz ; 文字列の文字数を取得
notesel hsp_vert ; note系命令の対象バッファを設定
repeat ln ; 文字数分繰り返す
strmid char, hsp_horz, cnt, 1 ; 文字列の先頭から順番に1文字(文字列)取り出す
noteadd char ; 取り出した文字列を対象バッファの最終行に追加
loop
mes hsp_horz ; 最初に用意した文字列を表示
mes hsp_vert ; noteaddで追加していった文字列を表示
stop
[4161] Re: noteaddの微妙なサンプルですよ 投稿者:しょしんしゃ 投稿日:06/11/07(火) 22:59
kz3さんありがとう!なるほど、一文字づつ加えるやりかたがあったの
ですね。早速組み込んでみます。また伺うことがあったらコメントも忘れ
ずにつけることにします。助かりました。
> ; noteaddの挙動サンプル
> hsp_horz = "Hot Soup Processor" ; 変数に文字列を代入
> strlen ln, hsp_horz ; 文字列の文字数を取得
> notesel hsp_vert ; note系命令の対象バッファを
設定
>
> repeat ln ; 文字数分繰り返す
> strmid char, hsp_horz, cnt, 1 ; 文字列の先頭から順番に1文
字(文字列)取り出す
> noteadd char ; 取り出した文字列を対象バッ
ファの最終行に追加
> loop
>
> mes hsp_horz ; 最初に用意した文字列を表示
> mes hsp_vert ; noteaddで追加していった文
字列を表示
> stop
[4162] Re^2: noteaddの微妙なサンプルですよ 投稿者:kz3 投稿日:06/11/08(水) 09:18 <URL>
> なるほど、一文字づつ加えるやりかたがあったのですね。
いや...
しょしんしゃさんがどんな処理をしたいのか分からなかったので(ソースの意味を考えなかったので)
「noteaddはこんな命令だよ」というのだけを教えただけです。
とりあえず、「オーバーフロー」という症状は分かりましたです。
note系命令を使うとバッファサイズの自動確保という機能が働いて、
64バイトが限界のときに100バイトの文字列を追加したりすると、
その自動確保機能が働いて必要な分だけバッファサイズが伸張します。
ただしこの機能が働くのは"文字列変数"のときであり、"文字列配列変数"では働きません。
# というか既に変数の型がstrの時だと強制的に"文字列変数"にしないみたい
自動確保されないために確保済みサイズ以上に文字列を追加しようとすると「オーバーフロー」となります。
以下のスクリプトで確認してみてください。
;sdim data, 64, 2 // dataを配列変数として宣言する
notesel data
repeat 10
noteadd "Hot Soup Processor"
loop
mes data
stop
[4157] Re: 大規模配列データのセーブ 投稿者:kz3 投稿日:06/11/07(火) 10:08 <URL>
いつも思うのはこういう「動きません」とか「エラーです」とか言って、
掲載するスクリプトにコメントが無いこと。
サンプルスクリプトじゃないんだから、もっとコメントまみれのスクリプトでもいいんじゃないかなって...。
(全然整形していないコメントは無いほうがマシですが...)
とりあえず、デバッグの基本は自分の書いてるスクリプトにコメントを付けるところから始まりますよ。
> notesel data
> data2 = data.i
> noteadd data2
こういう処理が本当に自分が意図したものなのかどうかも分かると思いますし...。
[4160] HGIMG 投稿者:TAKKUN 投稿日:06/11/07(火) 21:45
プログラマーを目指している厨房です。はじめまして。
最近、HSPの拡張プラグイン、HGIMGを使用して、レースゲームを
つくっているのですが、
3Daceを使用して作った拡張子MXの車を、オブジェクトとして表示
させると
どうしても透けて表示されてしまいます。
どうやったら車が透けずに表示させられますか?
どんな車を作っても、色をかえてもだめでした。
知ってる方がいらっしゃいましたら、僕に教えてくれたら
幸いです。
よろしくお願いします。
[4144] waitとawait 投稿者:うし 投稿日:06/10/30(月) 12:41
お知恵を貸して下さい
wait 1とawait 1は本来10倍の違いがあるはずですが
小生の環境ではそんなに違いが出ません
なぜでしょうか?
環境はペン4、WINXPHESP2、HSP2.61です
もう一つ
MCIでmp3を再生中とそうでない場合
es_timerに違いは有るのでしょうか?
時間調節に苦労しています 助けて!
[4147] Re: waitとawait 投稿者:ANTARES 投稿日:06/10/30(月) 20:51 <URL>
>wait 1とawait 1は本来10倍の違いがあるはずですが
>小生の環境ではそんなに違いが出ません
通常の環境では、数十ミリ秒くらいが限界ってことですね。
私の環境では、以下のスクリプトで2つとも1250になりました。
>MCIでmp3を再生中とそうでない場合
>es_timerに違いは有るのでしょうか?
ふなっこさんが、「BGMを鳴らすとタイマーの精度が上がる」と
言っていました。
#include "anthspex.as"
wait 200
gettick start
repeat 20
wait 5
loop
gettick vend
mes vend-start
await
gettick start
repeat 20
await 50
loop
gettick vend
mes vend-start
mes "end"
stop
[4148] Re^2: waitとawait 投稿者:うし 投稿日:06/10/31(火) 09:24
ありがとうございます
やっぱりそういう現象が有るんですね
で、うまい解決法は有りますか?
[4149] Re^3: waitとawait 投稿者:20061031 投稿日:06/10/31(火) 16:16
> ありがとうございます
> やっぱりそういう現象が有るんですね
> で、うまい解決法は有りますか?
winmm.dll
timeBeginPeriod
分解能
有効範囲(OSの異なり)
上記のワード検索で何かヒントが掴めるかもしれないお
[4155] Re^4: waitとawait 投稿者:うし 投稿日:06/11/01(水) 10:06
> winmm.dll
> timeBeginPeriod
> 分解能
> 有効範囲(OSの異なり)
>
ありがとう
[4150] mesbox 投稿者:PO 投稿日:06/10/31(火) 18:45
mesboxに入力された文字、数字などを1行づつ読み取るなんてことは
できないのでしょうか?
かれこれ2日間ほど探してるのですが見つからないです。
宜しくお願いいたします;;
[4151] Re: mesbox 投稿者:k 投稿日:06/10/31(火) 20:45
> mesboxに入力された文字、数字などを1行づつ読み取るなんてことは
> できないのでしょうか?
>
> かれこれ2日間ほど探してるのですが見つからないです。
> 宜しくお願いいたします;;
notegetとかじゃ出来ないでしょうか?
[4152] Re^2: mesbox 投稿者:PO 投稿日:06/10/31(火) 21:17
> > mesboxに入力された文字、数字などを1行づつ読み取るなんてこ
とは
> > できないのでしょうか?
> >
> > かれこれ2日間ほど探してるのですが見つからないです。
> > 宜しくお願いいたします;;
> notegetとかじゃ出来ないでしょうか?
お早い対応ありがとうございます。
ただまだ良く分かりません。
僕の説明不足だったかもしれません。
僕のやりたいことは
mexboxにいれた文字、数字をあるプロセスに1行づつ送るというものです。
たびたび申し訳ございません。
[4153] Re^3: mesbox 投稿者:woodfields 投稿日:06/11/01(水) 01:40
> mexboxにいれた文字、数字をあるプロセスに1行づつ送るというもので
す。
mexboxからの1行取り出しにはcommonフォルダ内のime.asが参考になるか
も。
あるプロセスに1行づつ送る・・・というのはよくわからないです。
[4154] Re^4: mesbox 投稿者:PO 投稿日:06/11/01(水) 07:46
> > mexboxにいれた文字、数字をあるプロセスに1行づつ送るという
もので
> す。
>
> mexboxからの1行取り出しにはcommonフォルダ内のime.asが参考にな
るか
> も。
> あるプロセスに1行づつ送る・・・というのはよくわからないです。
そうですか・・色々ありがとうございます。
[4132] ごみ箱にファイル削除は? 投稿者:モラミ 投稿日:06/10/25(水) 00:12
ファイルを削除する場合
delete "aaa.txt"
だと削除できるのですが
ごみ箱に行かず削除されてしまいます。
ごみ箱に削除する方法はないのでしょうか?
C:\Recycledに移動という方法も考えられるのですが
不特定多数の環境を考えているので
その方法だと不安要素があります。
家の環境
win2000
hsp2.61
[4135] Re: ごみ箱にファイル削除は? 投稿者:Irisawa 投稿日:06/10/25(水) 14:28
> ごみ箱に削除する方法はないのでしょうか?
> C:\Recycledに移動という方法も考えられるのですが
> 不特定多数の環境を考えているので
> その方法だと不安要素があります。
ごみ箱のフォルダは環境変数で取得できそうですが...。
ごみ箱に移動する場合はSHFileOperationを使用してください。
http://yokohama.cool.ne.jp/chokuto/urawaza/api/SHFileOperation.html
#include "llmod.as"
#const FO_MOVE 0x0001
#const FO_COPY 0x0002
#const FO_DELETE 0x0003
#const FO_RENAME 0x0004
#const FOF_MULTIDESTFILES 0x0001
#const FOF_CONFIRMMOUSE 0x0002
#const FOF_SILENT 0x0004
#const FOF_RENAMEONCOLLISION 0x0008
#const FOF_NOCONFIRMATION 0x0010
#const FOF_WANTMAPPINGHANDLE 0x0020
#const FOF_ALLOWUNDO 0x0040
#const FOF_FILESONLY 0x0080
#const FOF_SIMPLEPROGRESS 0x0100
#const FOF_NOCONFIRMMKDIR 0x0200
#const FOF_NOERRORUI 0x0400
#const FOF_NOCOPYSECURITYATTRIBS 0x0800
#const FOF_NORECURSION 0x1000
#const FOF_NO_CONNECTED_ELEMENTS 0x2000
#const FOF_WANTNUKEWARNING 0x4000
#const FOF_NORECURSEREPARSE 0x8000
mref bmscr, 67
hwnd = bmscr.13
dim so, 8
so = hwnd, FO_DELETE
buf = curdir + "\\test.txt"
getptr so.2, buf
so.3 = 0, FOF_ALLOWUNDO | FOF_NOCONFIRMATION | FOF_SILENT, 0, 0, 0
getptr prm, so
dllproc "SHFileOperationA", prm, 1, D_SHELL
stop
[4140] Re^2: ごみ箱にファイル削除は? 投稿者:モラミ 投稿日:06/10/28(土) 00:23
> ごみ箱のフォルダは環境変数で取得できそうですが...。
> ごみ箱に移動する場合はSHFileOperationを使用してください。
ご返信ありがとうございます。
参考にさせていただきます。
[4023] palcopy 投稿者:おさか 投稿日:06/09/16(土) 19:43
buffer 1,,,1
picload "janken.bmp"
screen 0,320,260,1
palcopy 1
gmode 2
pos 30,0 :gcopy 1,0,0,200,180
stop
この記述でコンパイルしたところpalcopy 1 のところがどうしても
エラーになってしまいます。12歳からはじめるHSPゲームプログラミ
ングという本を見ながらやっているんですが、その本にもそうかかれ
ています。解決方法お願いします
[4136] Re: palcopy 投稿者:へい! 投稿日:06/10/25(水) 15:49
ver3だからですね。
ver2でためしてみてください。
[4026] Re: palcopy 投稿者:osakana 投稿日:06/09/17(日) 02:01
無いとは思いますが、もしかしてHSP3を使っている・・・。
[4027] Re^2: palcopy 投稿者:おさか 投稿日:06/09/17(日) 08:19
HSP3を使っていました。新しいverが出たらダウンロードしろと書かれてい
るんですけどどうなんですかね?
[4028] Re^3: palcopy 投稿者:Kpan 投稿日:06/09/17(日) 09:20
HSPというくくりの中だけで言えば、HSP2とHSP3は別物に近いです。
HSP3にはpalcopy命令はありません。
[4035] Re^4: palcopy 投稿者:おさか 投稿日:06/09/17(日) 21:36
ありがとうございました。今度からは2の方でやりたいと思います
[4024] Re: palcopy 投稿者:ANTARES 投稿日:06/09/16(土) 23:24 <URL>
>エラーになってしまいます
エラーメッセージを書きましょう。
一応HSP2.5〜2.61でやってみましたがエラーは出ませんでした。
試しに画像をフルカラーにしてみましたが、
やっぱりエラーは出ませんでした、表示はおかしくなるけど。
[4025] Re^2: palcopy 投稿者:矢野 投稿日:06/09/17(日) 00:41
> >エラーになってしまいます
> エラーメッセージを書きましょう。
>
> 一応HSP2.5〜2.61でやってみましたがエラーは出ませんでした。
> 試しに画像をフルカラーにしてみましたが、
> やっぱりエラーは出ませんでした、表示はおかしくなるけど。
私もやってみましたが、エラーにはなりませんでした。
もしかしたら、「janken.bmp」の画像を
スクリプトと同じフォルダに、置いていないのではないですか。
[4103] MMO基礎を作っていますが・・・ 投稿者:aki 投稿日:06/10/10(火) 19:47
こんばんは
MMOの基礎を作っていますが、アドバイスもらえませんか?
S/C形式でPCBNET使用しています。
EXEは下記のアドレス
http://akihide.no-ip.com/ccc.zip
asファイルは
http://akihide.no-ip.com/ccc.txt
です。
アドバイスがほしいのは、キャラ移動時は問題ないと思いますが
メッセージ送信時に、送信後キャラを動かすとすべてのキャラが動
いてしまいます。
メッセージ送信後の処理をどうすればいいかアドバイスお願いしま
す。
[4107] Re: MMO基礎を作っていますが・・・ 投稿者:aki 投稿日:06/10/11(水) 17:54
一応、二重起動しないようにすれば操作は安定しました。
> こんばんは
> MMOの基礎を作っていますが、アドバイスもらえませんか?
> S/C形式でPCBNET使用しています。
>
> EXEは下記のアドレス
> http://akihide.no-ip.com/ccc.zip
> asファイルは
> http://akihide.no-ip.com/ccc.txt
> です。
> アドバイスがほしいのは、キャラ移動時は問題ないと思いますが
> メッセージ送信時に、送信後キャラを動かすとすべてのキャラが動
> いてしまいます。
> メッセージ送信後の処理をどうすればいいかアドバイスお願いしま
> す。
[4130] Re^2: MMO基礎を作っていますが・・・ 投稿者:aki 投稿日:06/10/24(火) 12:46
一応、かたち的にはできたのですが、
15人程度までならほぼ動くようになりました
(たまに、挙動がありますが)
動作確認してもらえると助かります。
一応、XPで動作確認できています。
EXEは下記のアドレス
http://akihide.no-ip.com/ccc.zip
[4124] プラグインについて質問 投稿者:ネフェルピトー 投稿日:06/10/22(日) 10:30
はじめましてネフェルピトーと申します。
HSPでフル3D格闘ゲーム(きれいなグラフィックスにしたいです)を
作りたいのですがどのようなプラグイン(理解しにくいものは使えま
せん)を使えばいいのか初心者なほうなのでわかりません。(モデリ
ングソフトはメタセコイアを使いたいです。あと、X形式かmqo形式の
モデルがいいです。)
回答よろしくお願いします。
[4125] Re: プラグインについて質問 投稿者:GENKI 投稿日:06/10/22(日) 18:38 <URL>
> HSPでフル3D格闘ゲーム(きれいなグラフィックスにしたいです)を
> 作りたいのですがどのようなプラグイン(理解しにくいものは使えま
> せん)を使えばいいのか初心者なほうなのでわかりません。(モデリ
> ングソフトはメタセコイアを使いたいです。あと、X形式かmqo形式の
> モデルがいいです。)
個人的にオススメは「Easy3D for HSP」HSP2.61にもHSP3にも対応しているからどちらでも使えます。
おちっこLAB http://www5d.biglobe.ne.jp/~ochikko/
開発元サイトには、このプラグインで3D格ゲーを作るための初心者向けの解説&サンプルもあります。
モデル作ってるユーザーのなかには、メタセコを使ってる人が多いようです。
解説は製作工程を解説されているこの↓サイトが分かりやすいと思います。
トレジャーハント製作ブログ「3DCGゲームを作ろう」
http://treasurehunt.cocolog-nifty.com/
で、ついでに自分のサイトも宣伝しておく…と。(^ ^;;
http://homepage3.nifty.com/ghpk/e3d/e3d001.htm
[4126] 回答ありがとうございました 投稿者:ネフェルピトー 投稿日:06/10/22(日) 21:30
回答ありがとうございました。
[4104] 基本的な質問ですいません;;; 投稿者:PO 投稿日:06/10/11(水) 08:26
bgscrによって作られたウィンドウを最前面表示させるにはどうした
らいいのでしょうか
[4113] Re: 基本的な質問ですいません;;; 投稿者:woodfields 投稿日:06/10/13(金) 23:54
> bgscrによって作られたウィンドウを最前面表示させるにはどうした
> らいいのでしょうか
多分こんな感じ
#include "llmod.as"
screen 0,400,400,0
mref bmscr,67 : hwnd_0=bmscr.13
bgscr 10,200,200,0,50,50
color 255,0,0 : boxf
mref bmscr,67 : hwnd_10=bmscr.13
prm.0=hwnd_10 ; 子ウィンドウハンドル
prm.1=hwnd_0 ; 親ウィンドウハンドル
dllproc "SetParent",prm,2,D_USER ; 親子セット
stop
[4109] bgscrの最前面表示(Re: 基本的な質問ですいません;;;) 投稿者:ANTARES 投稿日:06/10/11(水) 20:51 <URL>
>bgscrによって作られたウィンドウを最前面表示させるにはどうした
>らいいのでしょうか
bgscr 2,640,480
button "end",*l_end
gsel 2,2
stop
*l_end
end
[4091] repeat文の省略 投稿者:aki 投稿日:06/10/05(木) 08:56
こんにちは
以下のrepeat文を省略できますか?
repeat 100
mc = cnt
repeat 10
if (mc>-1 )&(mc <10) :pos 32*(mc-0 ),32*0 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>9 )&(mc <20) :pos 32*(mc-10),32*1 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>19 )&(mc <30) :pos 32*(mc-20),32*2 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>29 )&(mc <40) :pos 32*(mc-30),32*3 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>39 )&(mc <50) :pos 32*(mc-40),32*4 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>49 )&(mc <60) :pos 32*(mc-50),32*5 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>59 )&(mc <70) :pos 32*(mc-60),32*6 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>69 )&(mc <80) :pos 32*(mc-70),32*7 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>79 )&(mc <90) :pos 32*(mc-80),32*8 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
if (mc>89 )&(mc <100):pos 32*(mc-90),32*9 :gcopy 1,32*xx.0,32*xx.1,32,32:else:
loop
loop
[4092] Re: repeat文の省略 投稿者:osakana 投稿日:06/10/05(木) 09:27
> こんにちは
> 以下のrepeat文を省略できますか?
規則性があれば省略する事が出来ます。
akiさんのスクリプトでは1ずつ増えたり10ずつ増えたりという規則性があるのでそこに着目すると簡単に省略できます。
実行していませんが、こんな感じです。
repeat 100 :mc = cnt
repeat 10
if (mc>(cnt*10)-1 )&(mc <(cnt+1)*10) { pos 32*(mc-(cnt*10) ),32*cnt :gcopy 1,32*xx.0,32*xx.1,32,32 }
else {}
loop
loop
[4093] Re^2: repeat文の省略 投稿者:aki 投稿日:06/10/05(木) 12:32
こんにちは
規則性があるみたいなんですが
osakanaさんのスクリではうまくいかないみたいです
一応txtから読み込んだ値をxx.0とxx.1にいれてマップ画像からgcopyしているのですが・・・
noteload "a.txt"
notemax m
repeat m
noteget data.cnt,cnt
loop
csvsel data
repeat m
mc = cnt
> > こんにちは
> > 以下のrepeat文を省略できますか?
> 規則性があれば省略する事が出来ます。
> akiさんのスクリプトでは1ずつ増えたり10ずつ増えたりという規則性があるのでそこに着目すると簡単に省略できます。
> 実行していませんが、こんな感じです。
>
> repeat 100 :mc = cnt
> repeat 10
> if (mc>(cnt*10)-1 )&(mc <(cnt+1)*10) { pos 32*(mc-(cnt*10) ),32*cnt :gcopy 1,32*xx.0,32*xx.1,32,32 }
> else {}
> loop
> loop
[4094] Re^3: repeat文の省略 投稿者:aki 投稿日:06/10/05(木) 19:47
自己解決しました
repeat 100 mc = cnt
csvstr xx,data.cnt
repeat 10
if (mc>((10*cnt)-1))&(mc <(10*(cnt+1))) :pos 32*(mc-(10*cnt)),32*cnt:gcopy 1,32*xx.0,32*xx.1,32,32:else:
loop
loop
osakanaさんのスクリとほぼ同じですね
計算式の括弧を増やしました
ありがとう
> こんにちは
> 規則性があるみたいなんですが
> osakanaさんのスクリではうまくいかないみたいです
> 一応txtから読み込んだ値をxx.0とxx.1にいれてマップ画像からgcopyしているのですが・・・
> noteload "a.txt"
> notemax m
> repeat m
> noteget data.cnt,cnt
> loop
>
>
> csvsel data
> repeat m
> mc = cnt
>
> > > こんにちは
> > > 以下のrepeat文を省略できますか?
> > 規則性があれば省略する事が出来ます。
> > akiさんのスクリプトでは1ずつ増えたり10ずつ増えたりという規則性があるのでそこに着目すると簡単に省略できます。
> > 実行していませんが、こんな感じです。
> >
> > repeat 100 :mc = cnt
> > repeat 10
> > if (mc>(cnt*10)-1 )&(mc <(cnt+1)*10) { pos 32*(mc-(cnt*10) ),32*cnt :gcopy 1,32*xx.0,32*xx.1,32,32 }
> > else {}
> > loop
> > loop
[4101] Re^4: repeat文の省略 投稿者:osakana 投稿日:06/10/06(金) 04:04
> 計算式の括弧を増やしました
投稿する時 やり方のふいんきが分かればという思いで、
括弧がいるかも知れないと思いつつ投稿してしまいました。
すみません。
何より解決したようで良かったです。
[4062] sockcheckについて 投稿者:k 投稿日:06/09/29(金) 19:47
hspsock.dllの使い方を色々試行錯誤をしています。
最初にサバとクライアントを選んで互いに接続した後、下のような
プログラムに移るのですが、なぜか片方切断した後も、
sockcheck 0後のstatの値が0になり続けてループを抜けてしまうの
ですが
なぜこうなってしまうのでしょうか?
*メイン
cls
p=""
sockput "接続中",0
repeat
sockcheck 0
if stat=0:break
await 0
loop
sockget p,,0
await 0
pos 0,0:mes p
goto *メイン
[4090] Re: sockcheckについて 投稿者:k 投稿日:06/10/03(火) 20:22
sockcheckの変な動きに関しては解決できませんでしたが
別の方法でなんとかなりました。
所でこのプラグインはルーター使っている環境でデータ受信系の
命令文を書くと強制終了するんですが、これはどうにもならないのでしょ
うか。
ps.久しぶりに来たのですがなんだか人減りましたね。
[3803] 画像に関して。 投稿者:ぺー 投稿日:06/07/14(金) 20:14 <URL>
関連付けは諦めました^^;お世話になってすみませんでした。
つぎに、二つ質問があります。
1.gcopyで画像を描画すると、格ゲー等を作るときにキャラを移動させるときに一瞬画面が白くなるのですが、(多分「cls→gcopy」のときgcopyの描画時間のせいと思われます。)
一瞬も白くならずにキャラを移動させるにはどうするのですか?
まぁほかにもあるのだろうけど、こんな感じにスムーズに動きたいです。
http://www.zener.co.jp/onitama/hspfile/hiroi.lzh
2.画像のサイズを取得するにはどうすればいいのですか?(xとyの長さ)
[3804] [回答]Re: 画像に関して。 投稿者:GENKI 投稿日:06/07/14(金) 21:10 <URL>
> 1.gcopyで画像を描画すると、格ゲー等を作るときにキャラを移動させるときに
> 一瞬画面が白くなるのですが、(多分「cls→gcopy」のときgcopyの描画時間のせいと思われます。)
> 一瞬も白くならずにキャラを移動させるにはどうするのですか?
ポイントはredrawです。
次のようにして使います。
;------------------------------
;初期設定
x=0 : y=100
;メインループ
*main
;画面の初期化
redraw 0 ;ここからは実際に描画しない
color 255,255,255
boxf
color 0,0,0
await 17 ;初期化ここまで
;ここでキャラクターを描画したりゲーム的な処理をする。
pos x,y
mes "■"
x++
if winx<x : x = 0
redraw 1 ;ここで実際に描画する
goto *main
;------------------------------
> 2.画像のサイズを取得するにはどうすればいいのですか?(xとyの長さ)
picloadを調べてみてください。
> とするだけで、"test.bmp"で指定された画像ファイルが現在の
> 画面にロードされ、ウインドゥサイズが自動的に絵のサイズに
> 合わせられます。
これとシステム変数winx,winyを利用します。
screen以外で作ったウィンドウにも有効だったと思うので
bgscrやbufferでもいけます。
[3805] Re: [回答]Re: 画像に関して。 投稿者:ぺー 投稿日:06/07/14(金) 21:48 <URL>
有り難うございました。格ゲーで、画像を使うには膨大な量必要なので、画
像ファイルはhsp内で処理しようと考えたのですが、まぁ当たり前ですけど
、いちいち画像をpsetで打ち込むのは無理なんで、命令を自動作成するサン
プルを作りました。でも、何故か、bsaveのところでエラーが出ます。何故
ですか?
*saisyo
cls
button "load",*ff
stop
*ff
dialog "bmp",16
*rodo
buffer 123,123
picload ""+refstr+""
sizex=winx
sizey=winy
sizex=sizex+1
sizey=sizey+1
*load
zurasi=1
pget x,y
sdim ya,33
ya="color "+""+rval+""+","+""+gval+""+","+""+bval+""+" : "+"pset "+
""+x+""+","+""+y+""
bsave "go.txt",x,,zurasi
zurasi+33
x=x+1
if x=sizex : y+1 : x=0
if y=sizey : goto*ffff
goto*load
*ffff
dialog "完了"
goto*saisyo
[3809] Re^2: [回答]Re: 画像に関して。 投稿者:ぺー 投稿日:06/07/14(金) 22:12 <URL>
さっき書いたスクプリト見にくいので、コレを使ってください。
http://pay10.gozaru.jp/view.html
[3812] Re^3: [回答]Re: 画像に関して。 投稿者:ANTARES 投稿日:06/07/14(金) 22:46 <URL>
>何故か、bsaveのところでエラーが出ます。何故
>ですか?
bsaveではp4を指定した場合、ファイルが存在しないとエラーになります。
*saisyoの前に次のように書いておくといいでしょう。
exist "go.txt"
if strsize<0: bsave "go.txt",x,1
sdim dir,260
dir=curdir
また、「dialog "bmp",16」の後に「chdir dir」と書いておきましょう。
[3815] 画像に関して。 投稿者:ぺー 投稿日:06/07/15(土) 08:13 <URL>
ありがとうございました。
しかし、完成したスクプリトで画像ファイルを命令に直してできあがったt
xtファイルは、画像ファイルの10倍ぐらいの容量になっていました・・・・
。
そのため、新たに二つ質問が増えました。誰か答えてください・・。
1.格ゲーが完成して配布するとき、ファイル数を最小限に抑える方法はあ
りますか?下のゲームは前にも出しましたが、ファイル数が実行ファイルの
みです。どうするのでしょう・・。
http://www.zener.co.jp/onitama/hspfile/hiroi.lzh
2.画像ファイルをhspの命令に直して、hspに貼り付けました。
すると、AXファイルを作るのも、実行ファイルを自動作成するのも、
出来なくなりました。これでは出力できません。どうすればいいのでしょ
う・・・。下にそのasファイルを貼り付けます。
http://pay10.gozaru.jp/view.html
[3817] Re: 画像に関して。 投稿者:HunterD 投稿日:06/07/15(土) 21:26
> 1.格ゲーが完成して配布するとき、ファイル数を最小限に抑える方法
はあ
> りますか?下のゲームは前にも出しましたが、ファイル数が実行ファ
イル
> のみです。どうするのでしょう・・。
ファイル数をへらすのが目的でしたら、BMPなりで画像ファイルを用意して
実行ファイル(exe)を作るときにそれらを全てpackすれば
いいだけだと思いますが・・・
自己生成にこだわる理由が不明ですが、単にファイル数を減らしたいと
いう目的であれば、そこまでの労力をかける必要性はないように思います
。
[3818] Re^2: 画像に関して。 投稿者:ぺー 投稿日:06/07/16(日) 06:51 <URL>
あの、packファイルの作り方が分からないんです。
どうすれば・・・。
[3819] Re^3: 画像に関して。 投稿者:GENKI 投稿日:06/07/16(日) 09:25 <URL>
> あの、packファイルの作り方が分からないんです。
> どうすれば・・・。
とりあえずいつもの回答はっときます。
正確な情報はマニュアルの書き部分を参照してください。
プログラミングマニュアル1・言語仕様ガイド (hspprog.htm)
1.プログラミングガイド
・EXE,SCRファイルの作成方法
・PACKFILEの編集について
ぐぐれば個人サイトなどで解説が見つかるかもしれません。(←探してません。)
[3823] Re^4: 画像に関して。 投稿者:ぺー 投稿日:06/07/16(日) 19:40
> 正確な情報はマニュアルの書き部分を参照してください。
> プログラミングマニュアル1・言語仕様ガイド (hspprog.htm)
> 1.プログラミングガイド
> ・EXE,SCRファイルの作成方法
> ・PACKFILEの編集について
あの、これは知っているのですが、パックファイルを保存してから、画像
ファイルなどを消すとエラーが出ます。パックファイルを作成して、次はど
うするのですか?
[3824] Re^5: 画像に関して。 投稿者:HunterD 投稿日:06/07/16(日) 20:39
> あの、これは知っているのですが、パックファイルを保存してから、
> 画像ファイルなどを消すとエラーが出ます。パックファイルを作成
> して、次はどうするのですか?
exeを作るまで、元のファイルは消してはいけません。
packfileには、「どのファイルをexeに取り込むか」という情報しか書かれ
ていません。
exeファイルを作る時にはじめて、packfileに書かれた内容を参照して、
元の画像ファイルがexeに取り込まれます。
[3825] Re^6: 画像に関して。 投稿者:ぺー 投稿日:06/07/17(月) 08:17 <URL>
> exeを作るまで、元のファイルは消してはいけません。
exeを作るというのは、「実行ファイル自動作成」のことですか?
[3833] Re^7: 画像に関して。 投稿者:ANTARES 投稿日:06/07/18(火) 01:16 <URL>
>> exeを作るまで、元のファイルは消してはいけません。
>exeを作るというのは、「実行ファイル自動作成」のことですか?
方法は関係ありません。exeファイルができていれば
消してもいいし、できていなければ消してはいけないということです。
というか、普通はできたexeファイルをよそへ持っていって
実験するので、「元のファイル」は永遠に消しませんけどね。
>パックファイルを作成して、次はどうするのですか?
だから、マニュアル読めってば。
> マニュアルでEXEファイルを作成するための手順。(Ver2.55互換の方法)
>1. スクリプトのオブジェクトファイルを作成しておくこと。
> この時、最初に実行されるオブジェクトファイル名は、
> 必ず「start.ax」にしておくこと。
> これがないと、スクリプトが起動されません。
>2. 「PACKFILE編集...」のダイアログで、EXEファイルに含めるための
> ファイル一覧(PACKFILE)を作成します。ここでは、start.axなど
> EXEファイルに埋め込むためのファイル名をすべて選択しておく
> 必要があります。
>3. スクリプトエディタのツールメニューから「EXEファイル作成」を
> 選択します。
> スクリーンセーバーの場合は、「スクリーンセーバー作成」を
> 選択します。これで、EXEまたはSCRファイルがカレントディレクトリに
> できあがります。
[3834] Re^8: 画像に関して。 投稿者:ぺー 投稿日:06/07/18(火) 07:06 <URL>
ありがとうございます。何故かEXEファイルを起動すると、「5」と表示する
ようになりました。これからどうすればいいのですか?
[3835] Re^9: 画像に関して。 投稿者:Steep 投稿日:06/07/18(火) 14:15
> ありがとうございます。何故かEXEファイルを起動すると、「5」と表
示する
> ようになりました。これからどうすればいいのですか?
あなたは何がしたいのですか?
[3837] Re^10: 画像に関して。 投稿者:ぺー 投稿日:06/07/18(火) 20:15 <URL>
> あなたは何がしたいのですか?
格ゲーを作りたいのです!
もう格ゲーは完成したんで!あとはパックするだけなんですよ。
なのに、言われたとおりに作業しても、[5]と表示されるだけなんです!!
どうすればいいのですか?
[3843] Re^11: 画像に関して。 投稿者:ANTARES 投稿日:06/07/19(水) 23:00 <URL>
>もう格ゲーは完成したんで!あとはパックするだけなんですよ。
>なのに、言われたとおりに作業しても、[5]と表示されるだけなんです!!
>どうすればいいのですか?
1 スクリプトエディタを起動している場合はすべて閉じる
2 「格ゲー」のスクリプトがあるフォルダに以下のファイルがある場合、
すべて削除する
hsptmp
hsptmp.i
obj
start.ax
*.dpm
*.exe
3 スクリプトエディタを起動する
4 「ファイル」メニューの「開く」をクリック
5 「格ゲー」のスクリプトを選択して「開く」ボタンをクリック
6 「HSP」メニューの「start.axファイル作成」をクリック
「start.axを作成しました」というダイアログが表示される
7 「OK」ボタンをクリック
8 「ツール」メニューの「PACKFILE編集」をクリック
「PACKFILE一覧」ウィンドウが表示される
9 左のリストボックスからstart.axを選んで「追加 >>」ボタンをクリック
10 同様にして画像ファイル等を追加する
11 「閉じる」ボタンをクリック
12 「ツール」メニューの「EXEファイル作成」をクリック
「実行可能ファイル作成」ウィンドウが表示される
13 「OK」ボタンをクリック
「EXEファイルを作成しました」というダイアログが表示される
14 「OK」ボタンをクリックする
※途中で間違えた場合は、必ず1からやり直すこと
※HSP Ver. 2.61を使うこと
[3856] Re^12: 画像に関して。 投稿者:ぺー 投稿日:06/07/21(金) 19:22 <URL>
> >もう格ゲーは完成したんで!あとはパックするだけなんですよ。
> >なのに、言われたとおりに作業しても、[5]と表示されるだけな
んです!!
> >どうすればいいのですか?
> 1 スクリプトエディタを起動している場合はすべて閉じる
> 2 「格ゲー」のスクリプトがあるフォルダに以下のファイルがある場
合、
> すべて削除する
> hsptmp
> hsptmp.i
> obj
> start.ax
> *.dpm
> *.exe
> 3 スクリプトエディタを起動する
返事遅れて済みません。。分かりやすい説明有り難うございます。
でも、説明書き通りに操作し、
Exforce.dll
hspcmp.dll
hsptmp
hsptmp.i
packfile
start.ax
アブストラクティ.exe(本体exeファイル)
だけを他のフォルダへコピーし、実行してみると、
「内部エラーが発生しました(13)」と表示されます。
今までのフォルダ(画像ファイル等が入っているフォルダ)
なら普通に実行できますが・・・。何故ですか?
ちなみに、dllは、上記のもの以外使っていません。
これでも、分かりやすく現状を伝えたつもりですが・・・。
ヨロシクお願いします。
[3861] Re^13: 画像に関して。 投稿者:GENKI 投稿日:06/07/22(土) 22:19 <URL>
実行形式ファイル(exe)の実行には下記のファイルは必要ありません。
・hsptmp
・hsptmp.i
・packfile
・start.ax
・obj
・*.as(本体スクリプトファイル)
作成した実行形式ファイルの実行には次のファイルが必要です。
・*.exe(本体exeファイル)
・本体で使用しているHSPプラグインファイル。(*.dll)
・本体で使用している画像ファイルや音楽ファイルなど(PACKFILEに登録しなかったファイル)
PACKFILEへの登録をするとフォルダは無視されますので注意してください。
> 「内部エラーが発生しました(13)」と表示されます。
この場合「13」はエラーコードです。
HSPヘルプブラウザーの検索キーワードに「err」と入力してください。
HSP のエラーコードの解説が閲覧できます。簡単な対処法も掲載されています。
デバッグ時の基本動作なので覚えておくといいですよ。
この場合とりあえず思い当たるのは次のようなところでしょうか…
・パック前の画像ファイルが一つ上の階層のフォルダに入っている。
・画像ファイルの場所をフルパスで指定している。
・PACKFILE編集のときに登録し忘れていた。
・…など
ともかくpicload命令で読み込んでいる画像ファイルの指定場所などを
確認してみるといいかもしれません。
> これでも、分かりやすく現状を伝えたつもりですが・・・。
> ヨロシクお願いします。
現状がよく分かり助かりました。
[3865] Re^14: 画像に関して。 投稿者:ぺー 投稿日:06/07/24(月) 12:11 <URL>
う〜分かりました。有り難うございます
[3839] PACKFILEについて(Re^11: 画像に関して。 投稿者:GENKI 投稿日:06/07/18(火) 21:34 <URL>
> > > ようになりました。これからどうすればいいのですか?
> > あなたは何がしたいのですか?
> 格ゲーを作りたいのです!
結果をあせりすぎです。(^_^;
問題が現れたら、問題を一つずつ解決していきましょう。
ぺーさんの場合、格ゲーを作る前にパックファイルの使い方を身に付けるべきです。
一つずつ身に付けていくことが一番の近道になりますよ。
まずは簡単で短いスクリプトを書いてパックファイルの使い方をマスターすべきでしょう。
(簡単で短いスクリプト…例えばpicloadだけのスクリプトとか。)
> > 正確な情報はマニュアルの書き部分を参照してください。
> > プログラミングマニュアル1・言語仕様ガイド (hspprog.htm)
> > 1.プログラミングガイド
> > ・EXE,SCRファイルの作成方法
> > ・PACKFILEの編集について
> あの、これは知っているのですが、パックファイルを保存してから、画像
> ファイルなどを消すとエラーが出ます。パックファイルを作成して、次はど
> うするのですか?
知っていただけで理解が不足しているようです。
何度か読んで、いろいろな方法を試してみてください。
最初は理解できなくても使ううちに理解できるようになってくると思います。
または、↓で自分にあった解説サイトをさがすのもいいでしょう。
http://hsp.tv/play/link2.html
ところで、現在の症状の報告内容に不足があります。
> 言われたとおりに作業しても、[5]と表示されるだけなんです!!
これだけでは[5]が何処にどんな風に表示されているのかすら分かりません。
ウィンドウに表示される場合もあれば、タイトルバーやダイアログ、もしかすると
エラー番号のことかもしれません。
もちろん何をしたのかとかなどは、書いてある以上の事はまったく分かりません。
結果も過程も現状では情報不足で誰も何も答えることが出来ません。
不足している情報は次のような感じでしょうか。
ぺーさんはどんな実行結果が得たかったのですか?
どんなスクリプトを書いたんですか?(長々とスクリプトをコピペしちゃだめですよ。)
書いたとおりの動作ではないのですか?どこがどんな風に違いましたか?
何処が悪いと思いますか?どんな対処を試してみましたか?
ペーさんは次にどんなことがしたいのですか?
…こんな感じかな。
自分で伝わっていないと思うようなところがあれば書いておくべきです。
掲示板は隣にいる人にしゃべるように書いてもなかなか伝わらないものです。
もどかしいですが、自分の理解を確認するようにもう少し相手に伝わるように書いて
もらえると助かります。
[4061] まくろそふと 投稿者:JU 投稿日:06/09/28(木) 18:15
#uselib "BMemory.dll"
#func RM ReadMemory $5
#func GID GetID $5
#func DRM DReadMemory $5
#func DWM DWriteMemory $5
#func DWMS DWriteMemoryS $5
#func WM WriteMemory $5
#func WMS WriteMemoryS $5
#include "Exforce.as"
#include "hspext.as"
title"まくろ"
screen 0,200,200,0
color 230,240,230:boxf
color
say=""
process=""
repeatA=""
pname=process
str pname
pos 65,0 //
mes "発言内容" //
pos 0,20:objsize 200,20
input say
pos 52,50
mes"対象プロセス"
pos 0,70
input process
pos 65,90
mes "回数設定"
pos 0,110
input repeatA
pos 0,130:objsize 105,20
chkbox "Enter自動化",enterchk
pos 0,180
button"マクロ実行",*macro
pos 105,180
button"マクロ停止",*macrostop
repeat
GID pid,pname,0,0
if pid ! 0 : break
wait 500
loop
stop
*macro
aplsel process,0
aplobj "",onn
pos 0,150
mes ""+stat
pos 40,150
mes""+refstr
repeat 0+repeatA
aplstr say
wait 1
if enterchk!0:aplkey 13
loop
*macrostop
stop
ってな感じにマクロソフト作ってるのですが
これだとメモ帳などにしか効果がないです。
どうすればInternet Explorer などでも使えるようになりますか?
[4051] ボールの当たり判定 投稿者:ボールマン 投稿日:06/09/21(木) 22:28
HGIMGを使ってボール同士の当たり判定を行いたいと思うのですが、
どうも上手に出来ません。下の文章から理解お願いします。
regobjでオブジェクト二つを作り、一方のオブジェクトを、もう一
方のオブジェクトにseldirを使って当て、その移動中のオブジェクト
を停止させるプログラムを書きたいのですが、どうしても
2つのオブジェクトが衝突したとき重なってしまいます。
どうかぎりぎりで停止させる方法、知っている方、どんなことでも
構いません、教えてください。
[4056] Re: ボールの当たり判定 投稿者:GENKI 投稿日:06/09/22(金) 21:45 <URL>
> 2つのオブジェクトが衝突したとき重なってしまいます。
> どうかぎりぎりで停止させる方法、知っている方、どんなことでも
> 構いません、教えてください。
方法はいくつかあります。
FPSを大きくするか、当たる直前のコマで止めるか、当たった後にあたらない位置に移動するか…、
ぎりぎりちょうどなら最後のがよさそうな気がします。
具体的に説明すると…衝突を検出したら、衝突したオブジェクトの中心同士を結ぶ距離が
衝突しないギリギリの距離になるよう移動する。
移動方向は双方のオブジェクトの衝突判定の中心点を結んだベクトル方向。
こんな感じで組めばOKだと思います。
[4060] Re^2: ボールの当たり判定 投稿者:ボールマン 投稿日:06/09/23(土) 11:53
お返事ありがとうございます
早速、試したいと思います。
今後ともよろしくお願いします。
> > 2つのオブジェクトが衝突したとき重なってしまいます。
> > どうかぎりぎりで停止させる方法、知っている方、どんなこと
でも
> > 構いません、教えてください。
>
> 方法はいくつかあります。
> FPSを大きくするか、当たる直前のコマで止めるか、当たった後にあ
たらない位置に移動するか…、
> ぎりぎりちょうどなら最後のがよさそうな気がします。
>
> 具体的に説明すると…衝突を検出したら、衝突したオブジェクトの
中心同士を結ぶ距離が
> 衝突しないギリギリの距離になるよう移動する。
> 移動方向は双方のオブジェクトの衝突判定の中心点を結んだベクトル
方向。
>
> こんな感じで組めばOKだと思います。
[4053] HGIMG 投稿者:rrr 投稿日:06/09/21(木) 22:46
HGIMGについてなのですが関数setobrderをスクリプトで表すと、
どういった感じになるのか、どなたか教えてください。
(例)
"a"という関数があるとして・・・
aはb+cという能力を備えているとしたら^^
関数aをスクリプトで表すと
a=b+cとなる。
[4058] setborderのアルゴリズム(Re: HGIMG 投稿者:GENKI 投稿日:06/09/22(金) 22:04 <URL>
ボールマンさんなのかrrrさんなのか…名前ははっきり決めてくれると助かります。
> HGIMGについてなのですが関数setobrderをスクリプトで表すと、
> どういった感じになるのか、どなたか教えてください。
たぶん「setborder」の間違いですね。
ちなみにsetborderは関数ではなく命令です。hgimg3でも命令です。
さて、どういうアルゴリズムになっているかですが、多分こんな感じです。
何も複雑なことはやってなさそうです。
というわけでスクリプトをどうぞ。
;2D版です。
;領域は(0,0)-(winx,winy)です。
;
px=winx/2
py=winy/2
vx = 5
vy = 5
*main
redraw 1 : await 16 : redraw 0 : color 255,255,255 : boxf : color 0,0,0
pos px,py : mes "●"
px += vx
py += vy
if px<0 : px = 0 : vx = -vx
if py<0 : py = 0 : vy = -vy
if px>winx : px = winx : vx = -vx
if py>winy : py = winy : vy = -vy
goto *main
[4059] Re: setborderのアルゴリズム(Re: HGIMG 投稿者:ボールマン 投稿日:06/09/23(土) 00:03
名前がはっきりとしないで申し訳なかったです。
名前はボールマンとさせていただきます。
お返事ありがとうございます。
とてもよい参考になりました。
今後ともよろしくお願いします。
> ボールマンさんなのかrrrさんなのか…名前ははっきり決めてくれる
と助かります。
>
>
> > HGIMGについてなのですが関数setobrderをスクリプトで表すと
、
> > どういった感じになるのか、どなたか教えてください。
>
> たぶん「setborder」の間違いですね。
> ちなみにsetborderは関数ではなく命令です。hgimg3でも命令です。
>
> さて、どういうアルゴリズムになっているかですが、多分こんな感
じです。
> 何も複雑なことはやってなさそうです。
> というわけでスクリプトをどうぞ。
>
> ;2D版です。
> ;領域は(0,0)-(winx,winy)です。
> ;
> px=winx/2
> py=winy/2
> vx = 5
> vy = 5
>
> *main
> redraw 1 : await 16 : redraw 0 : color 255,255,255 : boxf :
color 0,0,0
> pos px,py : mes "●"
>
> px += vx
> py += vy
> if px<0 : px = 0 : vx = -vx
> if py<0 : py = 0 : vy = -vy
> if px>winx : px = winx : vx = -vx
> if py>winy : py = winy : vy = -vy
> goto *main
[4032] webを操作したいのですが、 投稿者:toki 投稿日:06/09/17(日) 17:13
はじめまして、プログラミング自体始めての者です。
windows xpで2,61を使用しています。
下に記入した様な事をしたいのですが、
ヘルプを見てもexecを使う?ような事しか解りません;;
どなたかお教え下さい。
例えば、、、
ホームページを開く【http://yahoo.co.jp/】
↓
『買う』の欄の『ショッピング』をクリックする。
↓
検索の欄に『時計』と入力して『検索ボタン』を押す。
どうぞよろしくお願い致します。
[4034] Re: webを操作したいのですが、 投稿者:Kpan 投稿日:06/09/17(日) 20:55
こういう感じのはだめなんですかね。
//
exec "http://shopping.yahoo.co.jp/search?p=時計", 16
stop
[4036] Re^2: webを操作したいのですが、 投稿者:toki 投稿日:06/09/17(日) 21:49
Kpanさん さっそくの返信ありがとうございます!
//
exec "http://shopping.yahoo.co.jp/search?p=時計", 16
stop
ですと、
Error 14 at line 2 [???]
-->外部ファイル呼び出し中のエラーです
となってしまいます。何故でしょう;;
何か設定があるのでしょうか。。。
ちなみに
//
exec "iexplore",16
stop
ですと、正常にインタネットエクスプローラーは起動します。
もしよろしければお答え下さい。
[4042] Re^3: webを操作したいのですが、 投稿者:Kpan 投稿日:06/09/18(月) 11:21
>何か設定があるのでしょうか。。。
設定も何も、exec命令の説明に載っているコードそのまま
なので・・・。(^^;
---
キーワード「exec」とかで過去ログ21を検索すると同症状の
情報が出てくるので、そこで掲載されているコードでも
試してください。
exec "explorer \"http://shopping.yahoo.co.jp/search?p=時計\""
[4044] Re^4: webを操作したいのですが、 投稿者:toki 投稿日:06/09/18(月) 15:26
ありがとうございます!過去ログ読みました!
まだ完璧には理解できませんが、何となく解りました☆
エラーも出ることなく起動できました。
あと、もう少しお願いできないでしょうか;;
web上で『毎回決まった場所(アドレスは変わります)』を
クリックするorボタンを押したいのですが、
教えていただけないでしょうか、、。
Tabキーで何個目?みたいなスクリプトになるのでしょうか。
どうそ、よろしくお願い致します。
[4045] Re^5: webを操作したいのですが、 投稿者:toki 投稿日:06/09/18(月) 17:02
少し自分で調べてみました。こんなのでしょうか。。
エラーは出ずに起動するのですが、
tabキーが一回分しか効いてくれません。
どうしたら、良いでしょう。ご教授下さい。
#include "hspext.as"
exec "explorer \"http://headlines.yahoo.co.jp/hl\""
wait 100
aplact
aplkey 9
wait 100
aplkey 9
wait 100
aplkey 13
stop
[4046] Re^6: webを操作したいのですが、 投稿者:ANTARES 投稿日:06/09/18(月) 23:09 <URL>
>エラーは出ずに起動するのですが、
>tabキーが一回分しか効いてくれません。
アプリケーションキャプチャーは試行錯誤でやるしかありません。
私の環境でうまくいったからといって、tokiさんの環境でも
うまくいくとは限りませんし、稀にはさっきまで動いていたものが
動かなくなることもあります。
なぜかEnterキーが効かないのでkeybd_event命令にしました。
#include "hspext.as"
#include "llmod.as"
#include "input.as"
exec "explorer \"http://headlines.yahoo.co.jp/hl\""
wait 200
aplact
wait 20
aplkey 9
wait 20
aplkey 9
wait 20
aplkey 9
wait 20
aplkey 9
wait 50
;aplkey 13
keybd_event 13
wait 100
keybd_event 13,1
end
[4048] Re^7: webを操作したいのですが、 投稿者:toki 投稿日:06/09/20(水) 00:53
ANTARESさん御回答ありがとうございます!
HPもお邪魔させて頂きました。私にはほとんど分かりませんでしたが。
。。^^;
まだincludeの部分が理解できていませんが、
徐々に勉強しようかと思います。
あれからまた少し学んで下のようにしてみました。
#include "hspext.as"
#include "llmod.as"
#include "input.as"
exec "explorer \"http://headlines.yahoo.co.jp/hl\""
wait 200
aplact
wait 200
Tab=0
*tabkurikaesi
aplkey 9 : wait 20
Tab=Tab+1
if Tab<11 : goto *tabkurikaesi
;aplkey 13
keybd_event 13
wait 100
keybd_event 13,1
end
HSPって楽しいですね^^また試行錯誤して分からない事がありましたら、
寄らせて頂きます。皆様ありがとうございました。
[4049] Re^8: webを操作したいのですが、 投稿者:ANTARES 投稿日:06/09/20(水) 20:37 <URL>
>まだincludeの部分が理解できていませんが、
keybd_event命令を使うには、「#include "llmod.as"」と
「#include "input.as"」の2行が必要というだけのことで、
理解できるとかできないとかいうレベルの話ではありません。
llmod.asやinput.asの中身なら理解することもできますが、
それには、まずモジュールの作り方を学ばねば(簡単なものでも
自分で作ってみなければ)始まりません。
[4050] Re^9: webを操作したいのですが、 投稿者:toki 投稿日:06/09/21(木) 21:58
なるほど、ありがとうございます。
文法みたいな決まりですね!
お陰様で今まで1,2時間はかかって手動でしていた作業が、
全自動でできるようになりました。ありがとうございます!
しかし、また進めて行くうちに、解らない事が出てきました。
サーバーの混み具合により?waitでは正常に動かない時があるようです。
かと言って変にwaitが長いのも考えものです。ですので
・IEにおいて、ページが完全に表示されるまで待つ。
にはどうしたら良いでしょうか。
調べてみて他の言語?から、whileを使うのかな、、、?
という事ぐらいしか解りません。
どうぞ、よろしくお願い致します。
[4055] 本当は教える立場じゃないんですけどね 投稿者:べなりあ 投稿日:06/09/22(金) 21:23 <URL>
IEのページが表示されたかどうかを確かめる時には、
Ctrl+Cでコピーして、それをclipgetで取得すれば
ページの画像以外の内容がわかるので、それを使って調べればいいと思い
ます。
この場合だと開くページが決まってないといけないんですけど・・・
[4057] Re: 本当は教える立場じゃないんですけどね 投稿者:toki 投稿日:06/09/22(金) 21:58
べなりあさん ありがとうございます!
なるほど、そう言う手もあるんですねー!
しかし、おっしゃるとおりページは毎回違うのです;;
色々探し回ったんですが、それらしきページは見つからないです。
HSP3で下の様なことをされている方がいました。これでしょうか?
とりあえず、HSP3も平行して使用してみます。
*busywait
;ページの読み込みが終了するまで待つ
title "ページを読み込み中です。"
repeat
await 50
ret=objIE("Busy")
if ret==0 : break
loop
actwin hwnd
font "MS ゴシック",12,0 : color 0,0,0
title "ページが表示されました。"
return
[4019] HSPから外部プログラムを終了するには? 投稿者:TheURA 投稿日:06/09/15(金) 15:44
HSPでプログラムメニューを作ろうと思うのですが、
メニューを起動すると同時に、他の常駐ソフトも同時に起動し
(これは普通にできます)、メニューを終了すると同時に
起動したソフトを終了させたいのですが。
(HSPのメニューを出している間だけ、クリップボード履歴ソフトを
有効にしたい、みたいな感じなんですが。)
使っているバージョンは2.5です。何か良い方法はありませんでしょ
うか。
[4020] Re: HSPから外部プログラムを終了するには? 投稿者:ANTARES 投稿日:06/09/15(金) 21:23 <URL>
>(これは普通にできます)、メニューを終了すると同時に
>起動したソフトを終了させたいのですが。
・終了させたいソフトも自作ソフトの場合
拙作anthspex.dllのmmfset命令等で共有メモリを使うといいでしょう。
dllproc命令でWin32APIを呼び出すことでもできます。
・終了させたいソフトのソースをいじれない場合
アプリケーションキャプチャ命令を使います。
hspext.txtで「アプリケーションキャプチャー」を検索してください。
ただし、該当ソフトがキーボード操作できないと、ちょっと辛いです
(マウスクリック自体は可能ですが、位置の特定が難しいため)。
また、Shift,Ctrl,Altキーの操作は効かない場合があるので、
その場合はkeybd_event命令を使ってください。
・Win32APIのCreateProcessを研究するといいかもしれません。
(無駄骨に終わるかもしれません)
[4022] Re^2: HSPから外部プログラムを終了するには? 投稿者:TheURA 投稿日:06/09/16(土) 02:22
ありがとうございます。ちょっと研究してみます。
[4047] Re^3: HSPから外部プログラムを終了するには? 投稿者:ANTARES 投稿日:06/09/18(月) 23:42 <URL>
>・Win32APIのCreateProcessを研究するといいかもしれません。
>(無駄骨に終わるかもしれません)
プロセスハンドルがわかれば終了させることもできそうだと
思ったのですが、PostMessage()にWM_COSE(=16)を指定するのが
正しい終了のさせ方のようで、そのためにはプロセスハンドル
ではなくウィンドウハンドルが必要になります。
というわけで、拙作anthspex.dllのchkwinとgetwinを使って
ウィンドウハンドルを取得し、
PostMessage(ウィンドウハンドル,16,0,0)
を実行するのが最も簡単そうです。
PostMessageはWin32APIなので、dllproc命令で呼び出します。
prm=ウィンドウハンドル,16,0,0
dllproc "PostMessageA",prm,4,D_USER
[3932] マウス座標から角度を得る 投稿者:がんばり屋のバリ 投稿日:06/08/08(火) 11:58
〜シューティングゲームについて〜
360度全方向の真ん中に大砲を置いて周りから来る敵を
打ちまくるといるゲーム設定をしようと思っているのですが、
その大砲の角度を得る方法としてマウスを使って得たいのです。
具体例としましたら、下のサイトにあるようなゲームです。http://jp.shockwave.com/games/arcade/shooting/delirium/play.html
どなたか教えてください。(何人でも)
[3972] Re: マウス座標から角度を得る 投稿者:Shinya 投稿日:06/08/22(火) 18:17
遊びで作ってみました。かなり荒作りです・・・
#module
;
; 倍精度浮動小数点数を int 型に変換( 大きな値は求められない )
;
#deffunc GetInteger val
mref stt,64
mref v1,48
if v1.1 == 0 : stt = 0 : return
wpeek a, v1, 6
s = a>>4 & %011111111111 - 1023
if s >= 0 : f = 1 : repeat s : f = f * 2 : loop
repeat 7
peek a, v1, 6-cnt
tmp = cnt
repeat 8
if tmp == 0 : if cnt < 4 : continue
s-- : if s < 0 : break
b = a>>(7-cnt) & %1
if b {
repeat s : b = b * 2 : loop
f + b
}
loop
if s < 0 : break
loop
stt = f
return
#global
// ネイティブコード代入
_atan_ = $83ec8b55,$45c708ec,$63c1f8f8,$fc45c71a,$404ca5dc
_atan_.5 = $d90c45d9,$f3d91045,$def845dd,$8458bc9,$c3c918dd
ll_getptr _atan_
ll_ret ret
// 倍精度浮動小数点数用の変数を作成
dim a,2
ll_getptr a
ll_ret p
CenterX = winx / 2
CenterY = winy / 2
boxf 0,CenterY,640,CenterY
boxf CenterX,0,CenterX,480
repeat
x = mousex-CenterX : y = -(mousey-CenterY)
if x < 0 : x = -x
if y < 0 : y = -y
// アークタンジェントを求める (戻り値は a に返す)
p.1 = y, x
ll_callfunc p, 3, ret
GetInteger a : title "" + stat
wait 1
loop
↑のスクリプトは0度から90度までしか求められず、それ以降は、
第一象限、第二象限と分岐して判断するしかありません。
(90度以上を求めようとすると,非常にやっかいになる)
あと、「データ実行防止」のあるPCではWinAPIのVirtualProtectを
つかってください。
[4043] Re^2: マウス座標から角度を得る 投稿者:Shinya 投稿日:06/09/18(月) 11:35
<モジュールにしてみました(改良版)>
#module
#deffunc _INIT_
_setfpu_ = $83ec8b55,$458b04ec,$fc458908,$c9fc45db,$c3
ll_getptr _setfpu_ : ll_ret _setfpu
_sqrt_ = $d9ec8b55,$8458bfa,$c35d18db
ll_getptr _sqrt_ : ll_ret _sqrt
_atan_ = $83ec8b55,$45c708ec,$e4e30af8,$fc45c7b4,$40745f30,$4ddcf3d9,$8458bf8,$c3c918db
ll_getptr _atan_ : ll_ret _atan
_trigfc_ = $83ec8b55,$45c708ec,$e4e30af8,$fc45c7b4,$40745f30,$83f875dc,$74000c7d,$ebffd904,$33fed902,$f84589c0,$fc45c7,$dc409000,$458bf84d,$c918db08,$c3
ll_getptr _trigfc_ : ll_ret _trigfc
return
; 整数をFPUレジスタにプッシュ (%1 = プッシュする値)
; ────────────────
#define setFPU(%1) prm = %1 : ll_callfunc prm, 1, _setfpu
;
#deffunc sqrt val, int
;【概要】 平方根を求める
;【パラメータ】v1 = 平方根を返す変数, p1 = 平方根を求める値
mref v1, 16
mref p1, 1
setFPU p1
ll_getptr v1 : ll_ret prm : ll_callfunc prm, 1, _sqrt
return
#deffunc atan val, int, int
;【概要】アークタンジェントを求める
;【パラメータ】v1 = アークタンジェント値を返す変数, p1 = X値, p2 = Y値
mref v1, 16
mref p1, 1
mref p2, 2
// 倍精度浮動小数点数としてFPUレジスタにプッシュ
setFPU p1
setFPU p2
ll_getptr v1 : ll_ret prm : ll_callfunc prm, 1, _atan
return
#define FSIN 0
#define FCOS 1
#deffunc sin val, int
;【概要】サインを求める
;【パラメータ】v1 = サイン値を返す変数, p1 = 角度( 2π = 1024 )
mref v1, 16
mref p1, 1
setFPU p1
ll_getptr v1 : ll_ret prm : prm.1 = FSIN : ll_callfunc prm, 2, _trigfc
return
#deffunc cos val, int
;【概要】コサインを求める
;【パラメータ】v1 = コサイン値を返す変数, p1 = 角度( 2π = 1024 )
mref v1, 16
mref p1, 1
setFPU p1
ll_getptr v1 : ll_ret prm : prm.1 = FCOS : ll_callfunc prm, 2, _trigfc
return
#global
_INIT_
; ----------------------------------------------------------------
// ここからメイン
#define ENEMYMAX 10
// 中心座標
CenterX = winx / 2
CenterY = winy / 2
// 敵の座標
repeat ENEMYMAX
rnd tx.cnt, winx
rnd ty.cnt, winy
loop
// 敵のスピード
ts = 5
repeat
redraw 0
gosub *BackGround_and_My
repeat ENEMYMAX
x = mousex - tx.cnt
y = mousey - ty.cnt
atan ang, y, x
sin iSin, ang
cos iCos, ang
tx.cnt = tx.cnt + (iCos * ts / 1024)
ty.cnt = ty.cnt + (iSin * ts / 1024)
boxf tx.cnt - 5, ty.cnt - 5, tx.cnt + 4, ty.cnt + 4
loop
redraw 1
wait 1
loop
*BackGround_and_My
color 255, 255, 255 : boxf : color
boxf 0, CenterY, 640, CenterY
boxf CenterX, 0, CenterX, 480
boxf mousex - 5, mousey - 5, mousex + 4, mousey + 4
return
[3958] Re: マウス座標から角度を得る 投稿者:名無し 投稿日:06/08/13(日) 16:05
角度を得たいのであれば「hspext.dll」の
「ematan」命令で得る事が出来ます。
もしDLLを使いたくないのであれば
http://taillove.jp/mia/
ここの「HSP講座」→「敵が弾を撃ってみる」
と、「誘導ミサイルを撃ってみる」が参考になると思います。
[3998] treeboxのフォント変更 投稿者:モノリス 投稿日:06/09/05(火) 20:08
treeboxのフォントを変更しようと、過去ログを参考に作ったのです
が、
treeboxを作成したあとに、mesboxを作成すると
treeboxのフォントがおかしくなってしまいます。
mesboxをtreeboxの前に作成すれば症状はでないのですが、
都合上、後に作成するため困っております。
なんとか修正方法はありますでしょうか?
#include "llmod.as"
#include "treebox.as"
cls 1
objmode 2
;ツリー作成
pos 3,3
treebox 200,250,$27 : treeid = stat
repeat 10
treeadd 0,"item - ( "+cnt+" )",0,0,0,cnt
loop
;ツリーのフォント変更
mref BMSCR,67
font "MS ゴシック",12,1
prm = treeid, $30, BMSCR.38, 0
sendmsg prm
;メッセージボックス作成
font "MS ゴシック",20,0
sdim buf,1024
pos 240,0
mesbox buf,400,400,1
stop
よろしくお願いします。
[4004] Re: treeboxのフォント変更 投稿者:kz3 投稿日:06/09/06(水) 16:16 <URL>
> ;ツリーのフォント変更
> mref BMSCR,67
> font "MS ゴシック",12,1
> prm = treeid, $30, BMSCR.38, 0
> sendmsg prm
>
> ;メッセージボックス作成
> font "MS ゴシック",20,0
> sdim buf,1024
> pos 240,0
> mesbox buf,400,400,1
font命令を使うと以前使われていたフォントは破棄されてしまうので、
メッセージボックスのところでフォントを変更したとき、
ツリービュー(treebox)で選択していたフォントが破棄されてしまうのが原因です。
なので共通のフォント(ハンドル)を使わなければいいので、
ツリーのフォントを決めた(font命令)あとでフォントハンドルからフォントオブジェクトを取得し(GetObjectA)、
新たにフォントを作って(CreateFontIndirectA)得られたフォントハンドルをツリービューにセットすればOKです。
ただし自分で作ったフォントは必要なくなったときに削除(DeleteObject)しなければならないので、
onexitなどで後始末をするようにしてください。
さらにオブジェクトの削除はそのオブジェクトが使用されていない時にしたほうがいいので、
削除する直前にデフォルトのフォントハンドル(GetStockObject)などをセットしてからのほうがいいかもです。
[3999] Re: treeboxのフォント変更 投稿者:ANTARES 投稿日:06/09/05(火) 21:24
>mesboxをtreeboxの前に作成すれば症状はでないのですが、
>都合上、後に作成するため困っております。
別にフォント変更だけ後からやってもいいと思うし、
それも見栄えに問題が生じるのなら二度やればいいと思いますが。
[4000] Re^2: treeboxのフォント変更 投稿者:モノリス 投稿日:06/09/05(火) 21:39
解決しました!
もう一度やれば再度フォントが変わるのですね
「変更されない方法」をずっと探していました...(^^;
ANTARESさん、助かりました、本当にありがとうございました m(_ _)m
[4005] Re^3: treeboxのフォント変更 投稿者:kz3 投稿日:06/09/06(水) 16:18 <URL>
> 解決しました!
> もう一度やれば再度フォントが変わるのですね
> 「変更されない方法」をずっと探していました...(^^;
あれれ。。。なんか見当違いだったかな。
[4033] Re^4: treeboxのフォント変更 投稿者:モノリス 投稿日:06/09/17(日) 20:53
返信遅れて申し訳ありません。
kz3様の方法でなら、再度設定する手間がなくなりそうですね。
こちらの方法もこれから試してみたいと思います、
ANTARES様、kz3様、本当にありがとうございました。
[4006] エラーについて 投稿者:サイフォン 投稿日:06/09/07(木) 14:36
プログラム起動中、「HSP2が原因でHSP2.exeを終了します」
というエラーが起こるのですが、原因が分からず対処に困っていま
す。
この対処法を知っている方がいらっしゃれば教えてください。
宜しくお願いします。
[4008] Re: エラーについて 投稿者:ANTARES 投稿日:06/09/07(木) 22:08
> プログラム起動中、「HSP2が原因でHSP2.exeを終了します」
>というエラーが起こるのですが、原因が分からず対処に困っていま
>す。
以下をご覧ください。
http://www3.tky.3web.ne.jp/~arsene/hsp/trap/index.html#illegal
[4018] Re^2: エラーについて 投稿者:サイフォン 投稿日:06/09/15(金) 14:32
> > プログラム起動中、「HSP2が原因でHSP2.exeを終了します」
> >というエラーが起こるのですが、原因が分からず対処に困ってい
ま
> >す。
> 以下をご覧ください。
> http://www3.tky.3web.ne.jp/~arsene/hsp/trap/index.html#illegal
解決しました、有難うございました。
[4011] コンパイルできない 投稿者:岡 投稿日:06/09/10(日) 20:37
この前、プログラムをコンパイルしようとしたら、
#HSP script preprocessor ver2.61a / onion software 1997-2004
#Can't write output file.
というのが出て、コンパイルできませんでした。
だれか解決法をしりませんでしょうか?
[4013] Re: コンパイルできない 投稿者:Irisawa 投稿日:06/09/11(月) 11:41
> この前、プログラムをコンパイルしようとしたら、
> #HSP script preprocessor ver2.61a / onion software 1997-2004
> #Can't write output file.
> というのが出て、コンパイルできませんでした。
> だれか解決法をしりませんでしょうか?
ルートディレクトリ(デフォルトディレクトリかソースのディレクトリ)
に書き込み権限があるかまたディスク容量に空きがあるかなどをご確認
ください。
また、該当ディレクトリのhsptmp, hsptmp.i及びobjファイルが
読み取り専用属性になっていないかなどもご確認ください。
[4017] Re^2: コンパイルできない 投稿者:岡 投稿日:06/09/14(木) 19:16
直りました(壊れてないけど)。
hsptmp等が読み取り専用になってました。
そのせいだったと思います。
[4012] Re: コンパイルできない 投稿者:Steep 投稿日:06/09/10(日) 21:54
> この前、プログラムをコンパイルしようとしたら、
> #HSP script preprocessor ver2.61a / onion software 1997-2004
> #Can't write output file.
>
> というのが出て、コンパイルできませんでした。
> だれか解決法をしりませんでしょうか?
開いている/実行しているファイルを閉じてください。
[4009] スコアランキングに