- 1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ]
- ( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について ( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。 , -──- 、 (,;::-──-; )-、 .|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事 l; :::;;;l-' / * ヲチ、ネタなどはスレ違い ,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり ヽ ──── ' ONION software (本家) www.onionsoft.net/
- 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
物理計算を単純にした感じでいいんじゃね?
- 540 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 19:31:25 ID:swI1jhiZ]
- アクセル 前進
ブレーキ 停止 じゃなくて アクセル 速度上昇 ブレーキ 速度減少 にして、速度によって位置を変えていけばいいんじゃね? って回答でおk?
- 541 名前:名前は開発中のものです。 [2007/03/08(木) 19:34:54 ID:TEJL+ADw]
- >>539
すいません、物理計算っていうのがわかりません;;
- 542 名前:名前は開発中のものです。 [2007/03/08(木) 19:42:23 ID:TEJL+ADw]
- >>540
なるほどお!? わかったような、わからないような・・・ 普通のキー入力だと、キーを離すとキャラクタが止まってしまいますよね? キーを離しても、慣性で進んでいくような、レースゲームでは当たり前でしょうが、 経験が浅いのかおつむがバカなのかその具体的な方法が思いつきません
- 543 名前:名前は開発中のものです。 mailto:sage [2007/03/08(木) 20:07:41 ID:hsHUTUZZ]
- *main
//キーチェック if(加速キーが押されてたら):加速度=加速度+いくらか if(減速キーが押されてたら):加速度=加速度-なんぼか //座標更新 座標=座標+加速度 //グラフィック表示 pos(座標… gcopy(グラフィック表示… //ループ毎に減らす(アクセルを踏んでないとエンジンブレーキ) 加速度=加速度-ちょっと goto *main レースゲームだとたぶんキャラの位置は固定で背景だけが動く だろうから適当に工夫してちょ
- 544 名前:名前は開発中のものです。 [2007/03/08(木) 20:29:52 ID:TEJL+ADw]
- >>543
おお!ありがとうございます! これを元に考えてみます
- 545 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 04:35:11 ID:PSudILgY]
- どうでもいいけど
加速度→速度 いくらか・なんぼか→加速度 じゃね?
- 546 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 05:52:08 ID:mAtCxyxj]
- それもそうだ
本能で書いた すまぬ
- 547 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 22:18:11 ID:OmsA6ix3]
- gzoomでキャラクターが画面向こうからこっちに迫ってくるようにしたいんですが
背景で画面をクリア(残像を消去)しながらやるとちらついてしまいます。 多分gzoom命令のせいだと思いますがちらつかなくする方法ってありますか?
- 548 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 23:08:54 ID:mAtCxyxj]
- redrawとかは当然使ってるんだよね
gcopyではチラつかないのにgzoomだとチラつく?
- 549 名前:名前は開発中のものです。 mailto:sage [2007/03/09(金) 23:48:34 ID:9wm9gx0I]
- 向かってくるキャラが女性なんだろう。
だから色々チラつくんじゃないかな。
- 550 名前:547 mailto:sage [2007/03/10(土) 07:57:00 ID:BrhUO2D5]
- うまくいきました。
初歩的なことですいませんでした
- 551 名前:548 mailto:sage [2007/03/10(土) 08:53:38 ID:s4EgJTT+]
- ( ゚д゚ )
- 552 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 09:47:14 ID:RgqImxK/]
- どっかのHSPまとめサイトかなんかで、
このTIPSは理解しやすいように変数に全角文字を 使ってるけど 行儀が悪いので半角に換えましょう みたいな事が書かれてたんだけど、・・・行儀悪い? 俺見易くなるようにNOを#とかにしてるけど・・・ 後で思わぬ不具合が出るとか?
- 553 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 12:02:56 ID:EgnyZfl8]
- プログラムの書き方なんて千差万別
どの書き方がよくてどれが悪いなんて無い
- 554 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 15:53:04 ID:dqgHW26b]
- その手の宗教発言は真に受けるべからず
- 555 名前:名前は開発中のものです。 [2007/03/10(土) 16:21:45 ID:C28IpD1h]
- HSPでアクションゲームつくりたいんだけどどこかいい解説サイトはないかな
- 556 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 17:19:27 ID:eQ0ijKNl]
- 昔は「美しいプログラムを書きましょう」だの「スパゲッティ」だのよく聞いたんだけどな。今はソースを
他人に公開することもなく、チームを組んで作るとか後で後輩に引き継ぐとかするのでもなければ 行儀なんてどうでもいいんだろうな。現実にはそういう場合でもきったねえんだけどさ。 でもHSPなんてフリーソフトなんだから、やっぱ標準的な書き方しないと心配じゃね?変数を全角で 書いて、もし変な不具合が起こったらどうしようってずーっと心配しなくちゃいけない。行儀がどうこう ってんじゃなくて、信用できない。起こらないんだろうけど。てか現実にはマイクロソフトだってそんな に信用できないけどさ。 >>552 Dr.Dに怒られちゃうぞ。
- 557 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 17:34:29 ID:eQ0ijKNl]
- >>555
シューティングでもテトリスでも作り方がある程度分かればアクションも作れるだろ。あとはたっぷり アクションゲームをやることだ。お前の言ってるアクションが格闘アクションのことだったら知らんけど。 てかHSPでアクションゲームに特化して解説してるがなかったら作れないってんならやめちまえ! でも頑張ってね。(←ツンデレで)
- 558 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 17:51:50 ID:GJ+Cs3X4]
- どうせ横スクロールモノだろ?
シューティングよりも、テトリスの方が似てるかな。 テトリスの棒が左右に歩いてジャンプできれば、一画面物アクションなら出来たも同然。
- 559 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 18:51:01 ID:3t9NJGvE]
- すごろくゲームのサンプルスクリプトどこかにありませんか?
サイコロの出た目によってコマが進むしくみが知りたいのですがどうすればよいのかわかりません。
- 560 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:31:06 ID:s4EgJTT+]
- クマー
- 561 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:49:45 ID:GJ+Cs3X4]
- >>559
双六は、マップのデータの持ち方が意外にややこしいかもな。 ・・・どうも、それ以前の段階で詰まってそうな感じだけど。
- 562 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 19:56:29 ID:5ZAWuvtI]
- >>559
まず一方通行&一直線のすごろくを作って、 配列インデックスと座標データとコマ表示の関係を学ぶといい。 1.一方通行&一直線のすごろく (基本) 2.クネクネしたすごろく (応用) 3.ぐるぐる回るすごろく (モノポリーなど) 4.分岐やループのあるすごろく (人生ゲームなど) 5.目的地があり、好きな方向に動けるすごろく (桃太郎電鉄など) この流れで作っていけば君もすごろくマスターだ!
- 563 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 21:02:03 ID:rcfj8Pc0]
- >>552
同一ソース内に全角と半角を混ぜるなんて、 ちゃんと動いたとしても、気持ち悪くて出来ないな。 万が一、半角スペースのつもりで全角スペースを入れたときとか 見つけにくいんだよ意外と。 「そんなミスするわけないだろ(笑)」とか思っててもやってしまうのが プログラミング。 少なくともそういう、「全角だろうが半角だろうがOK!」 っていう教え方をする先輩や上司はいないだろうな。 というか既に結論出ちゃってるけど、 個人でやるなら自由にすればいい。 団体でやるならマナーを守れと。
- 564 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 21:14:58 ID:Of9Rb6RG]
- ビリー「全角スペースなんて小さな事でお悩みの貴方に送る、テキストエディタ TeraPad!」
- 565 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 22:04:35 ID:A2NSoGOm]
- エディタで色分けやら下線強調表示できたところで、コード次第ではどのみち死ねますね
統一すんのは検索効率もあるし
- 566 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 22:58:30 ID:s4EgJTT+]
- どっちのスタイルにせよ
コメント文をソースに書くとき 全角にして半角に戻すのって面倒臭くない? VC++でもしょっちゅう間違えてソースの方に 全角スペース入れてしまってコンパイル蹴られる。 漢字キーがもうちょっと近くにあると嬉しいのだが
- 567 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:00:49 ID:Of9Rb6RG]
- コメントを英語で書けば何の問題も無い
- 568 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:05:06 ID:s4EgJTT+]
- // sore naisu!
- 569 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:25:27 ID:9POELrpn]
- スペースは常に半角とか、IMEの設定でできなかったっけ?
- 570 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:28:51 ID:uQgnCise]
- >>559
マルチ乙w 釣りじゃないんなら なにがわかんないのか書けばいいと思うよ
- 571 名前:名前は開発中のものです。 mailto:sage [2007/03/10(土) 23:34:42 ID:s4EgJTT+]
- ああ、会社ではそれにしてる
シフト押しながらスペースで全角スペースになる なんで家ではやってなかったんだ俺 なんか理由があった気がするが…忘れた
- 572 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 00:39:28 ID:stPPhm55]
- hspdxfixについて質問なんですが…
es_set等でスプライトの優先順位を設定した際に 数値が大きいスプライトが手前に表示されるのですが、 小さいほうを手前に出来ないでしょうか? なんか設定ミスってんのかな、俺。
- 573 名前:名前は開発中のものです。 [2007/03/11(日) 09:11:36 ID:iZ4HV+4f]
- 多角形塗り潰しの命令でおすすめのないでしょうか?
ウィザードリィ風な3Dダンジョンをつくるのに台形の塗り潰し機能を使おうとしてます。 壁と天井の色を分けて裏画面で奥から手前に向かう順番で壁で塗り潰していってるのですが、 pal_DrawPolygonを使っていると、画面を何度か更新しているうちに 色がどちらか一方の色だけにかわってしまいます。
- 574 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 12:00:57 ID:/T7FdIWg]
- その謎命令については良く知らんが
gsquareじゃ駄目なん?
- 575 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 13:01:37 ID:9H6tJUaN]
- つーか単なるあんたのプログラムミスじゃん。
- 576 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 15:27:59 ID:GsSBQTuQ]
- その不具合が確実に起こる短いソースを書け
- 577 名前:573 [2007/03/11(日) 15:49:57 ID:iZ4HV+4f]
- >>574-576
サンクス! gsquareにかえたら問題解消でした。 短いソースかいてみます。
- 578 名前:573 [2007/03/11(日) 17:46:02 ID:iZ4HV+4f]
- 起動した後、Enterキーを押すたび、同じ画像が再描画されます。
ぽち、ぽち・・・と、Enterキーを、20回くらい押し続けると、 なぜか画像が変化します。 pal_DrawPolygonは、ここ↓ www.vector.co.jp/soft/win95/prog/se209258.html #include "palhsp.as" repeat stick KY if KY=32 { screen 2,640,480 : cls 4 buffer 3,640,480 : cls 4 for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1 pal_SetPoint 0,310+i*2,310+i*2 pal_SetPoint 1,410+j*2,310+j*2 pal_SetPoint 2,410+k*2,410+k*2 pal_SetPoint 3,310+k*2,410+k*2 color 25,125,50 pal_DrawPolygon 4,1 redraw 1 next : next : next gsel 2,1 gcopy 3,0,0,640,480 } wait 5 loop
- 579 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 18:21:12 ID:/T7FdIWg]
- リンク先はマンドクセからみてないが
基本命令の使い方すらわかってないのは良くわかった こんなレベルでプラグイン使うな あと、せめてこのソースが何をしようとしているか ぐらい書け 「ボタン押している間だけ台形が表示される」か? なんでメインループの、しかもキーチェックの中に screen,bufferがあるんだ?
- 580 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 20:33:12 ID:yv4HZkMu]
- >>578
これはひどい
- 581 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 21:08:13 ID:9lsP7SN/]
- もっとソフトに叩いてやれよ。
HSPスレは初心者もしくはプログラム触り始めの人間が 現れるとすぐにムキになってブッ叩くクセがあって良くない。 >>578 これはひどい
- 582 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 21:33:08 ID:fVOjDyWr]
- 初めて見るプラグインで、役に立ちそうな機能を持ってたので
どんな代物なのか自分でも確かめるために、>578の件を調べてみたが。 一見、HSPでも問題なく動いているように見えるけど、 更新されたのが2002年2月で、HSP3が出るずっと前のプラグインだから HSP3には完全対応してないんじゃないかと思った。 実際、>578のスクリプトを2.61用に一部修正して実行したら、 描画が変化する問題は発生しなかった。 それにしても >>578 これはひどい ボタン1回押すごとに、324個のポリゴン描画してるのは 573の意図したものなのか、疑わしいな。 参考までに。 wait 5の前に title str(cnt) とか追加して、実行してみるといい。 これが573の意図した動作なのかどうか。
- 583 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 22:29:42 ID:/T7FdIWg]
- #include "palhsp.as"
screen 0,640,480 : //ループに入れるなカス!IDは0だろ buffer 3,640,480 : cls 4//透過色用に黒か? //意図は知らんがループ前に作ってちゃ駄目か? for j, 11, 7, -1 : for k, 3, 12,1 : for i, 6,15,1 pal_SetPoint 0,310+i*2,310+i*2 pal_SetPoint 1,410+j*2,310+j*2 pal_SetPoint 2,410+k*2,410+k*2 pal_SetPoint 3,310+k*2,410+k*2 color 25,125,50 pal_DrawPolygon 4,1//んなマイナーなプラグイン知らん next : next : next gsel 0//描画対象を0に戻せ repeat redraw 0 //まず描画を裏画面にセットしろカス color 80,50,50 : boxf //まず先に画面を背景でクリアしろカス! //色をつけてみたのは透過するか確かめる為だ //その上から描きたいものを載せろこのウジムシ!! stick KY,32 //押しっぱなしの処理がしたいのか?ボウヤ if KY=32 { gmode 2//透過コピーで良いのか? gcopy 3,0,0,640,480 //ID3に描いといた奴をコピーで良いのか? } redraw 1 //全部描き終わったら裏画面を表画面に反映しやがれ title str(""+cnt+" "+(cnt/60))//秒間60フレームより速ければ秒より速く表示 await 5//awaitにしてみた loop //お前のママでもエスパーでもないんだ //何やりたいかなんか知るかカス //動的に変化させて表示させる意図なら知らん!自分で考えろ //マニュアルのredrawとscreenとgselとこ100回読んで氏ね
- 584 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 23:03:03 ID:k4eFOmxa]
- どうでもいいことだけど
>screen 0,640,480 いらなくね >redraw 0 redraw 2のがいいはず。 まあ実際はたいして変わらんが。 >KY=32 KY&32のがええかも。仕様によるが。 >gmode 2 ループの外に出せるね。
- 585 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 23:10:44 ID:V3/hxKyI]
- 思い切りひっぱたいた後で一行ずつ丁寧に教えててワラタ
ツンデレってこのスレのことやね。
- 586 名前:名前は開発中のものです。 mailto:sage [2007/03/11(日) 23:24:14 ID:/T7FdIWg]
- screenとgmodeについては
今後の変更のことも考えてそうした 背景を透過なしで使う可能性が高いからな redrawはそうだっけ?忘れた keyはコイツには&の説明すんのはめんどかった
- 587 名前:1/2 [2007/03/12(月) 02:01:28 ID:UmbRWuRt]
- >>559
分岐無しだけど・・・ 準備 #define colrgb(%1) color ((%1)>>16),(((%1)>>8)&$ff),((%1)&$ff) #module #deffunc getdat var indx,array ps,int no,int fg,local notdat,local strdata chk='=' , ':' , ':' , ':' , ':' noteget notdat,0:if fg=1 {indx=strsizeindx(no):masmax=no}:getstr strdata,notdat,indx,',' if strsize>0 {if fg=0 {masmax++:indx+strsize:strsizeindx(masmax)=indx}:idx=0 repeat 5:getstr tmpstr,strdata,idx,chk(cnt):if (strsize>0) {idx+strsize : ps(cnt)=int(tmpstr)}loop}else{return -1}return masmax #deffunc masmov array pdat,int pno,int masno dupptr masdat,varptr(pdat(0,pno)),4*5:getdat indx,masdat,masno,1:return #global mas="0=16:16:100:80:,1=120:25:80:70:,1=200:32:80:70:,1=280:50:80:70" mas+",1=300:130:80:70,1=220:150:80:70,1=140:180:80:70,1=80:230:80:70" mas+",2=40:290:80:70:1j0n,1=120:300:80:70,3=200:290:80:70,1=280:310:80:70,10=360:340:120:90" evmes="☆スタート☆","イベント無し","分岐点\n(未実証)","一回休み\n(未実証)","4","5","6","7","8","9"," ★ゴール★" evcol=$f08080,$8080c0,$505080,$806030,$806030,$806030,$806030,$806030,$806030,$806030,$5080f0 evmcol=$ffff50,$a0f0f0,$f000f0,$101010,$806030,$806030,$806030,$806030,$806030,$806030,$f05060 randomize:buffer 1:notesel mas:repeat :getdat indx,ps,0,0:if stat<0 {break} masmax=stat:colrgb(evcol(ps(0))):circle ps(1),ps(2),ps(1)+ps(3),ps(2)+ps(4),1 colrgb(evmcol(ps(0))):pos ps(1),ps(2)+ps(4)/2-8:mes evmes(ps(0)):color:pos ps(1),ps(2):mes masmax-1:loop playernam="@","A":playermax=2 続く
- 588 名前:2/2 [2007/03/12(月) 02:06:06 ID:UmbRWuRt]
- メイン
repeat:dim pdat,5,playermax:dim player,playermax:playerno=0:sai=0 gsel 0:clrobj :pos 500,100:button gosub "サイコロ",*rndsai:repeat:redraw 0:pos 0,0:gcopy 1,0,0,640,480: if (sai>0)&(((cnt-tim)\15)=0)&mov{sai--:player(playerno)++:if sai=0{playerno=(playerno+1)\2::objprm 0,"サイコロ"}} repeat playermax:masmov pdat,cnt,player(cnt):if pdat(0,cnt)=10 {Gaul=1}:color:x=pdat(1,cnt)+pdat(3,cnt)/5+cnt*32 y=pdat(2,cnt)+pdat(4,cnt)/5:circle x,y,x+17,y+17,1:color cnt*255,(cnt=0)*255:pos x,y: mes playernam(cnt):loop:pos 0,0:color:mes "残り("+sai+")" if Gaul{break}:repeat 2:pos 200-cnt,5-cnt:color (playerno*255)*cnt,(playerno=0)*255*cnt mes "[ "+playernam(playerno)+" ] の番です。":loop:redraw 1:await 10:loop:Gaul=0:pos 250,220:color 255: mes "[ "+playernam(playerno)+" が ゴール しました]":redraw 1:wait 200:loop *rndsai:if sai=0 {sai=rnd(6)+1:title "サイの目["+sai+"]":mov=0:objprm 0,"移動"}else{mov=1:tim=cnt}:return 適当に改行してコメント入れてけば読めるだろう
- 589 名前:名前は開発中のものです。 [2007/03/12(月) 11:04:23 ID:mM+HHXub]
- awaitって何ミリ秒ウェイトしてるの?
確かawait 16なら前のawaitから0.016秒「待った」後でウェイトが入るんだよね?
- 590 名前:559 [2007/03/12(月) 11:37:51 ID:NDVpsEF4]
- >>587
>>588 ありがとうございます。
- 591 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 11:55:55 ID:gLL2hKAr]
- FPSを60に近づけたい時は、awaitの値を16にするんですよね。
うちの環境では、15と16では、かなりの差があり、15の方が正確に、秒をきざんでいるのですが 環境に依存するのでしょうか? repeat a+ title "" + a/60 + "秒" await 15 loop
- 592 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 12:32:17 ID:PDxfvhOI]
- 気になるようなら時刻を拾って補正すればいいんでは.
そこまで面倒かけてする必要があるかは謎だが. うちも15の方が近い(60FPSよりやや早めになる) 16ってのは単に1000を60で割ったら16〜17が一番近いってだけだろうから 理論上は60フレームで960mm秒しか待たない筈でも遅延を入れると 1000mm秒超えて結果的に15の方が近くなるのだと思う たぶんマシンパワーが無いほど遅延が大きいと想像するがよく知らない エロイひとの解説を待とう
- 593 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 12:52:56 ID:c7c2vkZ/]
- 俺はOSのスレッド切替が10msで実行単位が20msだから間をとって2の乗数でキリのいい16、だと思ってた
- 594 名前:名前は開発中のものです。 [2007/03/12(月) 12:59:26 ID:UmbRWuRt]
- >>591
await 1 とawait 10 を比べてみ ほとんど違いが無いから Win2000以降のOSだとawait 1でも10前後待つ winmm.dll timeBeginPeriod タイマー精度の設定 timeEndPeriod 設定解除 timeGetTime 設定に合った精度で経過時間を取得できる kernel32.dll Sleep 設定に合わせた精度で待つ これらの組み合わせで、ある程度正確に待てる 使い方が分からなかったら、モジュールにして 公開してる人が居るから利用させて貰えばいい 有る程度正確って言うのは、Sleep 1としても 2ms待ってしまう環境があるから 2ms未満は時間を監視しながらループ回して 待てば正確さは増す(けどCPU使用率は上がる) 注意としては、awaitとSleepは別物なので、 Sleepを使っていてもawait 0は必ず必要 無いと閉じるをクリックしても終了出来なかったり マウス座標収得やオブジェクトボタンの操作も出来ない
- 595 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 16:32:41 ID:gLL2hKAr]
- >>592-594
回答有難うございます。 探してみたところ、MIA氏のtime.hpiが良さげなので、使ってみます。
- 596 名前:名前は開発中のものです。 [2007/03/12(月) 17:18:23 ID:UmbRWuRt]
- >>595
それは用途が違うHSP2時代のawaitが 少し処理を食ってたから作られた物で タイマー精度には関係ない hsp Manager で検索してみ
- 597 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 18:23:04 ID:kFfYyS9X]
- >>570
何がわからないのかわからないのが初心者クオリティ
- 598 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 20:14:55 ID:gLL2hKAr]
- >>596
サンクス! Time Manager for HSP3ですね。
- 599 名前:578 [2007/03/12(月) 20:48:26 ID:bHRnq+dr]
- >>579-584
いろいろ、ありがとうございました。 >>583のプログラムはいろいろノウハウがあって驚きました。 自分のとは比べ物にならないほど綺麗に画面が切り替わりました。 初心にもどって頑張ります。 またきます。
- 600 名前:名前は開発中のものです。 mailto:sage [2007/03/12(月) 20:53:37 ID:c7c2vkZ/]
- 初心者じゃなかったのか
- 601 名前:583 mailto:sage [2007/03/12(月) 21:15:42 ID:PDxfvhOI]
- ( ゚д゚)、ペッ 地球人め
- 602 名前:名前は開発中のものです。 mailto:sage [2007/03/13(火) 19:35:12 ID:N8GDXKRx]
- コーディング能力・・・5だと?!
- 603 名前:名前は開発中のものです。 [2007/03/15(木) 21:35:25 ID:R/FJK7NS]
- コミュニケーション能力はマイナスみたいね。
- 604 名前:名前は開発中のものです。 mailto:sage [2007/03/16(金) 04:49:37 ID:BDnU/+tv]
- >>603
誰がうまいことをいえと・・・ この2日間の空白を作ったのはは明らかに空気が詠めない子だね (`ω´;)
|

|