1 名前:名前は開発中のものです。 mailto:sage [2006/03/24(金) 18:31:39 ID:jNg23CIj] ( ,,,) .( ,,) スクリプト言語 HotSoupProcessor について ( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。 , -──- 、 (,;::-──-; )-、 .|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事 l; :::;;;l-' / * ヲチ、ネタなどはスレ違い ,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり ヽ ──── ' ONION software (本家) www.onionsoft.net/
338 名前:名前は開発中のものです。 mailto:sage [2006/04/27(木) 11:49:48 ID:HD+2/zHc] ところでプラグインを下位フォルダに入れるって可能だったのか。
339 名前:HSP撲殺委員会 [2006/04/27(木) 19:29:04 ID:/bvXftjS]
340 名前:名前は開発中のものです。 mailto:sage [2006/04/27(木) 19:33:22 ID:4k5vznfw] menu.ax(メニュー)とgame.axにわけて作成してます runでファイルを読み込むと一度ウインドウが消えてまた作成されてしまいます これって仕様なのですか?ウインドウの位置も変わり困ってます
341 名前:名前は開発中のものです。 mailto:sage [2006/04/27(木) 19:54:19 ID:NItd/067] axobj ie, "Shell.Explorer.2",640,480 ie->"Navigate" "www.onionsoft.net/hsp/ " #define OLECMDID_CUT 11 ; 切り取り ctrl+x #define OLECMDID_COPY 12 ; コピー ctrl+c #define OLECMDID_PASTE 13 ; 貼り付け ctrl+v #define OLECMDID_UNDO 15 ; 元に戻す ctrl+z #define OLECMDID_DELETE 33 ; 削除 del onkey gosub *pushkey stop *pushkey if iparam=46 {ie->"ExecWB" OLECMDID_DELETE,0,0:return} getkey ctrl,17 ; ctrl getkey key_c,67 ; c getkey key_v,86 ; v getkey key_x,88 ; x getkey key_z,90 ; z if(ctrl & key_c){ie->"ExecWB" OLECMDID_COPY,0,0:return} if(ctrl & key_v){ie->"ExecWB" OLECMDID_PASTE,0,0:return} if(ctrl & key_x){ie->"ExecWB" OLECMDID_CUT,0,0:return} if(ctrl & key_z){ie->"ExecWB" OLECMDID_UNDO,0,0:return} return このソースでDelキーやCtrl+zは動くんだが、 コピペや切り取りができないのは漏れだけ・・・? //前は動いてたはずなのにorz
342 名前:名前は開発中のものです。 mailto:sage [2006/04/28(金) 00:16:50 ID:VfAeG/FA] >>341 むかし品家BBSで話題に勝ったときは、げtけy)とかで無理やり実現してたよ
343 名前:名前は開発中のものです。 mailto:sage [2006/04/28(金) 02:22:31 ID:Xs1MVaAe] 原因判明 IEのセキュリティ設定を自分で変更したの忘れてた・・・orz
344 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 09:38:40 ID:VLsO6KPn] DirectSoundExtensionを使って、soundフォルダ内のmenu.mp3を再生させたいのですが、どうも上手くいきません。 ソースは #include "dsoundex.as" ds_init ds_load "sound/menu.mp3",0 ds_loop p0 といった感じなのですが、ドコに問題があるのでしょうか? ご指摘よろしくお願いします。
345 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 11:25:43 ID:o0aFYamC] >>344 「上手くいきません」の指すところが、 どう上手くいかないのか分かりにくくて判断に迷うのですが、 エラーが発生しないのにまったく音が鳴らないのだと想定しましてー 「HSP から DirectSound を使用できるようにするプラグインです。 このプラグインを使用することで、大きな WAVE ファイルの再生、音声の多重合成、 切れ目の無いループ再生、パン・音量・再生速度の変更などをリアルタイムに行うことができます。」 …ということで、.mp3は取り扱い対象外かと。
346 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 11:30:30 ID:VLsO6KPn] >>345 >エラーが発生しないのにまったく音が鳴らないのだと想定しましてー ごめんなさい、その通りです。 mp3をwavに変換する事によって解決しました。 ありがとうございました。
347 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 11:49:30 ID:VLsO6KPn] すみません、もうひとつ質問させて下さい。 背景を真っ黒にしたい場合、ヘルプを参照すると 「color 0,0,0」 となっているのですが、実際に使ってみると真っ白のままです。 何かインクルードしなければならないファイルがあるのでしょうか? それとも別の命令で出来るのでしょうか?
348 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 11:58:34 ID:4vtNj6WG] >>347 とりあえずそれは現在の色を変えるだけだから、 boxf とか cls とか使れ。
349 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 11:59:44 ID:VLsO6KPn] >>348 むかーしに勉強した事なのですっかり忘れてましたorz どうもありがとうございました。
350 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 19:33:20 ID:KXsSyH18] >>344 mp3でも鳴ると思うんだけど… 漏れは訳も分からず人のソース(前に土日スレで出てた「ふたご塔」って作品)コピペしてる だけだけど、ちゃんと鳴るよ。 ds_loop 0 じゃ駄目なのかな?
351 名前:名前は開発中のものです。 mailto:sage [2006/05/01(月) 19:51:33 ID:uUpKrhLq] >>254 まぁ、もう遅いだろうけど addboxに問題があってライトの不都合が出てたらしい そんで、それを修正したのがUPされてる 試してないけど・・・
352 名前:345 mailto:sage [2006/05/01(月) 20:43:25 ID:o0aFYamC] …ホントだ。dsoundex.txtに書いてあった。 ★★★ ADPCMやMP3(MPEG-Audio)も読み込むことができますが、 ★★★ ★★★ デコード後のファイルサイズ分のメモリを消費します。 ★★★ ★★★ 大きなデータを読み込むのは控えましょう。 ★★★ 自分で確認するために読み込んだmp3ファイル(BGM)はds_loadに失敗したんで dsoundexでは使えないんだと思い込んでしまった。 確認不足なまま適当なこと言ってゴメン。>344 「デコード後のファイルサイズ」の大小でds_loadの成否が分かれると思うのだけど その点についての記述はなさそう。
353 名前:名前は開発中のものです。 mailto:sage [2006/05/02(火) 04:14:36 ID:j1G+8C5/] >>352->>350 いえ、回答頂けただけでも嬉しいです。 ただヤッパリ ds_loop 0でもds_loop p0でも鳴りませんね。 とりあえずこのまま進めてみたいと思います。 ありがとうございました。
354 名前:132 mailto:sage [2006/05/02(火) 19:53:24 ID:GEvT0KzB] >>351 数日前に、それを使ってみたらできましたよ。 今は違うゲーム作りをしているので、ダンジョン作りを再開したらまた来ると思います。
355 名前:名前は開発中のものです。 mailto:sage [2006/05/06(土) 03:24:48 ID:K7OHaGy8] >352 mp3の読み込みを色々試して見たんだけど容量も関係ないっぽい 高音質で容量多いファイルでも成功したり低音質低容量でも失敗したり基準がまったくわからない 圧縮方法とかが影響してるんだろうか
356 名前:名前は開発中のものです。 mailto:sage [2006/05/06(土) 07:26:20 ID:a1w441c6] VBR/CBRは?
357 名前:名前は開発中のものです。 mailto:sage [2006/05/06(土) 15:47:48 ID:K7OHaGy8] >356 どっちでも関係ないっぽい Rip!AudiCOFREEVer使って自分でWAVEからエンコードしてみたけどどうもこのソフトを使った場合どうやっても再生できないっぽいな 最低音質CBRで800kbyteのファイルでも読み込み失敗するし
358 名前:ウル [2006/05/06(土) 22:53:08 ID:Xr/95anG] ギャルゲーの文字みたくコメントでるようなのが作れない…
359 名前:名前は開発中のものです。 mailto:sage [2006/05/06(土) 23:40:41 ID:fcUS86uL] 日本語でおk
360 名前:ウル [2006/05/07(日) 00:17:16 ID:5kUdwmnH] アニメーション作りかたがいまいちわからない画像をただうえからしたまで下げるだけなんだがヘルプミーですトホホ
361 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 00:23:04 ID:uvZU3z/E] まず句読点や助詞の使い方を覚えろ。 ギャルゲー話題にするってことは少なくとも高校生以上だろうとは予想されるが、 それにしては書き込みが頭悪すぎるぞ。 ゲームばかりやってないで本を読め。
362 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 04:03:28 ID:lpBFthLR] 高校生とは限らんぞ 俺なんかリア厨のとき天使たちの午g(ry
363 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 07:56:33 ID:EqYY0bCT] オープンソースがバージョン2では使えるのに、 バージョン3では使えなくなるんですが、 原因はなんでしょうか?
364 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 10:03:56 ID:zxzkRbBe] ソース自体がver.3に対応してないんじゃね?
365 名前:ウル [2006/05/07(日) 11:23:27 ID:5kUdwmnH] スマソ 文字の画像でアニメショーン作ったら画像が切れた
366 名前:名前は開発中のものです。 mailto:sage [2006/05/07(日) 16:31:33 ID:uvZU3z/E] >>362 そして人生の斜陽を歩k(ry
367 名前:名前は開発中のものです。 mailto:sage [2006/05/08(月) 00:06:19 ID:CcUYgY2x] すみません。sndloadでmpegムービーを読み込んでsndで再生する方法を採るとめっちゃ重くてタイトルバーをちょっとつまんだだけで固まったりしちゃうんですけど 何か軽快にムービーを再生できるような方法もしくはプラグイン等はないものでしょうか。 よろしくお願いします。
368 名前:名前は開発中のものです。 mailto:sage [2006/05/08(月) 00:46:00 ID:lUlHF7Gx] >>367 つ [HSP3 mmload]
369 名前:名前は開発中のものです。 mailto:sage [2006/05/08(月) 09:55:17 ID:CcUYgY2x] 2.61使ってるんですけどなんとかなりませんか…。
370 名前:名前は開発中のものです。 mailto:sage [2006/05/08(月) 12:53:51 ID:A+kJaSxb] >>369 www.onionsoft.net/hsp/beta/betabbs.cgi 過去ログ3を「動画再生」で検索したらそれっぽいのが出るかと。 hmm.dllがいいらしい。DirectShow使えるプラグインなら何でもいいとは思うが。
371 名前:名前は開発中のものです。 mailto:sage [2006/05/08(月) 13:28:38 ID:CcUYgY2x] ありがとうございます。早速確認してみます。
372 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 16:35:20 ID:COdoO+GV] ttp://null.main.jp/kouza/shokyu12.html コチラで解説しているとおりにやってみたのですが、 「#Error 38 -->内部でエラーが発生しました(38)」 と表示され、正しいexeファイルが作れません。 使っているdllはHSPDirectSoundExtensionのみなのですが、何か特別な作業が必要なのでしょうか?
373 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 21:19:14 ID:UQtf+Kro] >>372 38 "外部DLLの呼び出しに失敗しました" 外部DLLの関数呼び出しの先のアドレス取得に失敗した場合に表示されます。 だそうだ。 dsoundex.hpiが無いんジャマイカ
374 名前:名前は開発中のものです。 mailto:sage [2006/05/09(火) 21:39:45 ID:N1aA8dwP] だな。取敢えず、作った実行ファイルと同じフォルダにDLLをコピーしてみそ。>372
375 名前:名前は開発中のものです。 mailto:sage [2006/05/10(水) 00:26:47 ID:C86KZ1rA] >>371 ですが実際hmm.dllを試してみたところ本当に期待通りの効果をあげることができました。どうもありがとうございました。
376 名前:名前は開発中のものです。 mailto:sage [2006/05/12(金) 12:42:52 ID:lpPbttQ8] >>373 >>374 レス遅れて申し訳ありません。 dsoundex.hpiも必要だったんですね。 ありがとうございました。
377 名前:名前は開発中のものです。 [2006/05/13(土) 00:38:25 ID:/E17UIpq] Ver2.61で「複数のテキストファイルをexeに組み込むと繋がっちゃう」不具合は修正されていますか?
378 名前:名前は開発中のものです。 mailto:sage [2006/05/13(土) 12:19:38 ID:U+Cj0aWf] >>377 知るか
379 名前:名前は開発中のものです。 mailto:sage [2006/05/13(土) 12:59:39 ID:8VtsEFGN] >>377 以前のバージョンの話は知らんが、少なくとも261では繋がらんぞ? つーか、んなの聞くより自分で確かめた方が早いだろ
380 名前:名前は開発中のものです。 mailto:sage [2006/05/13(土) 16:27:37 ID:0+OIs3vl] >>377 もういりませんって言ってるだろ。いい加減にしろ
381 名前:名前は開発中のものです。 mailto:sage [2006/05/13(土) 17:13:05 ID:4EGyUu/C] ?
382 名前:名前は開発中のものです。 mailto:sage [2006/05/14(日) 02:26:56 ID:JvlyfUtz] 別なファイルを同じ変数に読み込んでるとかじゃねぇだろうなw
383 名前:名前は開発中のものです。 mailto:sage [2006/05/19(金) 08:38:46 ID:4OLVW9Eb] SHADEや六角等で作った3Dモデルをテクスチャ付いたまま 読み込む事ってできないのでしょうか? HSPでまたテクスチャ張りなおすのはあまりにも辛いのですが。
384 名前:名前は開発中のものです。 mailto:sage [2006/05/19(金) 11:17:10 ID:4+hflT16] >>383 プラグインによるけど、Xファイルなら、そのまま使えるし、プラグイン独自形式にも変換するツールがある Easy3Dなら六角大王ファイルも変換して使える
385 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 02:54:01 ID:lR5GLbKN] HSP3は実数を整数より左に書かなくちゃいけないという制約があるせいで 今この変数は実数なのか、整数なのかって意識しながら1行1行書かなきゃ らならん。薄氷を踏む思いだ。やってられん。なんでこんな変な仕様に したんだろ。
386 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 15:10:07 ID:WH/D3RVY] そういう仕様じゃないと文字列に数値を連結できなくなるから。
387 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 19:18:10 ID:7IQM+URD] >>386 またまた、ご冗談を・・・
388 名前:名前は開発中のものです。 mailto:sage [2006/05/21(日) 19:31:40 ID:QeKgHpXS] なんつーか実数なんて使わんなぁ <<16で馴れちゃってるから。 3D使うなら必須なんだろうけどさ…
389 名前:名前は開発中のものです。 mailto:sage [2006/05/22(月) 08:27:57 ID:9I6/KX3Q] >>385 おにたまの実力不足です。 実数が3で入っただけでも奇跡と思って諦めて他の言語を習得しましょう。
390 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 12:07:38 ID:hjOPS5XU] 例えば変数aに "testval = 123" と代入しておいて その値を条件式としてどうにかしてifみたいな感じで使うことは可能? if a : … を if testval = 123 : … という風にみなしてほしいんだけど…。 何がしたいのかっつうと スクリプトを別ファイルに書いてて スクリプト内に複数の「イベント」とそのイベントを実行する条件式を書いておいて ループ毎にメモリノートパッドに代入した条件式が書いてある行を見に行って評価したい ってことなんだが多分難しいんだろうな…。
391 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 13:12:45 ID:7vomvTXy] >>390 前半部分のは良い方法を思いつかないけど、後半部分の件。 自分も今、そういうの作ろうとしてるけど、ポインタの考え方の応用というか、 変数の参照を、名前でなく、引数を通して間接的に参照するようにしたら 比較的簡単に実装できそうだなとか考えてる。 testHP = parm(1) testMP = parm(2) みたいな。
392 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 15:37:55 ID:72LEgXLd] 327氏のようにプラグインをサブフォルダにまとめて格納したいんですが、 どうすれば良いのでしょうか。 #regcmdってのを使ってみたんですが、出来ることは出来るんですが 最初に変なエラーが出てしまって…。
393 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 16:24:20 ID:1sE/IBhR] >>390 (ガンビットみたいなのをやりたいんかな?) 別ファイルの内容をメインのプログラムで 決まった書式で書くんならできるだろうね っていうか、ループごとにメモリノートパッドを 読みにいくのは効率が悪いんじゃ? セーブロードの時以外は条件や行動を 配列の中に取っておけばいいだけだし
394 名前:391 mailto:sage [2006/05/23(火) 16:44:08 ID:hjOPS5XU] レス有難う。 >>390 やはりそれしかないっすかね。 正直管理がマンドイ… >>393 ガンビット…わからなかったのでググってみたけどFF12ですかね? あーいうのじゃなくて、シナリオデータとして ----- evenum 50 ;イベントナンバー50 condition charaLP < 100,sys_time < 60000 ;キャラのLPが100未満かつ残り時間60秒未満 message "万事休すか…!" ;メッセージ表示 eveend ;イベントナンバー50ここまで ----- みたいなものを複数作っていて、 condition行に書いた条件式が満たされたら その下のmessage行にジャンプして、 各行を解釈しながらイベントを進行させる…っていうのがやりたいと思ってる。 メモリノートパッドについては考えてみます(´Д`;)
395 名前:394 mailto:sage [2006/05/23(火) 16:45:21 ID:hjOPS5XU] やべぇ、名前欄もレス番もずれてるorz 名前 391 → 390 × >>390 → ○ >>391 スマソ('A`)
396 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 16:54:47 ID:qykXFuzk] evalとかそんな話じゃないのかね。 HSPなら中間コードみたいなのに変換しておけばできそうな気がしないでもないが。
397 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 17:25:50 ID:jLJPB5NB] >>392 .ASファイルを直接編集 HSPDXFIX.ASなら #uselib "hspdxfix.dll" を #uselib "bin\\hspdxfix.dll" もっとスマートなやり方があるかも知れないけど ヘルプに >EXEファイル作成の際にPACKFILEに入れて、1つのEXEファイルにすることはできません。拡張プラグインを使用するEXEファイルを作成した場合は、EXEファイルと同じディレクトリに拡張プラグインを置いてください。 って、あるから仕様外になるのかも・・・
398 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 17:34:14 ID:1sE/IBhR] >>394 instr,strmid,getstrとかで 行ごとにどんな文字列があるか調べて、それによって 文字列を分解して変数に格納したり、処理を変えたりしたらいいんでない? if instr(text,0,"condition") ! -1{ めんどいので略w } とかな感じで あと、そういうのならメモリノートパッドでいいと思う
399 名前:392 mailto:sage [2006/05/23(火) 18:13:22 ID:72LEgXLd] >>397 上手くいきました。 ありがとうございました〜。
400 名前:名前は開発中のものです。 mailto:sage [2006/05/23(火) 18:50:44 ID:9gWOI92g] HSPで簡易インタプリタつくりゃいいじゃなーい
401 名前:ホスプロ ◆HOTsoUpxjY mailto:sage [2006/05/24(水) 00:21:07 ID:Dd1350vL] >>390 if a(0) = a(1) : … 二つに変数を分解すれば簡単。 「testval」とか連想配列にしたいなら#defineで代用。 もっと本格的にやりたいならinterpreterパターンで。
402 名前:ホスプロ ◆HOTsoUpxjY mailto:sage [2006/05/24(水) 00:23:27 ID:Dd1350vL] あ、HSP3だと連想配列できるんだった。 a(testval)=123:if a(testvar)=123:mes "a"
403 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 01:56:40 ID:lPK/et8b] クラスも無いHSPでインタプリタパターン?アホか。 インタプリタパターンがどんなものかも分かってない低脳が知ったかかよ。 笑えるw
404 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 19:37:22 ID:8XIyjfCU] >>402 >a(testval)=123:if a(testvar)=123:mes "a" それは笑うところ?
405 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 19:59:38 ID:pl7huDAQ] HSP3の連想配列ってどうやって使うの ヘルプに載ってないし… 単に a("test")=10 などとしてもエラーになるだけだし。
406 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 20:48:21 ID:zlyvM6ck] >>405 未実装だ。HSP3公開時に公式に載ってたぞたしか
407 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 21:20:01 ID:pl7huDAQ] HSP3には馴れてないからえっ連想配列使えるの?と >>394 用のサンプルを連想配列用に書き直したのに。 もう一回書くわ('A`)
408 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 22:22:38 ID:pl7huDAQ] condition charaLP,<,100 --------------------- *命令処理ルーチン ;notegetとgetstrを駆使して、命令名と引数を分解。 ;変数funcに命令名を、変数p1〜に引数を格納 if func="message" :gosub *message if func="condition" :gosub *condition : return --------------------- *condition *@b if p1="charaLP" :i=charaLP ;ゲーム内の変数分だけ用意する if p1="charaMP" :i=charaMP if p1="sys_time" :i=sys_time : c_val=0 :x=0+p3 if p2=">" :c_val=i>x if p2="<" :c_val=i<x : if c_val=0 :return ;最終的にc_valが1なら成り立つ ;if p4!="" :p1=p4: p2=p5: p3=p6: goto *@back でもう一回条件判断 return 成り立たなかったら、 シナリオ行を+=1し、飛ばすなり何なり汁
409 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 23:42:34 ID:YrDohqbw] ホスプロはNG推奨だなこりゃ
410 名前:名前は開発中のものです。 mailto:sage [2006/05/24(水) 23:53:18 ID:Dtzdxlr4] if文を羅列するよりは、 "message" → cmd=1 "condition" → cmd=2 といった感じに、前処理で命令と引数を整数化して on cmd goto 〜 で処理するほうが良いかと。
411 名前:名前は開発中のものです。 mailto:sage [2006/05/25(木) 22:58:38 ID:DTI3us1a] レーザー表示テストの者です。飽きずにまだいじってます。 先月末にupして見てもらったものは、 何時間動かしてもOS停止には至らず、結局、原因が掴めなかったため あやしそうな部分を探して、見込みで修正してみました。 そのほか、動作環境を限定するかもしれない追加や変更が いくつか加わりましたので、動作確認におつきあいいただける方、 よろしくお願いします。また不具合ありましたら、お教えください。 exxq.hp.infoseek.co.jp/lab/IBss20060525.jpg exxq.hp.infoseek.co.jp/lab/iyabomb_060525a.zip いま少し話題になってるようなことも、いくらか取り入れております。
412 名前:394 mailto:sage [2006/05/25(木) 23:14:40 ID:c1auN3wV] やっと来れました(´Д`;) >>408 をを、わざわざソース有難うございます。 >>410 アドバイス有難うございます。 ちょっくらデータを整えて、やってみたいと思います。 他の皆様も、いろいろ有難うございました。 やってみたらまた顔出します。
413 名前:411 mailto:sage [2006/05/25(木) 23:51:16 ID:DTI3us1a] すみません。23:36以前のexeファイルはボス撃破後にデータ不足で エラー終了してしまいます。 タイムスタンプが23:37以降ならば修正版です。
414 名前:名前は開発中のものです。 mailto:sage [2006/05/26(金) 00:43:09 ID:untIOqVh] 中間コード ( #define CMD_MESSAGE 1 if func="message" :cmd=CMD_MESSAGE など ) を作ろうと思ったら文字列比較は結局必要になるよ。 そのほうがオリジナルスクリプト上では messageはmessageのままで良いので可読性も上がる。 STG程スピードを要求しないなら文字列比較のままでも良いけど。
415 名前:名前は開発中のものです。 mailto:sage [2006/05/26(金) 03:37:37 ID:oDpShfW3] ;---準備段階 sdim funcstr , 3000 funcstr="nop______message__conditionif_______go_______to_______goto_____gosub____" ;(この場合、命令名の最長文字数が 9なので、他の命令の並びもそれに合わせる) ;(html中だと半角スペースが飛ぶので、代わりに'_'で埋めてあります。) ;---デコード func="goto" cmd=instr( funcstr , 0 , func ) / 9 mes "\""+func+"\" → "+cmd /* データを作成する人間が、命令名を正しく入力しなければいけなかったり、 "goto"に対する"go","to"のように、重複する文字列を含む場合、 funcstr中での並びに気をつけないといけない、などの前提がありますが 自分は、おおむね上記のような方法で数値にしています。 funcstr文字列の長さが短いほうが数値化する速度もあがるとみて、 各命令名を1〜3文字で済ませていますが。*/
416 名前:名前は開発中のものです。 mailto:sage [2006/05/26(金) 06:48:29 ID:onhecYlx] トークンの取得はCOMから正規表現使うと楽かも。 comtest8.hsp参照。
417 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 13:47:27 ID:sKWqmida] HSP以外でやった方が楽かも
418 名前:名前は開発中のものです。 mailto:sage [2006/05/27(土) 14:56:48 ID:rRWFZuhB] >>417 それを言ったらおしまいだお
419 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 10:16:28 ID:KPT5N766] MMORPGみたいに3Dゲームでマウスクリックでキャラ移動ができるようにする講座載せてるサイトとかありませんかね。 参考にできるならHSPでなくてもいいんですが。
420 名前:名前は開発中のものです。 [2006/05/28(日) 22:13:18 ID:KJFlJ4UI] 最近HSPを始めてみてスロットを作ろうと思ったのですが、行き詰まってしまったので 質問させていただきます。 ←↓→をおして1ラインのスロットを作ってみたのですが、3つとも停止しているのか いたら当たり判定へ飛ぶというところで行き詰まってしまいました。 よろしければヒントかなにか教えてください。
421 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 22:55:23 ID:Z+CCHXYA] 左から、一つずつ、止まる仕様にしなさい。 そうすれば左から一つずつ処理して、残った分は、まだ止まってないって処理だけですむ。 一番簡単にするならこんなところかと。 それ以外はどれから止めるのか、で、個々に処理を分岐させていくようにルーチンプログラムを組むとか。 手間だけどw
422 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 23:03:20 ID:pQPkynbl] >420 当たり判定が全てとまった時のみなら スロットを回した瞬間にrool=3 一つ止めるごとにroll-- rool=0の場合スロットが停止状態だから判定でいいんじゃないか?
423 名前:422 mailto:sage [2006/05/28(日) 23:05:06 ID:pQPkynbl] >422はスペルミスってるけどいじる変数は全部一緒ね
424 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 23:26:30 ID:KJFlJ4UI] >>421 左から順押しは作れたのですが、ばらばらに押しても止めれるように できるやつを今作ってみています。 *start if st(0)=st(1) & st(2)=-99:goto *owari これが終わりへ飛ぶ処理 onkey gosub *inkey cls 0 for s,0,3,1 if cou(s)>9 :cou(s)=0 next font "MS ゴシック",70 pos 80,50:mes a(cou(0)) pos 180,50:mes b(cou(1)) pos 280,50:mes c(cou(2)) for s,0,3,1 if st(s)=-99:sp++:else:cou(s)++ next for s,03,1 if st(s)=-99:s wait 30 goto *start *inkey if iparam=49:st(0)=-99 if iparam=50:st(1)=-99 if iparam=51:st(2)=-99 return 2行目のやつを考えてみたのですけどもなかなか上手くいきません。 >>422 それでちょっと考えてみます。
425 名前:名前は開発中のものです。 mailto:sage [2006/05/28(日) 23:29:06 ID:KJFlJ4UI] 追記で a,b,cは1〜10のランダムの数字を入れて couっての要素番号です
426 名前:420 mailto:sage [2006/05/29(月) 00:08:36 ID:6gBWhafZ] 自己解決しました。板汚しすみませんでした
427 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 00:42:52 ID:37tC2HAP] 0=0 & -99=-99 でも終了って事に気づいたか iparamとwparamの違いも >font
428 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 00:45:09 ID:37tC2HAP] 聞き込みが途中で切れてる・・・ >font "MS ゴシック",70 これは最初に設定すればいい >onkey gosub *inkey メインループ前に一回実行するもの ここでは、キー入力を見てない その後のawait,stopでキーを見てる
429 名前:420 mailto:sage [2006/05/29(月) 00:54:36 ID:6gBWhafZ] できたとおもっていましたができていませんでした^^; f st(0)=-99 & st(1)=-99 & st(2)=-99 って風にしてできたと思ったんですけど無理でした・・・。
430 名前:名前は開発中のものです。 [2006/05/29(月) 01:09:48 ID:zRSJKdB1] 少しスレ違いかも知れませんが質問させてください。 今現在、HSPは特にゲームメーカーなどでプログラムとして使われて いるのでしょうか? それとも個人単位での作成範囲で留まっているのが現状でしょうか? なぜこれを聞いたかというと当方はVBでプログラムを初めて1〜2年は 修学して簡単なツールまで作れるようになったのですが間を開けて グラフィックの方に力を付けてきて今年になってHSP3.0の存在を知りHSPのゲーム作りには 特に短期でも仕上げれる特徴に魅力を感じVBを捨ててHSPを本格的に勉強し将来は職業でも 役に立ちたいと思っているので質問しました。長文ですが宜しくお願いします。
431 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 01:45:04 ID:iN1PFDnA] >>430 HSP3は2.6までのプラグイン大部分が使えなくなった関係もありまだまだ普及途中な感じ。 仮想配列も未実装だしな >>402 HSP2.6でも趣味や同人のみでの範囲。 こういうのは就職には何の役にも立たんよ。 ツールが主ならVBの方が遥かにマシだし短期に仕上がるはず。 VB以上のモノに躊躇していたんでは職業プログラマには向いてないかも知れないし そもそもプログラマなんて好きこのんでやる仕事では…('A`)
432 名前:某作者 mailto:sage [2006/05/29(月) 01:57:44 ID:KfyOoN0T] >>420 まず状態フラグを以下の4つ作ります。 Flag1:左リールの状態 Flag2:中リールの状態 Flag3:右リールの状態 Flag4:ゲームの状態 1〜3は言わずもがななので言いませんが キモはFlag4にあります。 例えば、リールの回転開始時(1ゲーム開始時)に4をセット。 リールを止める毎に-1していくと全リール停止時には1になります。 そこで、メインループの中にでも if Flag4=1{ ここに全リール停止時に一回だけ実行したいコード Flag4=0 } とかってやると、全リール停止後一回だけ実行されるのでオススメ? 停止順にも左右されないし。 奥さん!どうですか? >>430 職業としてプログラミングをするのであれば HSPとかVBなんて何のハッタリにもなりません。 ただ、VCもそうですが プログラムというものの勉強にはなります。 作り方とか流れとかですかね。 どっち方面のプログラマになりたいのか分からないので オススメはコレってのは言えませんが やって無駄になるものでもないので 適当に遊んでみると良いカモ。
433 名前:名前は開発中のものです。 [2006/05/29(月) 03:54:45 ID:fslpirHT] >>430 某大学で用いられているという話はありますよ。 案外これから普及していくかもしれません。 ただ、C言語から作られているのでCを超える事は出来ないそうです。
434 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 04:16:24 ID:37tC2HAP] >>426 そこはあってる font "MS ゴシック",70:dim st,10:dim cou,10 *start2 onkey gosub *inkey for s,0,10,1:a(s)=rnd(10):b(s)=rnd(10):c(s)=rnd(10):next *start if st(0)=-99 & st(1)=-99 & st(2)=-99:goto *owari cls 0 for s,0,3,1 if cou(s)>9 :cou(s)=0 next pos 80,50:mes a(cou(0)) pos 180,50:mes b(cou(1)) pos 280,50:mes c(cou(2)) for s,0,3,1 if st(s)=-99:sp++:else:cou(s)++ next wait 30 goto *start *inkey if iparam=49:st(0)=-99 if iparam=50:st(1)=-99 if iparam=51:st(2)=-99 return *owari for s,0,3,1:st(s)=0:next onkey 0:wait 100:onkey goto *start2 stop 一定の速度を保ちたいならonkeyは使わない方がいいかも、押されたら残りwaitが無視されるから
435 名前:名前は開発中のものです。 [2006/05/29(月) 14:45:27 ID:mlmmeZsG] >>419 つ本屋を散策
436 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 15:47:14 ID:7r+bTq3U] >>411 何か爽快感あって面白いな すげー
437 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 16:23:41 ID:OGKd9cQ0] >>411 おもしろすぎた
438 名前:名前は開発中のものです。 mailto:sage [2006/05/29(月) 18:02:05 ID:zP12sAa8] >>430 同人では結構あるみたいだけどメーカーが使うなんてありえない。だってフリーソフトだぜ? バグがあってもその製品のせいにされちゃう。原因を調べてHSPあるいはプラグインのせい だと分かっても直せとは言えない。それに、メーカーは実行速度のテストとかするんだぜ? なんでCとかでできるものを、わざわざインタープリタのHSPでやるんだよ。 あと、HSPってプロが使おうと思ったらやってられねえよ。 2.61:固定少数、演算子の優先順位なし 3:実数を整数より左に書かなくちゃいけないという変な仕様、if key&4!=0〜 ←バグる dim a(10,10):a(0,0)=1.23 ←バグる ぜひ面接で「使える言語は?」って聞かれて「HSPです」って答えてどうなったか報告して ほしい。