1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ] ( ,,,) .( ,,) スクリプト言語 HotSoupProcessor について ( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。 , -──- 、 (,;::-──-; )-、 .|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事 l; :::;;;l-' / * ヲチ、ネタなどはスレ違い ,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり ヽ ──── ' ONION software (本家) www.onionsoft.net/
439 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 22:49:44 ID:tSiBbCYw] RPGとかノベルゲーは思いのほか プログラムが面倒だぞ アクション系はものにもよるけど 結構いきあたりばったりでいける
440 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:12:55 ID:j28Q+xuO] 個人的な経験上、RPGやノベルゲームは、システムを作るかゲーム内容を作るか、 絵や絵素材を描き込むか、三つの内の二つまでが根気の続く限界だったw 昔初めて作った自作RPGも、結局ドット絵で4方向キャラ絵描くのが大変で、 システムじゃ対応させていたのに、画面じゃ初代DQ1と同じ正面固定キャラだったり・・・
441 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:19:48 ID:2Kw8UJd6] 最終的には、くだらないツール作り・・・
442 名前:名前は開発中のものです。 mailto:sage [2007/02/20(火) 23:27:54 ID:zE56GDp8] マップ上のキャラだけポリゴンにするとかw
443 名前:名前は開発中のものです。 [2007/02/21(水) 02:24:31 ID:fMYYp1Y1] randomize sexplay=rnd(100) if sexplay = 0 : dialog "プギャー" F5 ! プギャー ('A`)
444 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 10:11:04 ID:VNWQKOrq] 200回実行して、一度もプギャーされないんだが
445 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 14:44:56 ID:Lykz6MYj] >>431 ドラクエ型RPGよりも 20年前のウィザードリー型 (直線だけで書かれたヘボイ3D迷路のダンジョンで ストーリーが殆どないRPG。 あるのは迷路探索と戦闘と店の売買と宝探しと 多少のイベント) のRPGのほうが作りやすいんじゃないかい? それだと、ソースのテンプレみたいのもあるし マップがあまり広くなくても大丈夫だし ストーリーも殆どいらないし 主人公や仲間のグラフィック書かなくていいし 重要なのは敵の出現率と強さのバランスだけだから (これは重要。本当に重要)作りやすいよ。
446 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 14:55:21 ID:2oVWmjXk] >>445 消防の頃、88で自作の3DRPG作ったのを思い出す。 初めて自分の作ったダンジョンの中を歩いた時は、そりゃ感動したもんだ。 LINE文が、描画中の線が目に見えるほど遅かったのには難儀したが。
447 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 20:10:26 ID:sqTKc8XK] >>446 俺もやったけど、描画は遅いんであらかじめ描いておいてパレットチェンジで対応した。 描画の速さはちょっと自慢だったが、完成してないので誰も見ていないw
448 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 20:27:05 ID:2oVWmjXk] >>447 ああ、そう言う方法の方が早かったかも知れないですな。 あんまり遅かったんで、俺はLINE文を自作のマシン語で置き換えて作ってたよ。 まあダンジョンの中歩けた時点で満足して、俺もゲームらしいゲームには作らなかったけど・・・
449 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 21:51:11 ID:ffqSjqvs] >>446 消防でか。すげーな。 俺の通ってた小学校にいたら間違いなくヒーローだぞ。
450 名前:447 mailto:sage [2007/02/21(水) 21:57:51 ID:sqTKc8XK] さすがにマシン語は無理だったw 緑の点を打つ、あたりで挫折した覚えがあるよ。446すげーな つーかここHSPスレじゃねえかw
451 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 22:25:26 ID:CjGnhR5w] てかなんでそんな人間が今HSPなんだよ
452 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 23:00:10 ID:sqTKc8XK] ラクだからじゃないのか
453 名前:名前は開発中のものです。 mailto:sage [2007/02/21(水) 23:29:33 ID:0jTyllT+] いくつかの数字から、何個か選ぶみたいな命令ってあるの? ロト6用に簡単なものをつくってみたいんだけど、 ぱっと思いつくrepeatとrndをつかった文だと、重複した時の対処を 一つずつやっていかなきゃならないけど、 なんかもっときれいな形にできないかなと。
454 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:04:43 ID:MHAA7b9m] ぱっと思いつくrepeatとrndをつかった文で重複した時の対処を一つずつやっていけばいいと思う。
455 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:44:26 ID:XI+KwTS4] ちょっと分かりにくいかもしれない。 シューティング作ってるんだけど、弾の出し方がよく分からない。 ・押しっぱなしで出続ける(最大何発とかの制限あり) ・離すと切れる は出来るんだけど、 ・一回押したら最後まで出る(ミサイルが4発時間差で出たり) ってのが出来ない。 だれかヒントを…
456 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:55:44 ID:0D03FtgL] ショットボタン押されたらカウンター生成(カウンター≠0ならショットボタンを無視) ↓ カウンターが規定値に達したらカウンターを0に。 ↓ カウンターが特定の値のとき、自機の座標に応じてショットを生成 ↓ ループ で良くね
457 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 00:58:29 ID:MHAA7b9m] ミサイルのフラグ(待機、発射中、硬直中、残弾無し、一時使用不可)を作って キー押されたらフラグ変えて、ループ中に作ったif文で関数なりなんなりに飛んでけばおk モジュール空間にミサイル発射間隔とカウンタ等を入れるのがお勧め
458 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 03:06:11 ID:AGuE7p3B] >454 そうですかそれしかないですか(´・ω・`)ションボリ
459 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 04:11:10 ID:AGuE7p3B] #include "hspda.as" *saisho dim a,6 randomize repeat 6,0 *yarinaoshi a(cnt)=rnd(43)+1 if cnt=1 & a(1)=a(0) :goto *yarinaoshi if cnt=2 & (a(2)=a(1) or a(2)=a(0)) :goto *yarinaoshi if cnt=3 & (a(3)=a(2) or a(3)=a(1) or a(3)=a(0)) :goto *yarinaoshi if cnt=4 & (a(4)=a(3) or a(4)=a(2) or a(4)=a(1) or a(4)=a(0)) :goto *yarinaoshi if cnt=5 & (a(5)=a(4) or a(5)=a(3) or a(5)=a(2) or a(5)=a(1) or a(5)=a(0)) :goto *yarinaoshi loop sortval a, repeat 6 mes a(cnt) loop mes "\n enterでもう一回。ESCで終了" *keycode stick key if key&32 :cls :goto *saisho if key&128 :end await 1 goto *keycode つくって見たんだけど、EXEファイルが実行してもエラー。 どうすれば良いか全然分からん。( つД`)
460 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 05:04:52 ID:lPfRj7VD] ;その件に関するオレ的考え *selnum ;数字選定 dim r,44 repeat 6 repeat cnt+1 a=rnd(7)+1:if r(a)=0:r(a)=1:break loop loop ;表示 repeat 43,1:if r(cnt) :mes cnt loop ;まだやるかい mes "\nENTERで「元気…イッパイ…だぜ…ヘッ…」\nESCで、「ヒ…」":a=0 repeat:wait 1:stick key if key&32 :a=1:break if key&128 :end loop if a:cls :goto *selnum
461 名前:460 mailto:sage [2007/02/22(木) 05:07:35 ID:lPfRj7VD] ;6行目間違い。デバッグ用の数値のままだった。 a=rnd(43)+1:if r(a)=0:r(a)=1:break
462 名前:名前は開発中のものです。 [2007/02/22(木) 06:26:39 ID:TB+Oxm9G] >>459 出来るなら [Ctrl]+[F9] で実行ファイル作ってる?
463 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 06:27:44 ID:PPY3Nm7Z] >>453 ロト6のやつ randomize: notesel a: repeat 43,1: noteadd ""+cnt: loop repeat 6: i=rnd(43-cnt): noteget n(cnt),i: notedel i: loop repeat 6: mes n(cnt): loop: stop
464 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 12:39:48 ID:ULv4wJip] >460 オメスゲーナ。やり用によってはこうやってできるのか。 ちょっとわからんところ。 repeat cnt+1 の意味と最後にa=0とかa=1の意味とか、 良かったら教えてくれ。 if ってこういう使い方もあったのか。ヘルプだけじゃワカラン。 >462 内部エラー38とか言われる。何がダメなのかわからないので、晒してみた。 >463 重複が重複のまま・・。
465 名前:名前は開発中のものです。 [2007/02/22(木) 14:41:18 ID:TB+Oxm9G] >>464 >内部エラー38とか言われる。何がダメなのかわからないので 「38 "外部DLLの呼び出しに失敗しました"」 hsp30のフォルダにあるhspda.dllを 作った実行ファイルと同じフォルダにコピーしる
466 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 15:15:46 ID:ULv4wJip] >465 うぉうデキタ。トン exeにしたときは同じとこにないとダメなのね。憶えた。 一緒にひっくるめてファイルにしてくれるもんかと思ってた。 できた記念に一口買ってくるヮ 8、11、12、16、19、38 思いきり当たらなそうだけどなーorz
467 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 15:43:16 ID:lPfRj7VD] >>464 思いついて適当に書いたけど 問われて改めて考えると、バグの元や無駄があるのに気づくな…。 ─repeat cnt+1 は─ 無限ループに陥るのを回避するために、ループ回数を指定してるんだけど 「ランダムで数字を選んだ時、すでに選択した数字とカブってる」 という状況は、7回以上連続して発生してもおかしくないんで、 試行回数 cnt+1 では不十分だ…。 >463氏の、選択した数値を抜き取っていく方法なら、 同じ数値が選ばれる問題は発生しないから、そっちのほうがいいやね。 ─a=0とかa=1は─ キー待ちループの所で、 どういう理由でループを脱出したかを、あとで判定するための フラグ操作のつもりだったのだけど、 脱出する理由は一つだけなんだから、フラグ立てるまでもなかった。 repeat:wait 1:stick key if key&32 :break if key&128 :end loop cls :goto *selnum ;これで十分だった。
468 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:00:40 ID:u/uL+4lY] HSPでRPG作ろうと思ってるんだけど、音楽の再生(BGM)までの時間遅くない? これを皆さんどうやって解決してますか?
469 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:09:48 ID:5nAwOm3S] なんじゃそら データの無音時間が長いんじゃねえの
470 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 21:44:16 ID:TMK/38nP] >>466 そぉい! #define ALL 43 //0~42の合計43個から #define NEED 6 //6個選ぶとして dim a, ALL repeat ALL a(cnt) = cnt loop repeat NEED idx = rnd(ALL-(cnt+1)) idx += (cnt+1) //ここで2つをスワップ tmp = a(cnt) a(cnt) = a(idx) a(idx) = tmp loop //処理が終了した、結果を確認 **** repeat ALL mes "a[" + cnt + "] = " + a(cnt) if(cnt == (NEED-1)): mes "↑ ここまで" loop
471 名前:名前は開発中のものです。 mailto:sage [2007/02/22(木) 23:23:00 ID:MHAA7b9m] #define ALL 43 //0~42の合計43個から #define NEED 6 //6個選ぶとして if ALL < NEED : dialog "ALL が NEED 未満\nALL="+ALL+" NEED="+NEED,1,"MyError!" : end //初期化 dim a, ALL repeat ALL : a(cnt) = cnt : loop //シャッフル randomize repeat NEED idx = rnd(ALL-cnt)+cnt //←*******ここ、これでもいけるんじゃね?********* //ここで2つをスワップ tmp = a(cnt) : a(cnt) = a(idx) : a(idx) = tmp loop //処理が終了した、結果を確認 **** sdim result, 32*ALL : notesel result repeat ALL noteadd "a[" + strf("%2d",cnt) + "] = " + a(cnt) if(cnt == NEED-1) : noteadd "↑ ここまで" loop mesbox result, ginfo_winx,ginfo_winy, 0
472 名前:名前は開発中のものです。 [2007/02/22(木) 23:57:08 ID:TB+Oxm9G] >>468 .MID? なら音の初期化に時間が掛かってる(仕様) それが嫌なら MCI コマンド で mpegvideoのデバイス使用したりすればいい
473 名前:名前は開発中のものです。 mailto:sage [2007/02/23(金) 00:14:35 ID:O0erhAiM] BGMは普通にオーディオファイル使いなよ
474 名前:470 mailto:sage [2007/02/23(金) 10:12:11 ID:E2Prn5Yf] >>471 指摘と訂正ありがとう! 言われて気づきますた。>>470 は rnd() で拾う範囲が間違ってました。
475 名前:名前は開発中のものです。 mailto:sage [2007/02/24(土) 19:54:37 ID:W+rZHJ8X] >>468 ___________________ | GuruGuruSMF || 検 索 |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ↑
476 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 03:54:57 ID:VNaVZIL+] SMFでBGM鳴らすと嫌がられるかもよ
477 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 06:18:25 ID:g1M1g916] kwsk
478 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 14:44:33 ID:JBJKbo+u] 高性能なソフトウェア音源持ってるとオーディオ鳴らすよりメモリ食うから ゲームの処理自体も遅くなるってことか>476
479 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 15:03:49 ID:AlLVbpDx] 俺もMIDIは嫌だな。 環境依存だから作曲者の意図した音色で鳴らないし、内蔵のはとにかく音がヘボイ。 外部音源(GM非対応)持ってるんだけど、MIDIのルーティングそっちにしてると 勝手に変な信号送るしな。 基本的には用量が小さい以外のメリットはないからオーディオデータのが良いよ。 フリー素材使う&レコーディング環境が無いならSMFデータでも仕方ないが。
480 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 16:42:45 ID:/zNzezvq] mp3はライセンスがあれだからoggだね
481 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:02:00 ID:VNaVZIL+] >477 俺が見てるゲーム系スレでMIDIだと一部に叩かれたりしてたってだけ 478-479みたいな話だった 俺もホムペでBGMにしてるとことかウザいし、内蔵の音嫌いなんで切っちゃってるがw
482 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:18:26 ID:fYDjuiva] GGSMFは指定すれば外部音源も使えるが、 DirectMusicモードにすればどのパソコンも共通のDLSを使うんだぜ(そのDLSを変えれば別だが、普通はしない)。 処理は重くならない。 まぁ音がショボイのは髪の毛が抜けるほど同意なんだけどさ。
483 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:27:28 ID:fYDjuiva] 連ですまんが俺は スーファミチックなグラフィック = SMF 3Dなど、綺麗なグラフィックや世界観 = オーディオデータ でいいんじゃないかと思っている でもまぁ個人差はあるよね
484 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 17:52:08 ID:VNaVZIL+] どちらもオーディオでいいと思うけどw 何らかの理由でとにかくデータを小さくしたいなら別だが
485 名前:名前は開発中のものです。 mailto:sage [2007/02/25(日) 18:25:52 ID:AgVpiUO/] ジャンルによるけど、オーディオだと素材が見つからないんだよね。 聴いたことあるやつだったりして萎えたり。 MIDIは豊富だけどどこもショボいし、 かといって自分じゃ作れないし… はぁ
486 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 01:40:02 ID:57LQAIMh] >>483 ああ、それ分かるわ〜 ファミコンチックな絵にはmusic.comのMMLで。 winで鳴らすプラグインあったよな… いいわ。アレ。
487 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 01:53:38 ID:oDJiOUFE] TSSで良いんじゃね。HSP用プラグインあるし。 あとMIDIデータがあるならGXSCCでオーサリングするとか。 とにかく環境依存のSMFは、技術的に他に選択肢が無い場合以外は回避が吉。
488 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 19:23:37 ID:RONGsV2o] わかった! 別でソフト音源を自作して配布すれば人類みな兄弟だ
489 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 20:48:02 ID:SJxC1fKB] そりゃPSGの時代にSCC積むってんなら分かるけど。 MIDIやmp3じゃだめなの?
490 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 20:54:27 ID:A8+9CQeT] 低脳回線の俺にとっては、5分くらいかけて一生懸命落としたやつが、 超ハイクオリティなオーディオデータ使ってても 内容が糞だと本当に萎える。 作者は自分の技量に合った容量の音楽データを決めてくれよな/(^o^)\ハッナザッワサーン チラ裏だけど 俺はショボいMIDIのほうがゲームには味があっていいなと思う時がある
491 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 21:09:27 ID:I1DVp87U] >作者は自分の技量に合った容量の音楽データを決めてくれよな ムチャクチャ言うとるw だからTSS使えと
492 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 22:17:32 ID:PGtAGC7+] ここはミュージックフォーマットスレですか? HSPの話題ないのかね
493 名前:名前は開発中のものです。 mailto:sage [2007/02/26(月) 22:53:47 ID:oDJiOUFE] TSSをHSPで使ってみよう
494 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 01:26:41 ID:sv8ON4Xo] 元から進行遅いんだし何話題にしてももうなんでもよくね? と妥協気味なんだが。
495 名前:名前は開発中のものです。 mailto:sage [2007/02/27(火) 04:16:21 ID:sv8ON4Xo] というか、こういう話題で荒れなかったのは奇跡な気がしてきた。
496 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 17:27:06 ID:RL8xs1BY] >467 レストンクス cnt+1はそういうことだたのかー。 あの時はcntがどこにかかっているのかまだ良くわかってなかった。 でも これは (cnt+1/43)^(cnt+1) ってことで 確率としてはよっぽどと思うけど、 プログラマからすると高い方なんだろうか。 組んで計算してみようかと思ったけど、累乗してくれる命令が見つからない。 a=はフラグなのね。なるほどね。フラグってそうやって表すんか。 別のプログラムでこのやり方使ってうまくいった。勉強になりました。 >470-471 ようやっと仕組みがわかった。これも凄いな。 こういう発想は慣れればすぐ出てくるものなのかとただただ感心。 でもそれだけじゃ悔しいのであえていうと、 ロト6にゼロはないから、 a(cnt)=cnt+1にシル。
497 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 21:45:03 ID:nNF0epL2] hsp wikiが アクセス権限がありません とかで見れない・・・俺だけ?
498 名前:名前は開発中のものです。 mailto:sage [2007/03/02(金) 22:49:20 ID:5hSvgbhg] 見れるが ……何かやらかしたんじゃないだろうなw
499 名前:名前は開発中のものです。 [2007/03/02(金) 22:52:48 ID:xch9HBdf] >>497 俺は開ける ついこの前開発wikiが >07/02/28から07/03/01までの間アクセスできない状態が続きました。原因はスパムによる高負荷だったようです。 だったみたいだから そのうち繋がるんじゃね?
500 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 08:16:02 ID:/ZMyxF+O] まりがとう。 ところで、 装備品やアイテムのパラメータがExcelで管理できたら 製作者的に便利だと思ったんですが、 HSPとのやりとりは難しいですかね・・・? 今はnote命令でやってるんですが視認性があまり良くなくて・・・
501 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 11:47:02 ID:b1MKL1pP] >>500 本格的なxsl形式対応は難しくても、csvなら簡単じゃね? まあ何をどういう感じにしたいのかは知らんが。
502 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 12:28:23 ID:WpAkZHyn] >>500 今はどんな感じに(noteで読んでる)ファイル作ってる?
503 名前:名前は開発中のものです。 [2007/03/03(土) 13:18:13 ID:a544u/75] HSP3です。 screen で作成したWindowを、HSPスクリプトディタみたく、 最大化ボタンを追加し、起動時に最大化を行う (ただしタスクバーと重ならないように) ようにする方法があれば教えてください。 Wikiの過去ログで最大化ボタンを追加する方法がありましたが、 タスクバーの後ろに画面が重なったり、 プログラム実行時、自動的に最大化する方法がわかりませんでした。
504 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 13:21:58 ID:/ZMyxF+O] こんなカンジです ;武器データの例(各0行目=インデックス=武器ID) ;10行目;ファイル名,アイテム名,材質 ;11行目;アイテムの説明 ;12行目;損壊後ID,耐久度,重量 ;13行目;切断力,刺突力,衝撃力 ;14行目;対切,対刺,対衝 ;15行目;切,穿,打 ;16行目;構えN,構えT,構えW ;17行目;持易N,持易T,持易W ;18行目;価格,汎/重 ;19行目;欠番(改行だけを入れる) Excelだとフィルタとか使えてアイテム間のバランス調整が楽だなあと思いまして
505 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:07:38 ID:WpAkZHyn] >>503 #uselib "user32.dll" #func ShowWindow "ShowWindow" int, int // BOOL ShowWindow( // HWND hWnd, // ウィンドウハンドル // int nCmdShow // 表示状態 // ); #func SetWindowLong "SetWindowLongA" int, int, int // LONG SetWindowLongA( // HWND hWnd, // ウィンドウハンドル // int nIndex, // 変更するデータの指定 // LONG dwNewLong // 新しい値 // ); #func SetWindowPos "SetWindowPos" int, int, int, int, int, int, int // BOOL SetWindowPos( // HWND hWnd, // ウィンドウのハンドル // HWND hWndInsertAfter, // 配置順序のハンドル // int X,int Y,int cx,int cy, //位置と大きさ // UINT uFlags // ウィンドウ位置のオプション // ); #define GWL_STYLE -16 #define WS_OVERLAPPEDWINDOW 0x00CF0000 #define SW_SHOWMAXIMIZED 3 #define SWP_FRAMECHANGED 0x0020 screen 0,ginfo_dispx,ginfo_dispy,0,,,640,480 SetWindowLong hwnd, GWL_STYLE, WS_OVERLAPPEDWINDOW ShowWindow hwnd, SW_SHOWMAXIMIZED SetWindowPos hwnd, 0, ginfo_wx1, ginfo_wy1, ginfo_dispx, ginfo_dispy, SWP_FRAMECHANGED とりあえず作ったぜ?最大化はこんな感じ? で、タスクバーが重ならないのはフルスクリーンではないのか?
506 名前:503 [2007/03/03(土) 14:33:02 ID:a544u/75] >>505 早い回答ありがとうございます。 >>505 の内容を新規作成で実行しましたが、ウィンドウがちらっと見えて速攻落ちました。 ちなみにこちらで作ってみたのを下に書いてみます。 screen 0,10,10,2 sz_w = ginfo(20) sz_h = ginfo(21) screen 2,sz_w,sz_h,,0,0 cls 4 ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #uselib "user32.dll" #cfunc GetWindowLong "GetWindowLongA" int,int #func SetWindowLong "SetWindowLongA" int,int,int #const GWL_STYLE -16 #const WS_MAXIMIZEBOX 0x00010000 ws = GetWindowLong( hwnd, GWL_STYLE ) //ウインドウスタイル取得 ws = ws | WS_MAXIMIZEBOX //最大化ボタン表示フラグを追加 SetWindowLong hwnd, GWL_STYLE, ws //ウインドウスタイルを再設定 gsel 2,-1 : gsel 2,1 // [最大化ボタン]再描画のため ;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ >で、タスクバーが重ならないのはフルスクリーンではないのか? フルスクリーンというのは、↓こんなのですか? ;$$$$$$$$$$$$$$$$$$$$$$ bgscr 2,ginfo(20),ginfo(21),,0,0 cls 4 ;$$$$$$$$$$$$$$$$$$$$$$ というより、やりたかったのは最大化ボタンで最大化するとタスクバーを避けた範囲で最大化し、 タスクバーの高さをちょこちょこいじっても、追従してウィンドウの下枠が移動してくれるのです。
507 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 14:46:03 ID:WpAkZHyn] >>506 落ちたっすかwwwwwwサーセンwwwwwww そのままコピペして全角スペース残って無いだろうな?#defineの所。もし、そうならプロセスが残ってるはずだ >フルスクリーン そんなの >追従してウィンドウの下枠が移動 そのスクリプトでその通りに動いてるが?というかWindowsが勝手にやってね?
508 名前:506 [2007/03/03(土) 14:54:53 ID:a544u/75] >>507 もうしわけございません。//の行をそのままやってました。 ちゃんと整理すると思い描いていたとおりの動きで感激です。 かなり嬉しいです。どうも。
509 名前:名前は開発中のものです。 mailto:sage [2007/03/03(土) 19:32:20 ID:Ia/P8ltl] >>507 見吉ィぃぃぃぃいぃぃ!!!!
510 名前:名前は開発中のものです。 [2007/03/04(日) 17:15:14 ID:wznVdj4V] 突然の質問失礼します。Pcbnet2のサンプルのsample01_SimpleChatをコンパイル+実行 してみたのですが、HSP3ではエラーになってしまいます。 ソースコンバータ(HSP2をHSP3に変換してくれる)にかけたのですがサーバ側は問題 ないのですが、Client側でエラーが出てしまいます。 85|*main 86| tcpfail soc 87| if stat : tcpclose soc : dialog "接続が切断されました!",1 : end 88| tcpgetl buf,1024,soc 89| if stat : gosub *recv 90| instr a,msg,"\n" 91| if a!-1 : gosub *send 92| wait 1 93| goto *main line89がエラーと出るのですが、どうしたらいいでしょうか? 教えてください
511 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 17:42:38 ID:S2R5w3OY] >>510 ソースコンバータを過信しすぎだな。 HSP3.1b7で実行すれば、エラーメッセージに原因が表示されるぞ。
512 名前:名前は開発中のものです。 mailto:sage [2007/03/04(日) 18:57:05 ID:YMvgADvJ] instrを関数にしろ
513 名前:1 [2007/03/05(月) 00:21:04 ID:6FToFsAD] >>512 instrを関数にしたいのですが、例えばa=instr(p1,p2,"string")ですよね? このa=のaの部分を何にすればいいのかわかりません;; >>511 早速DLしてきて試してみます! ありがとうございます ペコリ
514 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:26:34 ID:ao1dJWki] >>513 ヘルプ見ろって・・・ >instr(p1,p2,"string") >p1=変数名 : 検索される文字列が格納されている文字列型変数名 >p2=0〜(0) : 検索を始めるインデックス >"string" : 検索する文字列 これでインデックス(自然数)が返ってくる。無ければ-1が返ってくる
515 名前:1 [2007/03/05(月) 00:34:38 ID:6FToFsAD] >>514 すみません;; 本気でわからないのですが、instr(a,msg,"\n")では パラメータ式の記述が無効です。 ってなります;;
516 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:35:14 ID:6FToFsAD] ↑ごめんなさい、1じゃないです。
517 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 00:48:28 ID:ao1dJWki] >>515 C言語とかだと有効だけど、HSPでは関数の戻り値を入れる変数が必要 つまり、index=instr(a,msg,"\n")みたいな感じで。 というか、戻り値使わないと関数を実行する意味無くね?
518 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 01:10:21 ID:6FToFsAD] ほんとにすみません;; index=のindexの部分を何にすればいいのかわかりません。 instrでmsgから"\n"改行?を探してるのかな?ってぐらいにしかわからないです;;
519 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 01:36:15 ID:6FToFsAD] あ! HSP2のinstrのヘルプ見てわかったんですが、a=(msg,,"\n")にしてやればいいのかな? ですが、これで実行してみるとチャット欄にhelloって文字を打ちエンター押すと 10行ぐらいhelloってずらずら続いてしまいます・・・・ やはり違うのかな・・・・
520 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:07:49 ID:ao1dJWki] index = instr(msg,0,"\n") これでmsgの中身をインデックス0(1文字目)から検索して"\n"があるインデックスがindexに入る 例 : msg = "hello\n"の時 6文字目にあるのでindexには5が入る。
521 名前:名前は開発中のものです。 [2007/03/05(月) 02:11:49 ID:6FToFsAD] >>520 はい、そこまではわかりました。 でも、こんどはメッセージを送信したときに メッセージがずらずら〜っといっぱい出てきてしまいます;; Test17>test Test17>test Test17>test Test17>test Test17>test こんな感じです;; もう、思いつく限りの関数はHSP3用に直したのですが・・・;; 原因がさっぱりです
522 名前:名前は開発中のものです。 [2007/03/05(月) 02:14:37 ID:6FToFsAD] *send s=msg instr a,s,"\n" //ここもa=instr(s,,"\n")に直しました getstr ss,s,a+2 poke s,a,0 s+=ss buf="say "+s+"\n" tcpput buf,soc objprm 0,"" return
523 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:36:17 ID:ao1dJWki] //動作がよくわからなかったのでためしに書いた。 s = "0123456789\nabcdefg" ss = "" a = instr(s,0,"\n") mes a getstr ss,s,a+2 mes ss poke s,a,0 s+=ss mes s つまり文字列途中の改行を抜きたいってことでいいのか? もしそうならinstrとstrmidをセットで使ったほうが楽 strmid(buff,instr(buff,0,"\n")+2,256) これでbuff内の\n以降が取得できる。 余談だが、\nって二文字分なのな。\n\rに変換してるってどっかで見たが・・・
524 名前:名前は開発中のものです。 [2007/03/05(月) 02:48:59 ID:6FToFsAD] >>523 さん ほんとうにありがとうございます。 いぇ、改行を抜きたいのではなくて、pcbnet2のサンプルのsample01_Simplechat をHSP3で正しくコンパイルしたいだけでして・・・;;
525 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 02:54:53 ID:ao1dJWki] >>524 というか俺、さっきも書いた気がするがHSP3から入ったからHSP2の知識が全く無い。 移植そのものの役には立てそうにない。 しかし、良いスクリプトってだいたいHSP2だな・・・
526 名前:名前は開発中のものです。 [2007/03/05(月) 02:58:45 ID:6FToFsAD] >>525 ですねぇ;; ソースコンバータがもっとバージョンアップしてくれれば・・・・ ↑ すごい他力本願^^;
527 名前:名前は開発中のものです。 [2007/03/05(月) 03:54:46 ID:IdxZqlrk] >>522 msg="" objprm 0,"" return 一応これで出来た hsp2だと objprm 0,"" で使ってるバッファも影響受けるのかな?
528 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 03:57:48 ID:ay926VlW] なんかごちゃごちゃやってるみたいだけど ソースコンバータ通したスクリプトを 90行目 a=instr(msg,0,"\n") 135行目 a=instr(s,0,"\n"):msg="" にするだけの話だぞ
529 名前:名前は開発中のものです。 [2007/03/05(月) 04:04:56 ID:6FToFsAD] >>528 おお!! でけた! 528さん、ありがとうございます;; このサンプルでpcbnet一生懸命勉強しようと思います。 どうもありがとうございました ペコペコ
530 名前:名前は開発中のものです。 [2007/03/05(月) 04:19:35 ID:IdxZqlrk] sdim msg,1024 mesbox msg,200,24,1 repeat s=msg ;instr(a,s,"\n") ;2用 a=instr(s,0,"\n") ;3用 if a>0{objprm 0,""} title ""+msg wait 1 loop stop やっぱり objprm の動作が2と3で違うな 2ならobjprm で操作したら使ってる変数内容も 変化するけど 3は変わらない バグっぽいけど・・・
531 名前:名前は開発中のものです。 mailto:sage [2007/03/05(月) 08:05:10 ID:9TVkJKsy] 関連付けてる変数を更新して、それをobjprmの引数にすれば OKなんだけどね。 ていうかウィンドウキャプション、改行コードも表示されちゃうんだ。 知らんかった。
532 名前:名前は開発中のものです。 [2007/03/07(水) 17:18:17 ID:nPv9ImbS] サーバ側からクライアント側へ画像を転送するにはどうすればいいですか?
533 名前:名前は開発中のものです。 [2007/03/07(水) 18:44:46 ID:nwF22j0Y] >>532 HTTPのGETコマンドで画像ファイルのURLをリクエストすればいい。 でもバイナリデータだからHSPだと切り出しがツライかも。
534 名前:名前は開発中のものです。 [2007/03/07(水) 20:09:37 ID:nPv9ImbS] >>533 いあ、HTTPではなくて、サーバ側のbufferに描いた画像をクライアント側 にgcopyするみたいなことってできないですかね?
535 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 20:18:53 ID:hRCFzq0X] >>534 クライアント側がサーバになり(ポートを開いて接続を待ち受ける)、 サーバ側がクライアントとして振舞う(クライアントに接続に行く)ことで ファイルを送りつけることは可能。 でも現実にはルータやファイアウォールとか、サーバの規約とか、 ウイルス扱いされるとか、ネットワークの安全性とか、色々な問題が予想されます。
536 名前:名前は開発中のものです。 mailto:sage [2007/03/07(水) 21:06:27 ID:ydn30hoM] >>534 クライアント側に初めから用意されている画像を、 『どの位置か』といったシンプルな情報だけを通信でやりとりして、 それを基にクライアント側で処理させるのが無難。 何のためにそれをしたいのかを書かないと、大したアドバイスは出来ないと思う。 絵チャットみたいなのをしたいの?
537 名前:名前は開発中のものです。 [2007/03/07(水) 21:53:25 ID:nPv9ImbS] >>536 なるほど。 別になにかしたいってわけではなくて、ただ、どうやったら できるのかな?って疑問に思っただけなんです^^; 「どの位置」をクライアント側に渡してやればいいのかあ。 考えてみます。 どうもありがとうございました。
538 名前:名前は開発中のものです。 [2007/03/08(木) 17:40:29 ID:TEJL+ADw] レースゲームのサンプルスクリプトってどこかないですか? アクセルとブレーキの実装ってどうやっているのか知りたいのですが。
539 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 17:51:20 ID:V+92YLpv] >>538 物理計算を単純にした感じでいいんじゃね?