HSP - Hot Soup Processor [8]
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/08/05 17:33ID:uVX1jKHBONION software (本家)
http://www.onionsoft.net/
HSP CENTER
http://hspcenter.com/
HSP ML
http://garde.esprix.net/hsp-ml/
誰かDtHSPpOH ◆kxrJVlZ8OEに答えてやれよ。
誰かが答えないと永遠に質問繰り返しそうだぞ。
それにマルチで他のスレにも迷惑がかかる。
0166名前は開発中のものです。
04/08/31 19:25ID:Vt99nhBs詳しく書かなきゃ誰も答えてくれないyo!
0167名前は開発中のものです。
04/08/31 21:42ID:xieCU++w0168名前は開発中のものです。
04/09/01 08:35ID:khTX0zoI0169名前は開発中のものです。
04/09/01 15:42ID:bY97cPix0170名前は開発中のものです。
04/09/01 18:08ID:BF3KezQ+0171名前は開発中のものです。
04/09/02 17:53ID:UVXDAMtx0172名前は開発中のものです。
04/09/02 18:01ID:ssP0OBi5逝ってよし
0173名前は開発中のものです。
04/09/02 21:13ID:PD62SpqeHSPのオフィシャル本を買ったのですが付録CDについている
ビューキャプチャーってありますよね?
あれをちょっと改造してテキストを読み込めるようにしたいのですが
どれを削って何を補えばいいのかさっぱりわかりません。
.scnを読み込んだ奴でオリジナル版は
一行目 画像,音
二行目 シナリオ(カンマで改行)
三行目 選択肢、飛び先:選択肢、飛び先:・・・
を繰り返す奴なんですがなんか、
ごちゃごちゃしてて自分の技量がついてってくれません。
一行目 質問文
二行目 選択肢(二択)
三行目 片方のに対しての反応
四行目 他方に対しての反応
五行目 質問文
・・・
という風にしたいのですが・・・。
オフィシャル本っていうのはこいつです。
http://www.shuwasystem.co.jp/cgi-bin/detail.cgi?isbn=4-7980-0821-4
0174名前は開発中のものです。
04/09/02 21:39ID:yWTDix1E改造は難しいから諦めたほうが良いかと
ひとつひとつ命令を覚えて自力で0から構築したほうが良い
たぶん今のレベルだとコードを示して貰っても意味は理解できないと思う。
0175名前は開発中のものです。
04/09/02 21:40ID:8AsoM2EY0176名前は開発中のものです。
04/09/02 22:36ID:9mSmR2oo0177名前は開発中のものです。
04/09/02 22:41ID:u1r5csrr「View Chapter」ね
本家はHSPの公式の掲示板、だけど行かなくてもいいよ
単にメモリーパッド命令で変数に読んどくだけじゃん
選択肢とかは本体のコードの方で実現する訳でしょ
あと質問文から始まるブロックを区別するために
なんでもいいから印つけてそれを判別する
>>176
HSPをインストするとマニュアルインデックスというのが見れる
そこに命令リファレンスというのがあってHSPの命令が詳しく書いてあるよ
0179名前は開発中のものです。
04/09/02 23:50ID:LXix11hDリファレンスって言葉がわからなくても
命令を知りたけりゃ普通ヘルプを見ると思うんだが・・・
0180名前は開発中のものです。
04/09/03 00:28ID:PE4Uzv16放置推奨。
0181名前は開発中のものです。
04/09/03 00:37ID:oTV4m4BNTAKERUが終了する間際にそんな名前のADVツール
(といってもデジコミくらいが関の山)を買った。
どっちもTKO絡みっぽいし。
0182名前は開発中のものです。
04/09/04 16:22ID:E1G1YdXE0183名前は開発中のものです。
04/09/04 16:49ID:cvbkjZVC0184名前は開発中のものです。
04/09/04 22:57ID:ibTTTM6HHSPでマウスのホイール(中ボタンの上下スクロール)を
検出するにはどうしたらよいでしょう?
中ボタンのクリックは検出できても、スクロールは取れなくて困ってます。
やっぱりWindowsAPI使うしかないんでしょうか?
0185名前は開発中のものです。
04/09/04 23:01ID:BxH7154JGet(+Translate,Dispatch)Messageをループに入れれば
DLL無しでもできるけど。
0186184
04/09/05 01:02ID:uPdLgQdF>Get(+Translate,Dispatch)Messageをループに入れれば
>DLL無しでもできるけど。
これはよくわからないです。
ありがとうございました。
0187名前は開発中のものです。
04/09/05 01:06ID:/HvBCjSz( ゚д゚)ポカーン
0188名前は開発中のものです。
04/09/05 01:57ID:3HnSk4YyTranslateMessage〜
DispatchMessage〜
をLORDLIB機能で呼び出せばHSPスクリプト上で、
全てのメッセージは取れるが
要らないメッセージをウィンドウズに返すことが出来ないので
HSPスクリプトはそこで毎回処理待ち状態で停止する。
(ループ内に書けばループ一回ごとに処理待ち停止)
GetMessageの前にPeekMessageでキューを確認してから処理すれば
若干ましな動作になるが、さらにHSP本体のメッセージ処理のことも
考慮する必要があるため、レスポンスはかなり悪くなる。
念のため、これらは全てWINAPIであってHSPの標準コマンドではない。
HSPスクリプト上での処理は実用性が低いので、
個人的にはサブクラス化をしてメッセージ処理が出来る
拡張ランタイム(hsgmrt.hrt)でコンパイルすることをお勧めする。
0189名前は開発中のものです。
04/09/05 02:36ID:ADxc4IyVβ板でおにたまに頼み込む。
3Button(以上)じゃないマウスなんて今時かなりすくないだろ。
0190名前は開発中のものです。
04/09/05 10:39ID:m9wQKMLO#include "wam\\user32.as"
repeat
PeekMessage PTR(msg), PRMHWND, $20A, $20A, 0
if dllret{
wheel = HIWORD(msg.2)
if wheel > $7FFF: wheel = wheel | $FFFF0000
mes wheel
}
await
loop
stop
用途が限られる、確実ではない、など問題抱えまくりだが。
0191182
04/09/05 17:34ID:eM0q8RQXif (x=x1)&(y=y1) : end
とするとピッタシ重なったときしか当たり判定できまえん。
分かりません。
0192名前は開発中のものです。
04/09/05 17:47ID:nhbtuZoa↑グーグルつかって検索してみれば良いと思うよ。
0193名前は開発中のものです。
04/09/05 18:10ID:bj9htMv10194名前は開発中のものです。
04/09/05 18:17ID:L9sJyZWG0195名前は開発中のものです。
04/09/05 19:50ID:m9wQKMLO点1 点3
| ̄ ̄ ̄| | ̄ ̄ ̄|
| | | |
|___| |___|
点2 点4
ObjectAとObjectBが重なっているとき
点1は点4と等しいかそれより左にある。
点2は点3と等しいかそれより右にある。
点1は点4と等しいかそれより下にある。
点2は点3と等しいかそれより上にある。
(逆の場合、重なり得ないので。)
0196名前は開発中のものです。
04/09/05 20:57ID:j/kwO/lwif (x-x1/10=0)&(y-y1/10=0) : end
0197名前は開発中のものです。
04/09/06 17:20ID:g/OzmxPB消去できるかの判定で困っています。
今は
★=1 :▲=2 :●=3 :■=4
とした場合
二次元配列にその数値を代入し
左上(0.0)の右と下を調べ同じ数値ならそこから再び上下左右を調べ
それをと右下の配列まで繰り返しています。
そして3つ以上繋がっているところがあれば消去可能といった感じです。
これだとかなり無駄があるような気がするのですが
もっと効率の良い方法ってありますか?
0198名前は開発中のものです。
04/09/06 22:00ID:Hh6mgCOA真面目にやるんなら塗り潰し、アルゴリズムあたりでググれば参考になる
サイトも出てくると思うけど正直大して高速化しないと思う。
0199名前は開発中のものです。
04/09/06 22:57ID:OVwqkKA+全体に消せるかどうかの表示をするならまだしも
普通はクリック又はマウスオーバーで判定だろうし。
0200名前は開発中のものです。
04/09/07 00:05ID:BivJdpsiプレイしようと思ったんだけど、「画像が表示されません」と出ます。
同様に、プログラミングで画像を出そうと思っても同系統の受け答えが帰ってきます。
解決方法などがあったら教えてください・・・
0201名前は開発中のものです。
04/09/07 01:34ID:WaK+rGCL1.ダウンロードしたゲーム全て同じ症状なのか?
2.具体的にどういうスクリプトを書いたのか?
3.画像・ゲームを置くフォルダはどこにあるのか?
0202名前は開発中のものです。
04/09/07 01:34ID:9YlFqQoQまずマニュアルを読むことをお勧めする。解決方法は全部それに載ってる。
0203名前は開発中のものです。
04/09/07 03:17ID:r7ctwmaP0204200
04/09/07 08:07ID:BivJdpsi1 ほとんどそうなります
2 単純に・・・
picload "hsp2ttl.jpg"
stop
というスクリプトを書きました
3 エディタのショートカットと同じフォルダに入れています
超初心者質問ですが、どなたか答えてくれるとうれしいです・・
0205名前は開発中のものです。
04/09/07 08:52ID:ntp0mQzu0206名前は開発中のものです。
04/09/07 09:20ID:k4ZuQQtV・スクリプトを保存せずに実行してるなら画像と同じフォルダに保存
・マイドキュメントへ画像をコピーする
・スクリプトエディタの起動時ディレクトリをHSPのディレクトリに変更("オプション(O)"にある)
0207206
04/09/07 09:22ID:k4ZuQQtVただし、この方法は原因がディレクトリ違いの場合のみ。
もっと詳しい情報がないとどうしようもない。
0208名前は開発中のものです。
04/09/07 09:36ID:7bM4gg34エディタのショートカットと同じって、表示できなくて当たり前やん。
エディタ本体と同じところに置く、もしくは絶対パスで指定してみ。
それで駄目なら君はHSPに嫌われてるんだろう。
諦めなさい。
0210名前は開発中のものです。
04/09/11 02:32:06ID:M+VlXJaG0211名前は開発中のものです。
04/09/11 08:59:44ID:acoxmJnvみんなどういうルーチン構造で作ってる?
漏れは何作るにしても
流れ考えるのマンドクサくて
アクションゲームみたいにメインルーチンにぐるぐる回して
背景やキャラCGを毎フレーム描き直してる。
0212名前は開発中のものです。
04/09/11 16:20:40ID:FwMaqu5k0213名前は開発中のものです。
04/09/11 22:26:09ID:eYgPDspu0214名前は開発中のものです。
04/09/11 22:53:35ID:XrJM+E0/0215名前は開発中のものです。
04/09/16 20:04:41ID:084xZx8csdim a,1000
a="aiueo"
という変数を
a=""
このように初期化した場合、確保しておいた1000は有効なのでしょうか?
0216名前は開発中のものです。
04/09/16 20:12:25ID:ysF1IAtzデバッグウィンドウの見方を覚えておいた方がいいだろうな。
0217名前は開発中のものです。
04/09/16 20:15:15ID:Dg7QVsre試してみたらどうだい
0218名前は開発中のものです。
04/09/16 22:32:39ID:obwz0uyva="" は poke a, 0, 0 と同意
確保した領域を開放するにはもう一度allocかsdimをするしかなかったかな
0219名前は開発中のものです。
04/09/16 22:55:21ID:WYRcvaYIa="aiueo" は a.0="aiueo" と同意。
a="" も同じ理屈である。
だから確保した1000は無効になる理由が無い。つまり有効。
0221名前は開発中のものです。
04/09/25 00:12:51ID:lbpKracU0222名前は開発中のものです。
04/09/25 12:49:23ID:6Uj5C9LC0223名前は開発中のものです。
04/09/25 14:39:04ID:bMMC5TD70224名前は開発中のものです。
04/09/25 18:11:12ID:xkVlp3c0というわけで前バージョンの継続配布キボンヌ
0225名前は開発中のものです。
04/09/25 19:02:45ID:Bd+5xAZKだまされた
0226名前は開発中のものです。
04/09/25 19:50:41ID:GCCWWYulVer0.6を実行すると内部エラー(3)になる。
PC−9821+Win98SEではもう無理か…。
0227名前は開発中のものです。
04/09/25 20:04:26ID:P3hYGiOJ0228名前は開発中のものです。
04/09/25 20:47:19ID:xwXmZQRx0229名前は開発中のものです。
04/09/25 21:48:02ID:Z9rujia7ノ 漏れもバージョンアップしたらエラー出るようになった
何が原因なんだろ?
0230名前は開発中のものです。
04/09/25 22:57:03ID:hxgWR707チャージ式横STGを作っているんですが、いくつかの弾が何故か止まってしまいます。
本当にこの画像のように止まるんです。
どうすれば直せるか教えてくれませんか?
ソースと実行ファイル http://gamdev.org/up/img/1375.zip
バグの画像 http://gamdev.org/up/img/1376.jpg
0231名前は開発中のものです。
04/09/25 23:39:04ID:lz1X2KUohttp://gamdev.org/up/img/1377.zip
パッと見で直しただけだから後々不具合出るかも知れんが
あとシューティングでawait 1は短すぎると思う
0232名前は開発中のものです。
04/09/25 23:58:46ID:G+sE5i8D弾動かすループで、「現在画面上にある弾数」の添え字までしか
弾を動かしてないのが原因。
5発弾撃った後で、最初の弾が画面端まで行ってたら止まるだろ?
それは、5番目の添え字で位置を管理してる弾が存在するのに
画面上に4つしか弾が無いから4番目の添え字の弾までしか
動かしてないせいだ。
あのさソース見たが、あんたコメントの書き方が間違ってるよ。
コメントは、何をしたいかを書くもんなんだよ。
一行一行にコメントはいらん。それより、サブルーチンの意味とか
ループで何をしてるのかをコメントで書け。
0233名前は開発中のものです。
04/09/26 00:06:20ID:HWj6blQ4アドバイスどうも 取敢えずこれで大丈夫なはず
コメントに関しては又後日直します…。
0234名前は開発中のものです。
04/09/26 00:07:21ID:HWj6blQ4http://gamdev.org/up/img/1378.zip
修正後のアド書き忘れました
0235名前は開発中のものです。
04/09/26 00:40:02ID:exlHOSpl0236名前は開発中のものです。
04/09/27 00:11:56ID:qk+rvmng0237名前は開発中のものです。
04/09/27 07:02:38ID:J0IEycgI持ってるんじゃないの?
0238名前は開発中のものです。
04/09/27 07:23:16ID:WXtdwQlJOSによって変わった気がする。
本家の掲示板の過去ログを漁ればどっかに情報が有るはず。
0239名前は開発中のものです。
04/09/27 18:25:53ID:eLYgtO6h0240名前は開発中のものです。
04/09/27 20:34:18ID:cx+7rUiZ0241名前は開発中のものです。
04/09/29 01:22:01ID:via35DEXこんな感じで
screen ,100,100
gettime a,6 : a_a = a : a = 0 : a_c = 10
repeat
redraw 0 : color 255,255,255 : boxf 0,0,100,100 : color ,,
gettime a,6 : a = a - a_a : a_b = a_c - a : pos 50,50 : mes ""+a_b+""
redraw 1
if a_b <= 0 : break
await 1
loop
cls : pos 0,0 : mes "あぼーん" : wait 100
でもこれだと秒が60から1になるときに機能しなくなってしまうんですが、どうしたらいいでしょうか?
0242名前は開発中のものです。
04/09/29 02:01:31ID:jpbuxphsgettimeの必要あるのかと。
Inputでもつかって掛かる時間を入手、time--、if time==0:mes "あぼ〜ん"
でいいんじゃないか?
0243名前は開発中のものです。
04/09/29 18:53:19ID:yF3N3cn8; 特定の地点からの経過時間をミリ秒で計測します。
; timer p1,p2,p3
; p1 = 経過時間を代入する変数です。60秒までしか計測できません。
; p2 = ID(0〜15)を入力します。IDによってタイマーを使い分けることが出来ます。
; p3 = これが1の時にはリセットモードとなり、指定したIDのタイマーを0に戻します。
#deffunc timer val, int, int
mref timer_return, 16 : mref timer_id, 1 : mref timer_mode, 2
if timer_flag = 0 {
timer_flag = 1 : dim timer_default, 16, 16 : dim timer_gettime, 16, 16
}
if timer_mode = 1 {
repeat 3, 5
gettime timer_default.timer_id.cnt, cnt
loop
timer_return = 0
}
if timer_mode = 0 {
repeat 3, 5
gettime timer_gettime.timer_id.cnt, cnt
loop
repeat 3, 5
timer_calc.cnt = timer_gettime.timer_id.cnt - timer_default.timer_id.cnt
loop
if timer_calc.MINUTE < 0 {
timer_calc.MINUTE += 60
}
timer_return = (timer_calc.MINUTE * 60 * 1000) + (timer_calc.SECOND * 1000) + timer_calc.MILLSECONDS
}
return
0244名前は開発中のものです。
04/09/29 18:55:05ID:yF3N3cn8#const MINUTE 5
#const SECOND 6
#const MILLSECONDS 7
まあ古臭いasファイルから取ってきたものだから
改良するなりして自分で使ってくれ。
0245名前は開発中のものです。
04/09/29 19:23:28ID:tV/FHtov#module
; 初期化(1回呼び出されるだけでOK)
#deffunc timer_init
ll_libload hDll, "kernel32.dll"
ll_getproc pFunc, "GetTickCount", hDll
return
; タイマーをセットする
; set_timer p1(タイマーID(0〜15))
#deffunc set_timer int
mref id, 0
ll_callfnv pFunc
ll_ret last.id
return
; set_timerからの経過時間(単位:ミリ秒)を取得する(何回呼び出してもOK)
; get_timer p1(経過時間を返す変数), p2(set_timerのIDと対応)
#deffunc get_timer val, int
mref ret, 16
mref id, 1
ll_callfnv pFunc
ll_ret ret
ret -= last.id
return
#global
timer_init
; ----- ここまで -----
0246名前は開発中のものです。
04/09/29 19:30:09ID:+N7nNzZ+; 特定の地点からの経過時間をミリ秒で計測します。
; timer p1,p2,p3
; p1 = 経過時間を代入する変数です。
; p2 = ID(0〜15)を入力します。IDによってタイマーを使い分けることが出来ます。
; p3 = これが1の時にはリセットモードとなり、指定したIDのタイマーを0に戻します。
#deffunc timer val, int, int
mref timer_return, 16
mref timer_id, 1
mref timer_mode, 2
ll_dll "winmm":ll_func "timeGetTime":ll_call:ll_ret timer_return
if timer_mode = 1 : ot.timer_id=timer_return
timer_return-=ot.timer_id
return
0247名前は開発中のものです。
04/09/29 19:32:17ID:+N7nNzZ+0248名前は開発中のものです。
04/09/29 20:34:08ID:H4P4WZyCいろんなので使われてるんだけど…
0249名前は開発中のものです。
04/09/29 21:36:04ID:g5HLLpSZ画像は駄目に決まってる。
画像に見えるのは、全部HSPのasファイル内で描画しているものだけ。
psetとcolorの連続だけじゃなくて、簡単な円や図形なら数行〜十数行で収まる。
0250名前は開発中のものです。
04/09/29 21:51:51ID:H4P4WZyCそうだったのか…サンクス
0251名前は開発中のものです。
04/09/29 22:52:12ID:H4P4WZyCEXEファイルが「HSPERUN」使わないと作れないんだが…。
なんかエラーはhsprtってのがないって出てるっぽいんだけど…
0252名前は開発中のものです。
04/09/30 00:31:39ID:npU9CSYu0253名前は開発中のものです。
04/09/30 10:38:59ID:Wjc1EGnd0254名前は開発中のものです。
04/09/30 13:23:35ID:CFIG9ikE0255名前は開発中のものです。
04/09/30 16:44:57ID:gD1ETWnV関数定義もmrefなんか使わなくても済むようになった?
関数の返り値を直接、式に利用できるようになった?
0256名前は開発中のものです。
04/09/30 18:09:28ID:N5OLwhX3?
?
○
0257名前は開発中のものです。
04/10/01 12:58:26ID:BAWyc7q80258名前は開発中のものです。
04/10/01 19:12:23ID:/DtFEsDw0259名前は開発中のものです。
04/10/02 01:06:16ID:Ipy30/Ae0260名前は開発中のものです。
04/10/02 03:00:50ID:235RvFAX0261名前は開発中のものです。
04/10/02 20:05:47ID:Jxs81gUYHSP3.0は期待してるけど、一部のユーザにしかテスト版を公開しないのはどうかと思った
0262名前は開発中のものです。
04/10/02 20:30:22ID:235RvFAXただでさえHSPは厨房ユーザーが多いんだしさ。
0263名前は開発中のものです。
04/10/03 00:40:17ID:tbvZSO0n0264名前は開発中のものです。
04/10/03 00:44:59ID:2/fqkpWG今日からがんばろう
0265名前は開発中のものです。
04/10/03 01:12:21ID:srcTNqpq来年までに完成させて次の開催を待つか。
■ このスレッドは過去ログ倉庫に格納されています