[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 04/11 18:20 / Filesize : 261 KB / Number-of Response : 894
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

HSP - Hot Soup Processor [14]



1 名前:名前は開発中のものです。 mailto:sage [2006/12/09(土) 22:35:08 ID:E0eCgjhQ]
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-4 あたり
    ヽ ──── '

  ONION software (本家)
   www.onionsoft.net/

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 名前: [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 名前: [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
続く






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef