[表示 : 全て 最新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/

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
続く

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日間の空白を作ったのはは明らかに空気が詠めない子だね (`ω´;)

605 名前:名前は開発中のものです。 [2007/03/16(金) 12:32:21 ID:s337brCd]
今日ぐぐったら、ウィンドウ半透明化のサンプルを見つけた。
これから全てのウィンドウを半透明化してやるぜフゥーファハハハハー

606 名前:名前は開発中のものです。 [2007/03/16(金) 23:28:12 ID:5xoFEMkV]
なんだ、XPで擬似Vistaでもやる気か!

607 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 04:07:05 ID:w6Ip/tdc]
>>605
HSPだとメインウィンドウだけしか半透明にできないよね。
もし、子ウィンドウも半透明にできるんだったら知りたい。

608 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 17:06:27 ID:HgUYLq+d]
>>605
重くなりそう

609 名前:名前は開発中のものです。 mailto:sage [2007/03/17(土) 19:08:59 ID:q4U0F70w]
>>608
重くなりました・・・
特にタブブラウザと2chブラウザが致命的だたーよ



610 名前:名前は開発中のものです。 [2007/03/17(土) 21:02:55 ID:Z5sWvh6/]
メモリ2GB以上推奨じゃね。

611 名前:名前は開発中のものです。 [2007/03/26(月) 00:48:34 ID:pDPzBZgB]
あげる

612 名前:名前は開発中のものです。 mailto:sage [2007/03/26(月) 01:10:12 ID:EnuQNPAk]
いらない

613 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 18:27:58 ID:A5jDWsKh]
フルスクリーンとウィンドウを動的に切り替えるdirectxのdllは無いのでしょうか?
hspdxfixじゃ切り替えようと思うと急に落ちてしまって・・・

614 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 21:21:13 ID:+O7YOmys]
処理として凄く面倒だから対応していないソフトって結構あるね

615 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 21:41:27 ID:rMTkz8BK]
再起動後に有効になります。
で良いんじゃね。


616 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 21:47:57 ID:W4jKrJc5]
iniファイルとかを書き換えて再起動でいいんじゃね?

617 名前:613 mailto:sage [2007/03/28(水) 21:59:47 ID:A5jDWsKh]
切り替えは再起動がやはり前提になるのですね・・・返答、ありがとうございました

618 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 22:04:14 ID:W4jKrJc5]
再起動ってかDLL解放して再初期化だな

619 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 22:54:45 ID:zDNvHnoM]
;フルスクリーンじゃなくて、全画面ウィンドウへの切り替えなら…

#include "HSPDXFIX.as"
sx=800:sy=600:screen 0,sx,sy,0:d3d=0
es_ini:if stat : goto *owari
onexit goto *owari
es_screen sx,sy,32,0,1,d3d:if stat : goto *owari
es_cls 0,0,0:wx0=ginfo_wx1:wy0=ginfo_wy1
*main:await 0:kyP=ky:stick ky,ky:if (ky=128):goto *owari
color 0,0,0:es_boxf 0,0,sx,sy:color 255,255,255:es_boxf sx-8,sy-8,sx,sy
pos 0,0:es_mes strf("あめんぼあかいな(゚ω゚)aiueo ky=%3d",ky)
if ((ky=4)&(kyP=0)) {bgscr 0,ginfo_dispx ,ginfo_dispy, 0,0,0}
if ((ky=1)&(kyP=0)) {screen 0,sx,sy,0,wx0,wy0}
es_sync -17,2:goto *main
*owari:es_bye:end

;(全画面<->窓の切り替え処理は手抜きなので、
;このままでは実用するには不都合あると思いますが、参考までに。)



620 名前:名前は開発中のものです。 mailto:sage [2007/03/28(水) 23:00:06 ID:zDNvHnoM]
あー、
カーソル右で全画面、
カーソル左で窓モードに戻す
ESCで終了、です。(読みづらいかと思ったので一応)

621 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 04:26:24 ID:yzMVV1IZ]
ZGPはできたけど
今更3には対応していないしなぁ

622 名前:名前は開発中のものです。 [2007/03/29(木) 04:44:25 ID:YSXEyT2v]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


623 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 10:39:59 ID:3R4jXytD]
ちっちゃい窓画面と二倍表示の窓画面の切り替えをしたくて、

#deffunc draw int dispbuf
getkey key,112
if key {
 if key_on = 0 {
  if wsize {
   wsize = 0
   screen 0,320,240,0,(ginfo_dispx / 2 - 160),(ginfo_dispy / 4) : cls 4
  } else {
   wsize = 1
   screen 0,640,480,0,(ginfo_dispx / 2 - 320),(ginfo_dispy / 4) : cls 4
  }
  key_on = 1
 }
} else : key_on = 0

gsel 0 : pos 0,0
if wsize = 0 : gcopy dispbuf,0,0,320,240
if wsize = 1 : gzoom 640,480,dispbuf,0,0,320,240
gsel dispbuf
return

「dispbufに全部描画したあとスクリーンに(拡大)コピーする」
っていう命令を作ってredrawの代わりに使ってるんだけど
なんか他にもっと簡単な手段とか無いですか?

624 名前:名前は開発中のものです。 mailto:sage [2007/03/29(木) 11:35:10 ID:5ZBqJ65v]
>>623
大きさ変えるだけならwidthでいいんじゃね?
あと、clsよりboxfの方がいい。

625 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 08:33:57 ID:PkSFAggM]
repeat -1
chp_zure.i = furehaba * sin((kakusokudo*cnt)+(kakudosokudo*i));正弦波?
i++
if i>chp_max : i=0
//ここでずらした位置に画像をコピー処理
loop

擬似ラスタスクロールで波が作りたいんですが、自分で作ったやつを見ると何故かカクカクしてしまいます。
ズレを画像の縦の座標1ピクセルごとに正弦波で作ってやって、それをその座標でコピーしています。

626 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 08:42:58 ID:bh2+2cXg]
・redraw入れたか?
・変数名が酷いがどう思う?
・sin( kakusokudo * (cnt + i) )のほうがいいと思うけど何か?

627 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 10:45:02 ID:PkSFAggM]
>>626
redrawは入れました
読みずらくてすいません。

628 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 10:50:56 ID:bh2+2cXg]
int型になってるとか

629 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 11:10:44 ID:PkSFAggM]
実数で計算して最終的にint()を呼び出して変えてます。
一応左右には揺れるんですけど、波みたいに見えないんですよね
波の起こりが遅いように見えます



630 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 11:47:38 ID:bh2+2cXg]
buffer 0
picload "test.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
screen 1,SZx,SZy
kakusokudo = 0.05
furehaba = 0.0
dim chp_zure,SZy
i = 0
repeat
?repeat SZy
??chp_zure(cnt) = furehaba * sin( kakusokudo * double(cnt + i) )
?loop
?redraw 0
?color 0,0,0 : boxf
?repeat SZy
??pos chp_zure(cnt), cnt
??gcopy 0,0,cnt,SZx,1
?loop
?redraw 1
?i += 5
?kakusokudo += 0.0001
?furehaba += 0.1
?await 16
loop

ちょっと書いてみた。こんな感じでいい?

631 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 11:57:28 ID:l/QzLrkf]
;モレも作ってみたヨ

#define PI 3.1415926535897932386 

w=32                ;波の強さ
t=128               ;波の間隔

buffer 2,640,480 :picload "",1
gsel 0
repeat
    repeat ginfo_winy
        x=sin(PI*((cnt*360/t+a)\360)/180)*w
        y=cnt
        pos x,y :gcopy 2,0,y,ginfo_winx,1
    loop
    redraw 1: redraw 2 :color 0,0,0 :boxf :color 255,255,255
    a+=16           ;波の速さ
    await 16
loop


632 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 12:05:42 ID:bh2+2cXg]
ちょい修正
buffer 0
picload "test.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
screen 1,SZx,SZy
kakusokudo = 0.05
furehaba = 0.0
dim chp_zure,SZy
i = 0
repeat
 redraw 0
 color 0,0,0 : boxf
 repeat SZy
  chp_zure(cnt) = furehaba * sin( kakusokudo * double(cnt + i) )
  pos chp_zure(cnt), cnt
  gcopy 0,0,cnt,SZx,1
 loop
 redraw 1
 i += 5   //スピード
 kakusokudo += 0.0001 //振動数
 furehaba += 0.1   //振れ幅
 await 16
loop


633 名前:625 mailto:sage [2007/04/01(日) 13:39:14 ID:PkSFAggM]
>>630
>>631
ありがとうございます。
初歩的な勘違いをいくつかしていたのが原因だったみたいでした。

あとできたら横揺れに縦揺れを追加する方法が知りたいんです。
一応疑問は解決したので、これはできたらでいいんですが

634 名前:631 mailto:sage [2007/04/01(日) 14:01:50 ID:l/QzLrkf]
   pos x,y :gcopy 2,0,y,ginfo_winx,1
      ↓
   pos 0,y :gcopy 2,0,x+y,ginfo_winx,1

こうすると縦揺れ(?)になるヨ


   pos x,y :gcopy 2,0,x+y,ginfo_winx,1
      ↑で縦横

635 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 14:25:16 ID:bh2+2cXg]
// 1/2

#define SZX_EXT 128 //揺れてはみ出た分
#enum BUF_IMG = 0
#enum BUF_SECOND
#enum SCR_MAIN

//元画像バッファ
buffer BUF_IMG
picload "D:\\画像\\ありがちな虹\\25666.jpg" //適当な画像
SZx = double(ginfo_winx)
SZy = double(ginfo_winy)
//横揺れ
buffer BUF_SECOND, SZx + SZX_EXT * 2, SZy
//メインウィンドウ
screen SCR_MAIN, SZx, SZy
//横揺れ用
dim chp_zure_x, SZy + SZX_EXT
kakusokudo_x = 0.05
furehaba_x = 0.0
//縦揺れ用
dim chp_zure_y, SZy
kakusokudo_y = 0.05
furehaba_y = 0.0
i = 0

636 名前:名前は開発中のものです。 mailto:sage [2007/04/01(日) 14:26:08 ID:bh2+2cXg]
// 2/2

repeat
redraw 0
//横揺れを描画
gsel BUF_SECOND
color 0,0,0 : boxf
repeat SZy
chp_zure_x(cnt) = furehaba_x * sin( kakusokudo_x * double(cnt + i) )
pos chp_zure_x(cnt) + SZX_EXT, cnt
gcopy 0, 0,cnt, SZx + SZX_EXT,1
loop
//縦揺れを描画
gsel SCR_MAIN
color 0,0,0 : boxf
repeat SZx + SZX_EXT
chp_zure_y(cnt) = furehaba_y * sin( kakusokudo_y * double(cnt + i) )
pos cnt, chp_zure_y(cnt)
gcopy BUF_SECOND, cnt + SZX_EXT,0, 1,SZx
loop
redraw 1
i += 5 //スピード
kakusokudo_x += 0.00001 //振動数
furehaba_x += 0.2 //振れ幅
kakusokudo_y -= 0.00001 //振動数
furehaba_y -= 0.2 //振れ幅
await 16
loop

637 名前:名前は開発中のものです。 [2007/04/01(日) 23:23:00 ID:qmrcQHpu]
>>624
亀だけどd

他には特になし、てことでいいのかな…

638 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 02:06:45 ID:yH4J2c4D]
#define 変数 システム変数(cntとか)

って無理なんですかね?
コレができれば管理の手間が減らせそうなんだけど・・・

639 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 02:48:10 ID:E8nYiBqA]
やってみればいいだろそれくらいなら



640 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 03:43:50 ID:YF+orBxP]
constも使おうよ

641 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 06:32:38 ID:yH4J2c4D]
>>639
いえすでにやってみてエラーがでたんで、その回避か代替は可能かなと

>>640
#constでも、やはり変数を使ってる時点でエラーがでました



普通に需要がありそうな気がしたんですが、発想自体がイレギュラーだったのかな・・・

642 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 07:03:07 ID:6D/Td0Rc]
#define 変数 cnt

repeat 3
mes 変数
loop

;何を言っているのかよくわからないよ

643 名前:名前は開発中のものです。 [2007/04/02(月) 07:51:02 ID:OgFackaK]
ネストしても各cntが生きてる時点でアウトな気がする

644 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 08:30:49 ID:AAu4E+87]
#defineはただの置き換えだろ・・・同じ意味を持たせるってわけじゃないだろ・・・

645 名前:名前は開発中のものです。 [2007/04/02(月) 10:16:27 ID:CBsQTNyT]
>>641
>普通に需要がありそうな気がしたんですが、発想自体がイレギュラーだったのかな・・・
意味がわからね
何をするために必要なの?
意味あんの?


646 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 10:58:38 ID:WD0jAhl8]
システム変数に値を代入したいとか...?

647 名前:641 mailto:sage [2007/04/02(月) 18:20:22 ID:yH4J2c4D]
;失礼しました・・・3D関係でオブジェクトIDというのが数字で割当てられているので
;それを名前で把握する為に#defineすると言うのが目的です。
;例えば
buf="pan","pin","pun","pen"

repeat 4
#define buf(cnt) ,cnt
loop

;という感じで、p2はp1に対応したオブジェクトIDを入れて使おうと思いまして。
;bufはメモリノートパッドで大量に読むので、その手作業を減らす為です。

648 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 18:26:35 ID:AAu4E+87]
repeat 4
#define buf(cnt) ,cnt
loop

無意味なループじゃね?いろいろと勘違いしてないか?

649 名前:641 mailto:sage [2007/04/02(月) 20:21:16 ID:yH4J2c4D]
・・・イヤそうじゃなくて・・・

>>647で書いたように、#defineが変数の中身を参照した使い方がしたいけど
仕様ではそれができない(変数自体使えない)んで、
その代わりになる方法はないでしょうか?という質問です。解りづらくてスミマセン



650 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 20:24:51 ID:GnD4wQd4]
hoge = cnt

651 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 20:27:52 ID:tpdpORJE]
>>649
たぶん無理な気ガス。
どちらにしろ、#define はコンパイル前に置換するだけだから。

あえてやるなら、連想配列みたいな方法だと思うが。

オブジェクトIDと文字列が完全に固定なら、
repeat 4
mes "#define "+buf(cnt)+" "+cnt
loop
みたいにヘッダファイルを書き出してから、それをインクルードするw

652 名前:641 mailto:sage [2007/04/02(月) 20:44:30 ID:yH4J2c4D]
お答えありがdです。

やはり私の発想はどこか飛んでたようですね。あきらめてまた一から
違う管理方法を考えます

653 名前:名前は開発中のものです。 [2007/04/02(月) 22:21:02 ID:fSYb2JxG]
nextbm.ty.land.to/index.htm

毎月HSP掲示板に来てたのが廃刊してくれたそうだw
理由がワロスw

654 名前:名前は開発中のものです。 [2007/04/02(月) 22:31:48 ID:nAJq39ai]
>>647
オブジェクトIDは何が割り当てられるか不定で
使う時には名前でIDを使いたい?

俺はこんな感じでやってる(ID何番が割り当てられるかは気にしなくていいから楽)
#include "hgimg3.as"
#enum pan=10
#enum pin
#enum pun
#enum pen
#enum objend
dim id,objend
hgini
setsizef 10,10
addbox mid
repeat objend-pan,pan
regobj id(cnt)
loop
repeat
setpos id(pan),sin(0.1*cnt)*25
addang id(pan),0.01,0.01
setpos id(pin),0,sin(0.01*cnt)*20
addang id(pin),0,0.01,0.01
hgdraw
hgsync 10
loop

連想配列が実装されたらid("名前")って出来るみたいだけど・・・

655 名前:名前は開発中のものです。 mailto:sage [2007/04/02(月) 22:43:36 ID:6D/Td0Rc]
HSP3.1は連想配列の実装が予定されている・・・
そんなふうに考えていた時期が俺にもありました

656 名前:名前は開発中のものです。 [2007/04/04(水) 17:21:52 ID:n+Mf/sOw]
age

657 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 19:18:19 ID:xIUSvdy4]
HSPって、&と&&の区別しないんだな
俺の3時間返せ

658 名前:名前は開発中のものです。 mailto:sage [2007/04/04(水) 19:34:58 ID:WifholmS]
つ【3時間】

659 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 11:29:50 ID:ym/KUe2Y]
マニュアルよめよ



660 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 11:36:49 ID:qUHD2MB+]
↑読んでないやつ

661 名前:名前は開発中のものです。 mailto:sage [2007/04/05(木) 11:41:19 ID:Jnpg8Zk/]
その辺りはマニュアルに書いてない、というか、
仕様外の演算子じゃねーの?

662 名前:名前は開発中のものです。 mailto:sage [2007/04/06(金) 22:37:19 ID:9HFxtVR8]
で、β8が出てる訳だが

>・更新履歴
>
> 2007/04/05 3.1b8
>
> 新規拡張プラグインhspcvを追加。(詳細はhspcv.txtを参照してください)
> 変数データをまとめてファイルに読み書きするためのvload、vsave関連命令(hspdaプラグイン)を追加。
> HSPCL(コンソール版)のinput命令でバイナリーモード時にEOFを誤認識する不具合を修正。
> コンパイル時の追加ファイル(hspdef.as等)が存在しなくてもエラー表示しないように修正。
> 変数名情報を常に出力するオプションを#cmpopt命令に追加。
> HSPSDK(プラグイン)側から変数IDと変数名に関する情報を取得可能に修正。
> RSSモジュール(mod_rss.as)のモジュール名を修正。(HSPBT#133)
> user32.as内のGetWindowModuleFileName関数定義を修正。(HSPBT#125)
> 拡張プラグインhspinetのftpopen命令のポート指定ができない不具合を修正。(HSPBT#58)
> 拡張プラグインHGIMG3の機能追加と不具合をいくつか修正(詳細はhgimg3.txtを参照してください)。


663 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 00:05:32 ID:wTOoLdT/]
そのb8、実行するとタイトルがb7になるわけだが
あと、アナウンスも無いけどね

664 名前:名前は開発中のものです。 mailto:sage [2007/04/07(土) 21:21:42 ID:xJqf1AgZ]
正式版キタ

665 名前:名前は開発中のものです。 [2007/04/08(日) 08:49:30 ID:yoJuvkiJ]
メッセージボックスの指定行のバイト数ってどうやって求めてる?
OSの問題でsendmsgはボツだし、地道に計算したらフリーズするし・・

666 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 10:45:14 ID:YH0fkqKd]
リンク張っていないので
ttp://www.onionsoft.net/hsp/file/hsp31b8.lzh
ttp://www.onionsoft.net/hsp/file/hspsdk31b8.lzh

なんかdgdgね

667 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 11:34:02 ID:kbz+IrgG]
>>665
note系命令で指定行取得してstrlen

668 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 12:54:56 ID:yoJuvkiJ]
>>667
thx

669 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 20:17:18 ID:5KwOsR6N]
新しいヘルプになって最前面に固定できなくなった?



670 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 12:50:06 ID:DSUlSx8P]
>なんかdgdgね
ディグダグ?

671 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 19:56:01 ID:6Hv4syfu]
>>670
グダグダ

672 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 22:23:05 ID:ntsmkKok]
dgdgならディグダグで正解じゃないか?w

673 名前:名前は開発中のものです。 mailto:sage [2007/04/09(月) 22:44:43 ID:xQ5lPNOu]
新しい描画プラグインってどうなの?

674 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 01:23:00 ID:k7+XauZp]
>>673
こんなのが数十行で出来る
thelaughingman.net/


675 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 01:59:10 ID:E0BpcqA+]
描画プラグインに新しいのが出たのか?

676 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 08:57:53 ID:k7+XauZp]
β晩にhspcvが追加されている
が、サンプルはない


677 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 09:00:39 ID:k7+XauZp]
haarcascade_frontalface_alt2.xml はぐぐれ
#include "hspcv.as"
cvbuffer ,280, 212
cvloadxml "haarcascade_frontalface_alt2.xml"
cvload "認識させたい画像"
cvfacedetect , 1.0
if 0 == stat {
mes "認識失敗"
}
facearea_num = stat
cvgetimg , 0
dim maskarea, 4
repeat facearea_num
cvgetface facearea(0), facearea(1), facearea(2), facearea(3)
mes ""+facearea(0)+","+facearea(1)+","+facearea(2)+","+facearea(3)
loop
とりあえずこんな感じで認識できるはず

678 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 12:05:36 ID:BMeKgnLh]
>>677
動いた おもすれー

679 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 19:02:17 ID:wiWwQvgv]
変数データを直接読み書きできるって事は
セーブ・ロードが簡潔にできるってことなのかな



680 名前:名前は開発中のものです。 mailto:sage [2007/04/10(火) 21:54:45 ID:XIsMa+6t]
うん

681 名前:名前は開発中のものです。 mailto:sage [2007/04/11(水) 05:13:37 ID:SKNSOWMH]
ノートパッドで切り出しとかやってセーブ・ロードに苦心してた事も
いい思い出に変わるのかな

682 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 21:07:33 ID:22vncB1J]
初心者用講座とか色々廻ってたけど
電卓作るあたりで挫折した

683 名前:名前は開発中のものです。 [2007/04/12(木) 21:08:29 ID:bCgTq/qC]
盛りage

684 名前:名前は開発中のものです。 [2007/04/12(木) 21:20:14 ID:j0G3mdxP]
>>677
顔じゃ無い部分が認識された
よく見ると顔みたいに・・・

心霊写真かと思ったよw

685 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 21:20:43 ID:00Wev8Rd]
電卓で挫折って・・・

686 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 22:32:55 ID:cq6R8ing]
なんのためにコンピュータ使ってんだろうなw

687 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 02:40:01 ID:KoxYsYvL]
こんぽじっとぱたーん・・・・??????

デジタル土方レベルのCかBASICしか出来ない香具師でも
力技だけでゲームを作れる言語作ってくれよ!


あ、もうあるか。

688 名前:名前は開発中のものです。 [2007/04/13(金) 15:33:03 ID:kkKSJW2x]
10,200,30,60 00 ってテキストに書いておいて、
カンマ区切りで配列にしたいんですが、

notesel fileLoad
noteload "data.txt",0
sdim Fname,32000,999
getstr Fname,fileLoad,0,','
dialog Fname.1
dialog Fname.2

って書いてもダイアログには数字が表示されませんでした。
カンマ区切りのテキストファイルから配列を作るにはどう書けばいいのでしょうか。

689 名前:名前は開発中のものです。 [2007/04/13(金) 15:59:15 ID:a+Uovvd0]
>>688
それじゃあ、最初の一つしか配列に渡されないよ
notesel fileLoad
;noteload "data.txt",0
fileLoad="10,200,30,60,00"
sdim Fname,32000,999
index=0
repeat
getstr Fname(cnt),fileLoad,index,','
index+strsize
if ','!stat {break} ;getstrで区切りキャラクタ以外で取り出された
loop
repeat
if Fname(cnt)="" {break}
dialog Fname(cnt)
loop
end

プラグイン hspdaの csvstrと間違えた?
こっちなら一行分なら一回で配列に代入される
(でもhspdaには色々バグがあるから注意)



690 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 18:14:32 ID:kkKSJW2x]
>>689
ありがとうございます。おかげさまでできました。
助かりました。

691 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 20:07:44 ID:I5qoCwtL]
>>669
それ必要なの?

692 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 20:30:21 ID:fWNR28q6]
おれ別人だけど、ヘルプ見ながらスクリプト打ち込みたいとか?

693 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 00:03:39 ID:atoydD3j]
>691
うん、ヘルプ見ながら打ち込むので俺には必要。
命令のパラメータさえ分かればいいから小さくして右上に出しっぱなしにしてたんだが。
今は画面の3分の2にエディタ開いて残りにヘルプ出してる。
ヘルプブラウザのreadme見ても何も書いてないから抹殺されたんだろうな。

694 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 01:44:52 ID:8sg2zORJ]
作者のページにBBSもあるんだし
ここで聞くよりも、作者に直接聞いた方がいいと思うんだが

695 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 13:46:00 ID:atoydD3j]
あるか、ないか、が聞きたかっただけだから。
なけりゃないで、やり方はあるから作者ページに書き込むほどでもないと判断した。

696 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 13:57:51 ID:tSlK/VcG]
今アイテム数20個毎にページを増やすように作ってるんだけど、
コレを16個毎にして16進数で管理すると簡便化できる?

697 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 14:21:07 ID:XHCB7tyo]
>>696
\式使えば楽

698 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 20:07:48 ID:tSlK/VcG]
ありがd

699 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 19:29:31 ID:HlbFQmd9]
HGIMG3の簡易コリジョン(AABB)は実装されてますけど、
パーツ毎判定みたいのはいつ頃に実装されるのかな?

あんまり実装遅いなら使いたくないけど、ランタイムなのが魅力的なんだよな〜
おにーたまHGIMG3スケージュルも出して欲しい



700 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 03:55:20 ID:jNSmnASU]
パーツっつーかポリゴン毎のコリジョンか?
かなり重くなると思うんで簡易的にやったほうが良いんじゃないかと思うんだが…。

701 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 10:10:37 ID:bENpqRAl]
hmm使ってフルスクリーンで動画再生するとキー入力受け付けなくなるんだけど
どうしようもないですか?

702 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 18:25:39 ID:9S9SQQvC]
256*224の解像度を512*448のウィンドウで2倍表示したいんですが、
directXを使う以外に方法はありませんか?

703 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 01:46:56 ID:Zo18qgQY]
>>702
>>623-624

704 名前:702 mailto:sage [2007/04/17(火) 07:26:05 ID:/o1QDDuz]
>>703
どうもッス。ファミコンぽいアクション作ってて、
gzoomだと透過色が使えないので困ってます。

705 名前:名前は開発中のものです。 [2007/04/17(火) 11:40:10 ID:Lf6HAn0k]
>>704
読み込んだ後にgzoomで他のバッファにコピーしとけばいいだけじゃん
buffer 1
picload dir_exe+"\\sample\\demo\\jp6girl.bmp"
sx=ginfo(12)
sy=ginfo(13)
buffer 2,sx*2,sy*2
gzoom sx*2,sy*2,1,0,0,sx,sy
screen 0,640,480
gcopy 1,0,0,sx,sy/2
gmode 2
pos sx/2,0
gcopy 2,0,0,sx*2,sy

それか、表示用と違うバッファに画面を完成させてから表示用の画面にgzoom


706 名前:名前は開発中のものです。 [2007/04/17(火) 17:21:04 ID:jur7HrQ+]
座標の扱いが違うけどgmode の設定が利くのもある
buffer 1
picload dir_exe+"\\sample\\demo\\jp6girl.bmp"
sx=ginfo(12)
sy=ginfo(13)
gsel 0
gmode 2,sx,sy ;コピー元の画像サイズ
pos 320,240+sy/2 ;画像の中心(gcopy等と違い指定した座標が中心に来る)
grotate 1,0,0,0,sx*2,sy*2

後gsquareってーのもあるけど、大量にコピーするのには向かないかな・・・




707 名前:702 mailto:sage [2007/04/17(火) 18:15:12 ID:vZNpL9Pl]
>>705 >>706
うお、その発想はなかったわ!
どうもありがとうございます。

708 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 22:14:21 ID:bRIENLRO]
最近hsp2.6でhspdxのプラグインを使ったSTG作ってるんだけど
壁に自機弾と敵弾があたると、自機弾と敵弾が消えるようにしてるんだけど
稀に弾がすり抜ける時がある。
これって敵弾と自機弾が同時に壁に衝突した時にすり抜けるのかね?
自機弾のタイプ値2
敵弾のタイプ値8
400は壁のスプライト番号
es_find a,10,a
if a=-1:return
es_check b,a,32,1,400,400
こんな感じなんだけど。
すり抜けないよう対処法を教えて欲しい。

709 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 22:19:51 ID:2AXbs49U]
単に弾の移動量が自機の判定より大きくて抜けちゃってるだけじゃないの?



710 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:06:48 ID:H8BcVo3o]
壁との当たり判定なんてスプライトの判定命令じゃなくて計算でやれ

711 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:19:06 ID:bRIENLRO]
>>709
確かに移動速度も影響あるけど
速度を遅くしてもやっぱり同時に衝突するとすり抜ける。

で、対策を考えたんだけど
単純に衝突のサブルーチンを2つにする事により
2発動時に衝突してもOKになったみたい。
この時点で全くすり抜けなくなった。
サブルーチンを3つにすれば3発同時もOKかな。

712 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:32:40 ID:I7JDTHxT]
>>711
hspdxって使ったことないんだが、そのes_checkって当たってるスプライト1つしか返さないんだな。
自前でやったほうが簡単そうだな

713 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:48:03 ID:bRIENLRO]
es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
少しでも衝突タイミングが違えば問題ないんだけど。
あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
あと俺の使ってるのはhspdxじゃなくてhspfixの間違いでした。


714 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:49:00 ID:2AXbs49U]
>>711
ああすまん、ちゃんと読んでなかった。壁なw

>>712
判定を始めるスプライト番号を指定できるから、ひとつ見つかったら
その番号の後から再検索すれば良い。

715 名前:714 mailto:sage [2007/04/17(火) 23:51:13 ID:2AXbs49U]
自己レス
>判定を始めるスプライト番号を指定できるから
そんなもん無かったw
勘違い

716 名前:名前は開発中のものです。 [2007/04/17(火) 23:52:08 ID:BKWD+g7L]
>>711
つーか一回当たったら判定処理から抜けてるだけじゃねーのか?w

で、使ってるのはhspdxfixだろ?
*sub
es_find a,10,0
if a=-1:return
repeat
es_check a,400,10,1,a
if a=-1:break
消す処理
a++
loop
return

これでいんじゃねーの?


717 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:52:31 ID:M+5M3LEd]
>>708
その3行の前後の処理が分からないけど
出現してる敵・自機弾に、
漏れなく壁接触判定を行き渡らせるのなら
2行目のreturnが実行されるまで、
繰り返し処理をしないといけない。

*hitcheck
es_find a,10,a
if a=-1:return
es_check b,a,32,1,400,400
(bに対する何らかの処理)
goto *hitcheck


つーか、
そのプログラムを組むとしたら

*wallhitcheck
es_check b,a,10,1,400,400
if b<0: return
(bに対する何らかの処理)
goto *wallhitcheck

で済むんじゃないか?

checkのタイプ値32の説明がないから
このままでは不都合あるのかもしれないけど

718 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:54:36 ID:M+5M3LEd]
間違えた。

*wallhitcheck の次の行
es_check b,400,10,1,400,400

だな。

719 名前:名前は開発中のものです。 [2007/04/17(火) 23:55:01 ID:BKWD+g7L]
>>713
やっぱりfixかw

>>715
大丈夫fixだから指定できるw



720 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 23:58:44 ID:bRIENLRO]
1回衝突判定が終ったら弾スプライトに+1してループさせてる。
それでもすり抜ける。

721 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 00:11:22 ID:I6KwsLu+]
>>720
まぁ何だ。

似たような事をやったことあるけど
問題なくDXFIXで衝突判定できてたぞ。

アルゴリズムが悪いか、
>>713の書き込みから明らかだが
なんか大きな勘違いしてるんだろ。


>es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
同じフレームで、続きから走査すれば、同時に衝突した
「スプライト番号が高いほう」のスプライトが見つかりますよ

> あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
> すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
お前は何を言っているんだ。

722 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 00:16:03 ID:7jAYZaBw]
スプライト番号が高いのが優先されるかどうかはどうでもいいから適当に書いた。
すまんかった。
後半の文はちょっとわかり辛かったかな。
まあ大した事無い事なので訂正しなかったけど。
まあまだゲーム製作初めたばっかりだから勘違いしてる所は結構あると思うけど。
とりあえずもう少し勉強してみます。

723 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 00:47:39 ID:7jAYZaBw]
プログラミングよりも日本語や人間としての常識の勉強が必要だったようです。
スレ汚しして申し訳ございませんでした。

724 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 01:04:07 ID:0trzgnV6]
なんだこの展開w

725 名前:716 [2007/04/18(水) 01:22:55 ID:bCYiqmbF]
#include "hspdxfix.as"
es_ini :es_screen 640,480,16,0,1,0:es_cls 0,0,0:buffer 1
picload exedir+"\\sample\\hspdx\\TESTCHR.BMP"
es_buffer 1:es_size 64,64,50,0:es_pat 1,64,64,0:es_set 1,mousex,mousey,1:es_type 1,1
es_pat 2,64*2,64,0:es_pat 3,64*3,64,0:es_pat 4,64*4,0,0:es_set 400,320,200,4:es_type 400,32
gsel 0
repeat
es_boxf 0,0,640,480:es_pos 1,mousex-32,mousey-32
stick stk,$ffff:if (stk>0) and ((cnt\10)=0) {es_new newid,2
if (100>newid) and (newid>0) {es_set newid,mousex,mousey,2:es_adir newid,0,-500:es_type newid,2}}
rnd r,3
repeat (r*((cnt\30)=0))
es_new newid,100:if (200>newid) and (newid>0){rnd x,640:rnd y,100:es_set newid,x,y,3
es_aim newid,320,200,100:es_type newid,8}loop
gosub *sub
es_draw:es_sync 1,-10
await 0
loop
*sub
es_find a,10:if a=-1{return}
repeat:es_check a,400,10,1,a:if a=-1{break}:es_kill a:a++:loop:return

hsp2.61で作ってみたけど擦り抜けなんて起きないぞ?
(最初3.0aの方で作って試したけど問題なかった)
使ってる変数の初期化を忘れてるだけじゃねーのか?

726 名前:名前は開発中のものです。 mailto:ファンより [2007/04/18(水) 04:34:37 ID:zV0payYl]
島根県のみなさん、パチンコをするなら、

  優良パチンコ店 エ○トワン     

に行こう! 遠隔(※1)をやっていないパチンコ店は「エイ○ワン」だけ!
違法ロム(※2)を使っていないパチンコ店も「エイト○ン」だけ!
○イトワンでは、遠隔等が可能な設備は入れていません。 ロムも、警察がチェックしやすくしています。

詳しい方はご存知の通り、どんなにパチンコの遊戯人口が変動しても、その市場規模は変わりません(※3)。
要するに、客が減っても、残った客から絞り盗る量を増やして調整しているのです。
しかし、何故それが可能なのか?…ご理解頂けると思いますが、9割以上の店が確実に遠隔等を行ってます。
1万店以上のパチンコ店の中で、遠隔も違法ロムも確実にやってないのは「○イトワン」ただ1店です!

※1…遠隔とは
 「お、あの客は新顔だな。勝たせて味を占めさせるか。遠隔操作で設定変更しよ」
 「客が減ってきたな。ま、設定を絞めて(違法)、1人あたりから搾る量を増やせばいいか」
 「あのオヤジ負け続けてるからそろそろ辞めるかもな。今日は勝たせてやるか」

※2…違法ロムとは
 「うちのアタリ確率は、もちろん他と同じ『○○○分の1』ですよ!(ロムいじってるからウソだけど)」

※3       市場規模   遊戯人口
 平成06年 30兆4,780億円 2,930万人
 平成08年 30兆0,630億円 2,760万人
 平成10年 28兆0,570億円 1,980万人
 平成12年 28兆6,970億円 2,020万人
 平成14年 29兆2,250億円 2,170万人
 平成16年 29兆4,860億円 1,790万人

727 名前:716 [2007/04/19(木) 17:58:35 ID:D0ENsgxE]
おーい>>723
プラグインのバグなのか
スクリプト側ののバグなのか
環境依存の問題なのか
はっきりさせろよ……

hspdxfixに濡れ衣を着せたかもしれないのに
無視か?

728 名前:名前は開発中のものです。 [2007/04/21(土) 07:42:36 ID:2BG2s3w3]
3.1b9公開。圧縮状態で7.5MBか。昔に比べるとずいぶん太った
気がするけど、プログラミング環境としてはまだ全然小さいんだよね。
今ではActiveBasicよりはでかいみたいだけど、使いではHSPが
圧勝だし。

729 名前:名前は開発中のものです。 [2007/04/21(土) 08:13:40 ID:2bdLwNha]
沖縄県の方へ(命に関わる注意事項です)

沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…

※一国二制度
 簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
 (つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
 さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
 3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
 そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。



730 名前:名前は開発中のものです。 mailto:sage [2007/04/21(土) 14:09:04 ID:LM8tnE4F]
>>728
いまどき大きさなんか関係あるか?

731 名前:名前は開発中のものです。 mailto:sage [2007/04/21(土) 15:30:40 ID:gdpZ03+g]
昭和から来たんだよ彼はw

732 名前:名前は開発中のものです。 mailto:sage [2007/04/21(土) 16:59:16 ID:laYGd4sA]
JAVAみたく500MBとかじゃないからいいよ
HSPはプラグインとサンプル豊富だから助かる



733 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 10:49:51 ID:GAHMA1wL]
hspでデータ圧縮じゃなくて文字列圧縮できる?
出来れば、可逆でメモリーに保存したいのです

zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ

734 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 12:54:13 ID:JwKt5lan]
4倍使うの意味が分からんが、平文を分割してから圧縮すればええんちゃう?
超巨大な文字列を圧縮する時に、必要なmallocがでかいとかそんな意味ならば。

735 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 13:34:52 ID:GAHMA1wL]
>>734
4倍ってのは圧縮作業の為の展開エラー対策だと思うんだ・・・
圧縮されたデータを復元するにしてもどうやってるのか分からない

zlibはHSPでは使えないのかな

736 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 14:10:18 ID:xdLPXb3/]
ttp://mia.taillove.jp/

737 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:14:13 ID:GAHMA1wL]
>>736
メモリー内圧縮使ったことありますか?
そこで止まってます。

738 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:33:16 ID:xdLPXb3/]
ボクちゃん、test_mem.as 読める?

739 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:36:02 ID:JwKt5lan]
「メモリー内圧縮」って何か特別な意味(言葉)なん?
分割して圧縮処理じゃダメなんか?



740 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:52:31 ID:GAHMA1wL]
>>738
読めますよ
実行して出来たデータ配列が元より大きいのは圧縮失敗じゃないんですか?

741 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:01:02 ID:xdLPXb3/]
>>740
/* おまえは何を言っているんだ? */
#include "z.as"
#const DATASIZE 3000
#define AHO(%1,%2,%3,%4) color %2,%3,%4:mes %1:color 0,0,0
sdim rdata, DATASIZE
sdim cdata, DATASIZE
sdim udata, DATASIZE
rdata={"hspでデータ圧縮じゃなくて文字列圧縮できる?
出来れば、可逆でメモリーに保存したいのです\n
zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ"}
rsize=strlen(rdata)
mes ">元データ:":AHO rdata,0,0,255:mes strf(">サイズ:%d",rsize)
/* 圧縮 */
zSetDest cdata, rsize;DATASIZE
zCompress rdata, rsize,3;DATASIZE, 3
csize = stat
mes "\n\n>圧縮データ:":AHO cdata,255,0,0
mes strf(">サイズ %d バイト",csize)+strf("圧縮率 %d",writesize * 100 / rsize)
/* 解凍 */
zSetDest udata, DATASIZE
zUncompress cdata, DATASIZE:usize=stat
mes "\n\n>解凍データ" : AHO udata,0,200,0:erf=0
mes strf(">サイズ %d バイト",usize)
/* 比較 */
mes ">元のデータと比較" : erf=0;:poke udata,12,32
repeat DATASIZE
r=peek(rdata,cnt):u=peek(udata,cnt)
if ( r ! u ) { mes strf(">不一致@ %d文字目:",cnt)+strf("元[%c]",r)+strf(" ! 解凍[%c]",u):erf=1 }
loop
if erf=0 : mes ">相違点はありません"
stop

742 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:01:19 ID:JwKt5lan]
>>740
すでに圧縮されているデータは、それ以上小さくするのはほとんど無理
というかヘッダとかで増えるぞ?

つーか、使い方が間違ってんじゃねーの?

743 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:06:52 ID:xdLPXb3/]
自分には不手際がないと信じて疑わない
身の程知らずなボクちゃんの、挑発的な発言に、
ちょっと血がのぼってミスしちまったぜ。反省。

圧縮率表示のとこ、間違い。
strf("圧縮率 %d",writesize * 100 / rsize)

strf("圧縮率 %d",csize * 100 / rsize)

744 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:11:45 ID:GAHMA1wL]
いや圧縮自体はできるんですが・・・
ややこしいので解決でいいです

745 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:18:28 ID:JwKt5lan]
上手く説明ができなきゃ、上手く理解もできんて。

746 名前:名前は開発中のものです。 [2007/04/22(日) 16:54:06 ID:hYUKyQue]
>>740
>stat は圧縮後のサイズです。
>書き込み先のメモリが足りないなどでエラーが発生した場合は、
>stat=0 となります。
なぁ、これをどんな解釈したんだ?
配列は拡張されないからもとより大きくなんてならねーぞ
お前配列サイズを勘違いしてねーか?
dimで確保したのは1要素4バイトだぞ?
どこにも圧縮元より大きい作業領域が必要なんて書いてねーだろ
バッファが足り無きゃstat=0になるって書いてあるだろボケ


747 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 17:07:14 ID:xdLPXb3/]
元データサイズが小さいから、効果が分かりにくいと思って
741のスクリプトをまた少し変えて
同じ文字列を100個連結させたもの(15000byte)に対する操作を試してみたが。
圧縮したら、297byte(圧縮率 2% 弱)にまでなった。
同じデータの繰り返しだからってのもあるかもしらんが。

いやぁ、zlib初めて使ったけど、けっこう強力だな。^^

(精神衛生上 よろしくないので、ボクちゃんの事を考えるのはやめた。)

748 名前:名前は開発中のものです。 [2007/04/22(日) 17:44:41 ID:rmOxLuM6]
サンプルにある
dim cdata, DATASIZE
zSetDest cdata, DATASIZE*4
ってーのを見て、4倍必要とか思い込んだんだろうな
dim cdata, DATASIZEのメモリサイズがDATASIZE*4なのにねぇ

なんで741のを見て分からないんだろう・・・



749 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 00:12:53 ID:4Rf7CIdU]
HSP2.62とHSPDXFIXEDのプラグインを使ってゲームを作ってるんですけど
たまにキャラや背景の色が反転してしまう時があります。
毎回ではなくてたまになんです。
何か原因があるんでしょうか?



750 名前:749 mailto:sage [2007/04/23(月) 00:25:34 ID:4Rf7CIdU]
画像ファイルはBMPです。
あとパレットモードで236色にしています。
どうもプログラムが長くなってきてから色がおかしくなる頻度が高くなってきている気がします。
それとawaitの数値が多少影響してるようにも思えるんですけど。

751 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 00:30:08 ID:3Fv7BgL3]
はっきり言ってそんなんじゃ判らんw
プログラム自体を分割して問題部分の切り分けをすべし。

752 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 00:40:06 ID:vbt0vmPJ]
>>749
HSP2.62とかHSPDXFIXEDとか、聞きなれない名前なのが気になるが。

「色が反転」という症状を聞いて、最初に思い浮かぶのは
ブレンドファクターに、ESB_NEGATIVEが指定されているんじゃないか?
ということだが。

「D3Dスプライト機能を使ってない」 とか断言してしまうなら、知らん。

753 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 00:41:23 ID:gvRd6xEU]
BMPのパレットが揃ってないとか


754 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 01:00:19 ID:4Rf7CIdU]
毎回色がバグるのなら原因究明もラクだと思うんですけど
稀にしか起こらない現象だから原因を探すのが難しいんですよ。
デスクトップの解像度とか関係あるのかな?
あと3Dは使ってないです。

755 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 01:15:33 ID:gvRd6xEU]
めんどくさいからハイカラーかフルカラーで作れ。

756 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 01:43:12 ID:3Fv7BgL3]
ああ、そうだな。。
なんでパレットモードなんか使ってんだ。
パレチェンしたいなら別の画像持てば良いじゃない。

757 名前:名前は開発中のものです。 [2007/04/23(月) 04:04:26 ID:I+xnwNF2]
流れ切って申し訳ない
モジュールで大きい文字列を返すといきなり落ちるんだけどなぜでしょうか?
2048byteを超えたあたりでエラーになって、それよりはるかに大きいと落ちる。

例えば、

#module
#defcfunc hana str mogera
return mogera
#global
a = "なんかでかい文字列・・・・"
mes hana(a)

↑これである程度大きな文字列で落ちる
でも、

#module
#defcfunc hana str mogera
mes mogera
b = strlen(mogera)
return b
#global
a = "なんかでかい文字列・・・・"
mes hana(a)

これだと落ちない。
なぜなんでしょうか。


758 名前:名前は開発中のものです。 [2007/04/23(月) 04:38:01 ID:nyr50uuI]
>>757
hsp3.0aでやったけどエラーも落ちることも無いぞ?
環境書け

759 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 09:47:55 ID:HhfYCboy]
HSP ver3.1β8です
上の例だと落ちないけど、aの値が大きくなると落ちます。

実際に落ちるスクリプトを書きます。
j=509だと落ちないけど、j=510だと落ちます。
さらに、j=510以上でも return b とするとおちません。

j = 509
#module
#defcfunc hana str mogera
b = strlen(mogera) : return mogera
#global
sdim a,j*4+1
repeat j
b = strf("%04d",cnt) : poke a,i,b : i += strsize
loop
mes str(i) + "\n" + hana(a)


どうやって回避すればいいのでしょうか。




760 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 11:47:41 ID:lQ85Pfj4]
>759
758じゃないけど、俺のとこでも試してみたらj=510では落ちなかった。
ウチの環境だとj=10000までOK。

761 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 11:52:32 ID:lQ85Pfj4]
>759
バッファオーバーフローが原因なので、なにか計算間違いがあるのかも。
sdimで指定する値を必要な分だけ大きくすれば大丈夫なのでは?

762 名前:名前は開発中のものです。 [2007/04/23(月) 15:28:03 ID:ExoMwemo]
>>760
それはエラーが起きてる場所が違くないか?w

>>759
β版使ってるなら最初に言えよ・・・

ver3.1β8で起きてる問題で3.0aではエラーは出無かった
β8はモジュール関係で色々不具合が出てるみたいだから
3.1b9 を試してみたら?

ダメだったら
●HSPWiKi HSP3バグトラッッキングシステム
にでも挙げとけば修正されるだろう

763 名前:名前は開発中のものです。 [2007/04/23(月) 15:34:21 ID:ExoMwemo]
>3.1b9 を試してみたら?
自分で試した方が早そうだから試したらエラー出無かったよ

>struct型の配列終了処理でエラーが発生することがある不具合を修正。(HSPBT#144)
これ関連のバグだったのかな・・・


764 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 20:51:29 ID:iPysckQP]
β8の不具合ということなので、β9を落としてみた
結果はかわらず。さっぱりわかりません。

試しにHSPのあるフォルダの
hsed3le.exe というのを起動させて>>759をコピペして実行してみると
j = 10001 以上でエラーとなった
「Error20 in line8 バッファオーバーフロー」

そこで、sdim a,j*5+1 、 b = strf("%05d",cnt) とやると
エラーはなくなる。当然・・・なのかな。

同様に hsed3.exe でやってみると j=510 以上でエラー。
でもこちらは「error1 in line11(???) システムエラー」とのこと


一応PCのスペックは
winXP home , Athlon64 3200+ , メモリ1G

もうお手上げだが、エラーは起こらないって人の方が多数なので
びっくりするほどの初歩的ミスを犯していないか心配になってきた


765 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 21:11:10 ID:oSeQHQqW]
俺がそのトラブルに当たったときは、ああまたHSPのバグかと思って
変数渡しのコードに変更したよ

766 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 22:53:07 ID:QLdFJFVh]
とりあえず>>759は、

sdim a,j*4+1
b = strf("%04d",cnt) : poke a,i,b : i += strsize

jが5桁になると、bも5文字になるのでエラーになるのは当たり前だな。

767 名前:名前は開発中のものです。 [2007/04/23(月) 23:26:32 ID:80wwsZlh]
>>764
原因を突き止めたかもしれない
デバッグウィンドウ表示させてないか?
3.0aでもDBウィンドウ表示させてるとエラーが出た
表示を切ればj=50000とかでも3.1b8でエラーが出ない
どうだ?

これが原因なら バグトラッッキング に行ってら

>j = 10001 以上でエラーとなった
これは766が言ってる通り
だから762で突っ込み入れといたのに・・・

768 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 00:12:44 ID:BuNmsmYs]
>>767
それが正解のようでした
デバッグウィンドウを表示させないとエラーは出なかった

5桁のほうは、単純な問題でしたね。

バグトラッキングがよくわからないけど
報告する場所があるのかな。

とにかくありがとう。
置換用のモジュール作るのに2048byte縛りはあまりにもきつかったから助かったよ

769 名前:名前は開発中のものです。 [2007/04/24(火) 00:18:59 ID:QtkXlejF]
>>768
β版がアップされてるページの下のほうに
バグ報告用のページがリンクされてる




770 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 14:26:48 ID:QrQgTR4I]
まだッが一個多いままなのかw

771 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 17:02:41 ID:xgJkhdwr]
今はじめて気づいたw

772 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 20:11:32 ID:9drbfLn6]
気合を入れて発音しているだけですので仕様です。
修正予定はありません。

773 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 21:55:10 ID:Nf3/8HfV]
〜ッッ

774 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 23:16:37 ID:9drbfLn6]
もっとッ

「───ッッ!!」

って感じで。恋人や家族を殺された主人公が敵と対峙したときのような、
声にならない怒りと憎しみの表現だよ。日本語ってすごいよね

775 名前:名前は開発中のものです。 mailto:sage [2007/04/24(火) 23:42:34 ID:uJIuySMN]
ジョジョだな

776 名前:名前は開発中のものです。 [2007/04/25(水) 11:17:31 ID:cNm9Fqt7]
ファイナルファンタジーってこれで作ってんの?

777 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 12:29:42 ID:a5AmdZFY]
              ,、-―-、
             丿   <`)       __
        ,、- ''' "二ヽ_(ヽ'`(二ニ・    |   \_
        /  、     !__'、_┌´     │   / `' ー┐
     /     ヽ   |   `         |   |     |
   ___ |    ヾ__|   |   _,、r‐'',ニ=-  |  /  _,、-‐'゙
 _| '、|    ミ/ ゙、  |_,∠-''´ ̄`'ー、   ̄|-''" |
 \|.  |     l___l     / ̄ヾ`´`   | ̄ ̄ ̄`'''iー、
.  |/゙|    ̄   ヽ_,、-''´`ヽ _,、,、,、,、_|______|_
  |  ( ´         ,、- ''゙  丿 ヾ二二二二二二二二二|ニ!
  ヽ<二二二二二>~/ / /   └‐┬─‐────┬┘
      フ,||,     / / /      │        │
      ''´ | |   _ノ  /.          │        │
.        | |   >/ ./         │        │

778 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 13:36:22 ID:PyhPVqEN]
また音楽の話で悪いけど、ゲームでwav,midi共に音量をコントロールしようと思って
今はプラグイン二つの併用か、MCIでmpegvideoにしてやる方法の二つを試してる。

音量のためだけにプラグイン二つも使いたくないし
mpegvideoはME以前では入っていないかもしれないので
どうしようか悩んでいるのだけど

なんかいい手は無いですかね

779 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 17:28:05 ID:pHry1m7d]
今時midiなんぞ使うのか
どうせ作曲者の意図どおりに鳴らないし
全部オーディオデータで統一したほうがよくね



780 名前:名前は開発中のものです。 [2007/04/25(水) 19:09:46 ID:ZMrMyasg]

( ´,_ゝ`)プッ
   ⊂彡☆))Д´) >>776
     パチーン!!

781 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 19:20:11 ID:fK/xi7te]
>>776
常識過ぎてみんなあきれてるぞ。クレジットにそう書いてあっただろ

782 名前:名前は開発中のものです。 [2007/04/25(水) 19:58:49 ID:vIB2Tzgo]
市販ゲの殆んどがHSPだよな。
たまにツクールも見るが。

783 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 20:52:13 ID:VYJu+Wqs]
Vistaは余りにも有名

784 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 21:06:01 ID:fK/xi7te]
ああ、Vistaはちょっと泣いちまったよ。
もと宿敵だったアーロンをかばってキースが特攻したシーンなんか、ヤバかったな。
ていうか演出があざと過ぎ

785 名前:名前は開発中のものです。 [2007/04/25(水) 21:38:59 ID:jZG+4jJU]
>>784
OS

786 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 22:18:50 ID:fK/xi7te]
>>785
魔法使いだな。

787 名前:名前は開発中のものです。 mailto:sage [2007/04/25(水) 23:06:53 ID:4DX9ZUzz]
オス! おらビスタ!

788 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 16:20:50 ID:u0xY1+V8]
冥王星に代わっておしおきよ!

789 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 18:16:57 ID:hUYx8S1F]
>>788
職務怠慢を理由に左遷され当時の上司を逆恨みし、復讐の機会を狙ってるんだっけ



790 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 20:18:33 ID:2xt9h9SY]
sgtって、Directsoundでソフト音源で鳴らすから環境依存にならないらしいんだけど、
負荷高いのかな?oggとどっちにしようか迷ってるんだけど、どうですか?

791 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 20:28:32 ID:vjdyL8/F]
sgtって何

792 名前:名前は開発中のものです。 [2007/04/26(木) 23:15:40 ID:by3e610C]
hspのアイコンってコーフィーカップみたいだけど
ジャワのパクリなの?

793 名前:名前は開発中のものです。 mailto:sage [2007/04/26(木) 23:31:56 ID:gBmqOl1c]
ホットスープだからじゃね?

794 名前:名前は開発中のものです。 [2007/04/27(金) 00:02:59 ID:egFvpP+c]
ホット"スープ"プロセッサ
スープカップ
スープポット

javaのコーヒーカップは"ジャワ"コーヒーから?

795 名前:名前は開発中のものです。 [2007/04/27(金) 08:30:28 ID:WUq5gpdx]
Javaは“ジャバ”コーヒーから

796 名前:名前は開発中のものです。 [2007/04/27(金) 14:58:30 ID:egFvpP+c]
"Java coffee" の検索結果 約 305,000 件
"ジャワコーヒー" の検索結果 約 2,300 件
"ジャバコーヒー" の検索結果 約 622 件

797 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 00:20:12 ID:daus4mQk]
今HSP3でシューティングを作ってる。
弾等を制御する際、モジュールでやってみたいんだけど、複数種類の弾や敵を各1つの配列でまとめる事って出来ない?
たとえば弾aとbがあって

#module a x,y,vx,vy
#modinit int cx,int cy

return
#modfunc amove

return
#global

#module b x,y,bcnt
#modinit int cx,int cy

return
#modfunc bmove

return
#global

dimtype shotmod,vartype("struct"),32
newmod shotmod,a,cx,cy
newmod shotmod,b,cx,cy

ってやってforeachで回したとき、どうやったらaはamoveで、bはbmoveで処理するように出来るの?
一種類の弾ならサンプルスクリプトの方法で出来るんだけど…

798 名前:名前は開発中のものです。 [2007/04/28(土) 07:22:58 ID:WZUrEfmt]
自分で処理を分けるしかない(モジュールを2段にしてタイプ識別用と各種データ用で分ければ楽かな)
#module a x,y,vx,vy,anmcnt
#modinit double cx,double cy
x=cx:y=cy:r=atan(mx@-x,my@-y):vx=sin(r)*5:vy=cos(r)*5:anmcnt=0:return
#modfunc amove
if abs(320-x)>330 or abs(240-y)>250{return -1}
anmcnt++:x+vx:y+vy:pos x-16,y-16:gcopy 1,((anmcnt/10)\5)*32,0:return 0
#global
#module b x,y,r,bcnt,anmcnt
#modinit int cx,int cy
x=cx:y=cy:bcnt=0:anmcnt=0:r=0.0:return
#modfunc bmove
if abs(320-x)>330 or abs(240-y)>250{return -1}
bcnt++:if bcnt<200{r=atan(mx@-x,my@-y)}
anmcnt++:x+=sin(r)*5:y+=cos(r)*5:pos x-16,y-16:gcopy 1,((anmcnt/5)\5)*32,32:return 0
#global
#module set type
#modinit int t,int cx,int cy
type=t:if t=0{newmod shot,a,cx,cy}else{newmod shot,b,cx,cy}:return
#modfunc move int no
if type=0{amove shot(no)}else{bmove shot(no)}
if stat=-1 {delmod shot(no)}:return stat
#global
buffer 1:color:boxf
repeat 5:color ,255:siz=5+(cnt)*(cnt<2)+(1-cnt)*(cnt>1):circle 16+cnt*32-siz,16-siz,16+cnt*32+siz,16+siz
color 255::circle 16+cnt*32-siz,16-siz+32,16+cnt*32+siz,16+siz+32:loop::gsel 0
dimtype shotmod,vartype("struct"),32
repeat:redraw 0:color:boxf:title str(max):mx=mousex:my=mousey:gmode 2,32,32:max=0
foreach shotmod:move shotmod(cnt),cnt:if stat=-1 {delmod shotmod(cnt)}:max++:loop
if max<32 and rnd(50)<5{cx=320+200-rnd(400):newmod shotmod,set,(rnd(5)<2),cx,cy}
redraw 1:await 10:loop
モジュール型変数の新しく追加された要素か次に使われる要素が簡単に分かれば配列で簡単に出来るけど・・・(空いてるところを探すか空いたところを記憶してソートするしかない?)

799 名前:名前は開発中のものです。 [2007/04/28(土) 10:12:45 ID:hldoJq+Y]
文字が多くなって文字が画面からはみ出たときは
自動でスクロールバーが表示されるようにするにはどうすればいいの?



800 名前:名前は開発中のものです。 mailto:sage [2007/04/28(土) 15:25:23 ID:FrIkuCPn]
>>799
mesboxで横スクロールバー付きエディットボックス

801 名前:名前は開発中のものです。 mailto:sage [2007/04/30(月) 01:10:28 ID:b3vJoRK1]
HSP2.6なんだけど
例えば画面内に敵キャラが100体居るとします。
主人公がそのうちの1体だけをランダムに攻撃した時に
その1体のスプライト番号を取得するにはどうすればいいですか?

802 名前:名前は開発中のものです。 [2007/04/30(月) 01:39:21 ID:amrAC7iW]
そのスプライトは何で表示してんだ?
HSP自身にはスプライト機能は無いぞ

803 名前:名前は開発中のものです。 mailto:sage [2007/04/30(月) 13:43:16 ID:fcI/zZT6]
自分で配列に素プレイと番号を保存して管理したほうが早いだろ

804 名前:名前は開発中のものです。 mailto:sage [2007/05/01(火) 00:27:14 ID:Zg8bJwrH]
【バージョン】HSP3.0
キャラクタデータの記述された設定ファイルを作って、
そこから数値を読み込めるようにするにはどうすれば良いのでしょうか?
例えば、chara.cfgというファイルを作ってその中に、
HP=500と言う文字列を入力しておくと、
mes "HP="+HP+"/500"とした時にHP=500/500と表示されるように・・するみたいな。
要するに外部ファイルから数値を読み込むにはどうすれば良いのでしょうか?

805 名前:名前は開発中のものです。 [2007/05/01(火) 01:20:55 ID:82VWC4K+]
/*
NAME=名無し
HP=500
MP=50
の内容で chara.cfg を作ったとして
*/

fname="chara.cfg"
notesel loadat ;メモリノートパッド命令のバッファに設定
exist fname
if strsize<=0 : end
noteload fname
sdim temp,1024
repeat noteinfo(0) ;読み込まれた行数分ループ
noteget temp,cnt
getstr key,temp,0,'='
if '=' not stat {continue } ; = が無かったので、この行を飛ばす
getstr strdat,temp,strsize,0
if "NAME"=key {NAME=strdat}
if "HP"=key {HP=int(strdat)}
if "MP"=key {MP=int(strdat)}
loop
mes "NAME="+NAME
mes "HP="+HP+"/500"
mes "MP="+MP+"/50"

処理速度は無視してるけど一回で何千とか処理するんじゃ無ければ大丈夫だろう
つーか、これぐらいその辺に転がってるだろ・・・

806 名前:名前は開発中のものです。 mailto:sage [2007/05/01(火) 01:39:35 ID:Zg8bJwrH]
>>805
ありがとうございました。
講座を検索したりしたのですが、hsp3以前向けだったり、iniだけだったりしたので
どうも解決出来ませんでした。調べが足りず、申し訳ありません。
今後はなるべく自力で何とかしようと思います。お手数をおかけしました。

807 名前:名前は開発中のものです。 [2007/05/01(火) 02:12:43 ID:82VWC4K+]
>>806
ヘルプで必要になるだろう単語を入れて命令を絞って
それを使ってネット検索すれば誰でも使いそうな事は見つかるよ

今回のだと 文字列操作 とか テキスト で出てくる命令を使えば色々出てきたと思う

808 名前:名前は開発中のものです。 [2007/05/01(火) 13:21:29 ID:Fn3EPEPt]
ツールを作っている所で、つまずいてしまいました。質問させてください。

メインウィンドウにリストボックスか、コンボボックスが、あるとして、
そのどちらかに、フォーカスを合わせた後、ボックス以外の所をクリックしても、
マウスホイールの移動量(mousew)の取得が、出来なくなってしまいす。

ボタンをクリックすると、取得出来るようになりましたが、わざわざボタンを用いずに
mousewを取得することはできないでしょうか?

809 名前:名前は開発中のものです。 mailto:sage [2007/05/01(火) 17:12:27 ID:S/wjR4mW]
>>798
モジュール型変数を二個使うとは思いつかんかった
亀ながらd!



810 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 08:39:23 ID:Tyg11Emh]
>講座を検索したりしたのですが、hsp3以前向けだったり
HSPVer2.6で講座作ってた奴は、Ver3が出た時にあったま来ただろうな。「ぬおお、おに
たままで俺の努力を台無しにするのか!ちくしょー!どいつもこいつも俺の努力を踏み
にじりやがって!そんなに俺のやることなすこと全部無駄にしたいのか!そんなに俺を
役立たずにしたいのくわぁぁぁぁ!」って。
俺もだけどな。

811 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 09:29:25 ID:da3SoYqw]
大丈夫。
重要なのはソースではなく概念、アルゴリズムだから。

812 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 15:27:01 ID:EySZ2yOg]
概念だったら別の言語でもよいわけで
HSPに依存する細かい使用の部分ってことでしょう

813 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 18:06:48 ID:iDXhpPSB]
>>810
ま、三角関数や平方根を自前で計算するような無駄な努力も
必要なくなったってことで、先を見ればいいことではある

814 名前:俺8(二代目) ◆fSWXoEZVTE mailto:sage [2007/05/02(水) 20:55:37 ID:t0LZt7tH]
あぷろだの件ですが、 @wikiの系列ぽい所で@pagesがあります。
容量1GB(1ファイルあたりのサイズ上限はなし。ただし1MB超えると送信速度が落ちる)
PHPが使えるのでpukiを設置してみる、とかはどうでしょう。
問題あったら指摘よろしく。

815 名前:俺8(二代目) ◆fSWXoEZVTE mailto:sage [2007/05/02(水) 20:56:17 ID:t0LZt7tH]
すみません、誤爆しますた。

816 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 21:27:35 ID:rOvofM6X]
ゆるす

817 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 23:26:45 ID:TgBlF1Ug]
ゆるさん

818 名前:名前は開発中のものです。 mailto:sage [2007/05/02(水) 23:45:48 ID:RTrLrXoW]
HSP3系の講座が少ないのは、
みんな、HSPに飽きてきた可能性もある?


819 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 00:09:04 ID:AtM1JTCE]
>>818
HSP3とHSP2たいして変わらないから
あと付属リファレンスが充実したから



820 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 11:54:57 ID:m3dHlTBm]
>>819
まあそれでも誰も付属のリファレンスなんか見ていないんだがな
本家BBSで質問してくる香具師は少しは調べろつーの

821 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 15:44:01 ID:ysyR2/y+]
ちょっと聞いただけで奇特なひとにサンプルを作って貰えるのが
HSP最大の売りだからな

822 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 21:15:47 ID:dXmWF+4T]
元々ゲーム作りに詳しい講座は少ないような気がする。

823 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 23:03:18 ID:kPqmtDgq]
HSP2.6とHSPDXFIXでSTGを作ってるんだけど
自機の斜め移動速度を縦横と同じ速さにする方法がよく解りません。
横移動 x+4
縦移動 y+4
斜め移動 x+3:y+3
位にすると大体同じくらいの速さになるけど。
でもコレだと速すぎる。
横と縦の移動量を2くらいにしたいんだけど
そうすると斜めの移動量はどうなるんでしょうか?



824 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 23:21:41 ID:7TvtNXkU]
そういうのは数学の知識が要る。
三角関数でググれ。

825 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 23:26:36 ID:tLhZ5Q0K]
あと、内部で保持する座標は画面表示と1:1の座標じゃなく、
小数を保持するために10倍・100倍の整数か浮動小数点を使え。

826 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 23:40:01 ID:s69yTu18]
>>823
最も単純な方法は…

;acnt 現在までのトータルフレーム数
if acnt&1 :x+=1 :y+=1 :else :x+2 : y+=2
つまり、1フレームごとに加算する量を変えるというワケ
これだと10フレームで15ドット移動する。

if acnt&1|(acnt\5=0) :x+=1 :y+=1 :else :x+2 : y+=2
これだと10フレームで14ドット移動する。
( 1,1,2,1,2,1,1,2,1,2 )


座標を256倍で扱うという方法もある。こっちをオススメする。
実際の位置指定時には>>8する。

x+=362 :y+=362    ;256で1ドット相当
pos x>>8,y>>8

827 名前:名前は開発中のものです。 mailto:sage [2007/05/03(木) 23:48:21 ID:kPqmtDgq]
>>824-826
どうも有難うございます。
とりあえず浮動小数点ってのが今の自分にはすぐに理解するのが難しいかなぁと思いますんで
>>826さんの方法でやってみたいと思います。

828 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 05:01:12 ID:N4dI25+p]
いやそんなもん三角関数使って計算しろよ…

縦横に移動した時の移動量が1なら
斜めに移動した時の移動量は0.707106781186547

829 名前:名前は開発中のものです。 mailto:sage [2007/05/04(金) 05:03:26 ID:N4dI25+p]
ごめん2.6ってのを見落としてた



830 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 01:09:39 ID:Uyq9GLST]
HSPでゲームを作ってるんだけど
作ったヤツをウェブサイトで公開したい訳ですが
フォントをMSゴシックにしてゲームに表示させても
フォントの著作権とか問題ないんですか?

831 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 02:18:48 ID:B/mb8Q1D]
>>830
ない。
と言うか、フォント内蔵の場合なら(厳密には)問題あるが、単にOSのフォントを呼び出す分には全く問題ない。
ユーザーの環境に指定のフォントが入ってなければ、表示が想定通りに行かなくなるだけだし。
どこぞの拾い物フォントを勝手に内蔵して使う分には、それぞれのフォントの許認可条件に従うこと。

まあ、基本的に、フォントをフォントそのものとして内蔵し、フォントとして使用できる形で公開しない限り、
無問題と考えて大丈夫。メチャ本格的に、大規模な商利用する場合はまた別だが、まあ気にすんな。

832 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 20:03:12 ID:KYFqszNb]
>>831
ということは、フォントテーブルを持ったゲームやフォントを埋め込んだPDF,
フォントを使った画像ファイルにフォントのアウトラインが誰からも見られる紙の
印刷物は問題なの?

フォントって特殊な立場だな。

833 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 20:20:16 ID:jNjPNdHX]
フォントの利用規約による

834 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 21:49:47 ID:pmbXnqyF]
「12歳からはじめるHSPゲームプログラミング」という本を見ながらじゃんけんゲームを作成しているのですが、
以下のソースを実行すると"#Error 18 in 6 (janken.hsp) -->代入できない変数名を指定しています"と出て、正常に実行されません。


randomize
buffer 1,,,1
picload "janken.bmp"

screen 0,320,260,1
gmode 2

*hazime
rnd R,3
pos 30,0 : gcopy 1,0,0,200,180
pos 30,70 : gcopy 1,200+(80*R),0,80,90
wait 50
goto *hazime


何かおかしな部分がありますか?
本はHSP2を対象に書かれていて、現在使用しているのはHSP3なので、そこらへんが問題だと思うのですが、いかがでしょうか?

835 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 21:52:15 ID:Foh+9yi0]
rnd R,3

R = rnd(3)


836 名前:名前は開発中のものです。 mailto:sage [2007/05/07(月) 22:02:25 ID:B/mb8Q1D]
>>832
まあ結局>>833の言うとおりなんだけどな。

生ttfをゲームに同梱して配布するのはかなりやばい。
内部にBMP化してフォントを内蔵するのも、それなりにやばい。
一枚絵の中に文字が入っている、程度ならあまりやばくない。

また、大抵の場合、フォントを内蔵したワープロソフトみたいな
「フォントを"フォント"として取り扱う形態で配布」すると問題が大きくなる。
(注:ゲームには無関係のように見えるが、よくある「名前を入力する」部分が
ワープロ的だと見なされる場合がある)

やばいなと思うなら、フォントを内蔵せず、OSのフォントを呼び出すだけにしておいたら安全確実。
一枚絵の中に文字が含まれている、程度ならまあ大丈夫。
何万と売りさばく事が前提なら、何れにしろきちんとライセンスを取っておくこと。

837 名前:名前は開発中のものです。 [2007/05/07(月) 22:03:17 ID:PZ9SZ2Mt]
>rnd R,3

R=rnd(3)

HSP2の頃のサンプルを使うなら
HSPエディタの有るフォルダに index.htmってのがあるから
その中の

・以前のバージョンからの変更点(アップデートガイド) (update.htm)

これを一度見といた方がいい


838 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 05:43:06 ID:vruKdlwD]
クォータービューのACTやSTGの、当たり判定は矩形のまま行っているの?
それとも、クォータービュー用(?)定番アルゴリズムとか、あるんでしょうか

839 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 10:53:15 ID:8GDuzc4l]
別に矩形で良いんじゃないの
何か問題?



840 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 16:45:06 ID:GV3ApysF]
>>835
>>837
これでやっと先に進めます!
アップデートガイドの存在には気がつきませんでした。
今後は活用したいと思います。
ありがとうございました。

841 名前:名前は開発中のものです。 mailto:sage [2007/05/08(火) 23:45:41 ID:tONREbU4]
関数タイプになって
pos rnd(639) , rnd(479)
みたいな記述ができて楽になった

gcopy 1,200+(80*rnd(3)),0,80,90

842 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 20:52:30 ID:VSNS2raa]
HGIMG3のモデル領域は開放できない?
オブジェクト領域はできるらしいんだけど エロイ人ご教授ください

843 名前:名前は開発中のものです。 mailto:sage [2007/05/09(水) 23:53:51 ID:07ufZ3sL]
>>838
クォータービュー用定番アルゴリズムなんてものはない!ゲ製作はいまだに職人
の世界だっ!師匠の指裁きや筆遣いや寿司ネタの握り方を見て技術を盗むんだよ。
定番のアルゴリズムは講座や本読めば買いてあるだろう。しかしクォータービュー
だとか、ちょっと凝ったやつになるとどうだ。ブツを見てどんなアルゴリズムなんだろう
な〜と想像するしかない。ブラックボックスってやつだね。でもゲ製作ってそういう
もんじゃね?ゲーム見て「これってどうやったらできるんだろう」って思う。そしてその
方法を考える。「ああこうやればできるや」って思えば技術の向上だ。
俺くらいの中級者になるとざっと考えるだけでこんだけ出てくるぜ。
>>839に同じ。矩形。
・円ならもうちょっとマシなんじゃないか。
・ひし型の当たり判定その1。三角形2つと四角形1つに分ける。三角形は斜めに
 なった四角形の判定でできる。
・ひし型ってのは長方形が上に行けば行くほど右にずれてるってことだ。そこから
 導かれる計算式は?
・計算的にはまっすぐなスクロール。表示する時だけ斜めにする。

844 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 00:20:36 ID:2z4zuSSr]
つーか、クオータービューとか関係なく、辺り判定したいキャラの形が問題なんじゃね?

845 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 00:34:29 ID:J9txepzh]
よっぽど巨大で複雑怪奇な形でもない限り矩形で問題ないが

846 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 04:35:42 ID:U2vxhvV7]
えー?
ていうか、クォータービューって単に表示上斜めってなってるだけだから
内部処理では普通のSTG等と同じ事やってて、
表示だけ斜めにするんじゃねーの?

847 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 06:59:01 ID:+xzQXwZO]
いや、その理屈は正しい

848 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 14:06:21 ID:IknmfbEQ]
あ?
3Dでやるの?

849 名前:名前は開発中のものです。 [2007/05/10(木) 21:03:24 ID:tEu0m8/u]
質問なんですがゲームで2人対戦を作るとき、
キーボードを二つパソコンにつないで同じボタンを押しても
1Pが押したのか2Pが押したのか分かるやりかたを教えてください。
お願いしますm(__)m




850 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 21:54:52 ID:J9txepzh]
それは無理だろ

851 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 22:00:18 ID:Pb7a8JUW]
環境がSFCなら出来るんじゃね?

852 名前:名前は開発中のものです。 mailto:sage [2007/05/10(木) 23:03:11 ID:lvPcrjF3]
>849
やり方があるのかどうかは、知らないが。
キーボードを二つ接続したPC環境を構築している人間は、少数派だろうから、
そのゲームを一般に公開するつもりなら、別の操作系を考えるのが賢明だと思う。
自分や仲間内だけで遊ぶゲームなら、その限りではないけど。

853 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 03:18:16 ID:iitxNH6p]
>>849
2人以上ならゲームパッド(ジョイバッド?)を使うのが普通だろうね。
パッドvsパッドかパッドvsキーボード。
というかそもそもキーボードはゲームにむいてない。一般のキーボードはほとんど2〜3キーロールオーバーだから。


あ、マウスvsキーボードって対戦もありか。w


854 名前:849 [2007/05/12(土) 09:38:38 ID:CHidITY3]
そうですか…無理ですか…ありがとうございました。

855 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:00:15 ID:IIhlPIBe]
つーか、その環境持ってるor調べようと思う奴が少ないからな。
今の時代パソコン2台でネット対戦にした方が早い気もするし。

856 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:31:45 ID:BKWL2B2V]
国内で最も使われてるフリーな環境はHSPですか?

857 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 11:42:17 ID:9cDQPoon]
昔、PC-88mkIISRというパソコンがあって、それにキーボード端子が2つ付いてた。
友人の家にキーボード持っていって実際に試したけど
両方のキーを受け付けて、判別はできなかったな。

マウスVSキーボードも、対戦マインスイーパー作って試してもらったんだけど
圧倒的にマウスのほうが操作早くて、公平なプレイにならなかった。

まぁ、パッド2つが無難だろう。

858 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 15:11:32 ID:tMkY9b8/]
88SRって端子二つあったっけ
おぼえてねー

859 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 20:47:05 ID:LoRPkVYn]
>>856
何に使われてる環境だ?



860 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 23:28:26 ID:tMkY9b8/]
ミサイル弾道計算じゃね

861 名前:名前は開発中のものです。 mailto:sage [2007/05/12(土) 23:29:58 ID:qzFNDBxk]
>>855
確かに、俺も対戦ゲーム作る時は、普通にLAN対戦にするだろうな。
そっちの方が楽だろう。

862 名前:名前は開発中のものです。 mailto:sage [2007/05/13(日) 01:01:01 ID:8A9djd1g]
>>854
XP以降限定だけど、WM_INPUTでHIDの生データ取れば実現できるんじゃね?
試してないけどさ

863 名前:名前は開発中のものです。 [2007/05/14(月) 00:05:11 ID:bOzJ10Yl]
マウスホイールの操作で画面スクロールさせようと思ってるのですが
mousewの使いかたがよくわかりません。。。
どうすればいいですしょうか?

864 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 00:26:20 ID:uwtqYVSD]
mousewはスクロールされると-120とか120という値が取得できます


// 画面の高さ
y = 0

*main
// 一時保存
// -1は情報が±が反転してるから
mw = mousew*-1
// もし動いたなら
if ( mw != 0 ) {
// その数値を加算
y = y+mw
// 調整
if ( y < 0 ) {
y = 0
}
if ( y > ginfo( 13 ) ) {
y = ginfo( 13 )-20
}
}
// 描画
redraw 0
color 255, 255, 255 : boxf
color 0, 0, 0 : boxf 0, y, ginfo( 12 ), y+20
redraw 1
// 待機
await 10
goto *main

865 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 01:07:27 ID:ecV+XOk6]
mousewって、積算型じゃなくて一度値を参照すると中身がリセットされるんだよな。
しかも、スクロールホイールを2回動かす間にmousewを一度しか参照しなかったら、
前の1回分は破棄されるというふてえ仕様だ。

あたまわるいmousewのために高頻度でポーリングするのも余計な負荷なので、
WM_MOUSEWHELLを捕まえて内部カウンタを積算したほうが便利よ。

866 名前:名前は開発中のものです。 [2007/05/14(月) 01:10:27 ID:bOzJ10Yl]
>>864
おおぉーできました!ありがとうございます。
ifの判断でmousewをそのまま使ってたのがダメだったみたいです・・・。

867 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 19:39:39 ID:bUJYvT5N]
5年使ってたノートが壊れたので新しいノートを買ってきた。前のは20万。今度のはノート
としては最底辺の10万だ。んで自作ゲームを動かしてみた。ひど!微妙に遅い。いや
それよりももっとひどいのがMIDI。うわ!安物のPCだとこんなふうに聞こえるんだあ。
いくつかの楽器がまともに鳴ってない。あるいは完全に鳴ってない。
5年もたってるんだぜ!?いくら安くても進化しててよくね?みんな!これからはmp3だよ!
サイズが大きいのは嫌だって奴のためにMIDI版も自分のサイトに用意しといて、俺の
サイトまで来いと。
てか速度が遅いのはいかんともしがたいなあ。これじゃあだめだ。みんな!俺はゲ製作
から撤退するよ。今まで有難う!そしてさよーおならー!ブッ!シネ!
それかawait 16からawait 32に変えるか。

868 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 19:42:30 ID:zgcv7AfZ]
MIDIが酷いのはPCのせいじゃねえw

869 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:04:55 ID:8OHbs/4R]
つーか、ぶっちゃけ音質悪くても昔のファミコンのBGMの方が記憶に残ってる件w



870 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:19:48 ID:gxCU6qzs]
釣りだよね?
釣りじゃなったとしたら子供だよね?

871 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 20:41:16 ID:2MGniMoO]
うむ。

いくら10万円でも5年前の20万円よりはスペック上だと思うのだが、
一体何があったのだ。。

10万も出してスペックダウンするくらいなら
ショップブランドのデスクトップ型にした方が良かったんじゃないか。

872 名前:名前は開発中のものです。 mailto:sage [2007/05/14(月) 21:13:38 ID:jKbLwa2+]
スルー力を君らに

873 名前:名前は開発中のものです。 [2007/05/14(月) 21:26:36 ID:qusRFGjc]
>>867
何が原因で遅くなってるか調べたか?
ゲームが遅くなってるだけで、タスクマネージャのCPU使用率は50%ぐらいとかねーか?
つーか、OS,CPU、グラボ、メモリの違いも検討しないで買ったのかよ・・・

874 名前:名前は開発中のものです。 [2007/05/14(月) 23:39:40 ID:qQM3DdCm]
>>867
マジレスすると、
5年前+20万=Win2000が快適に動く
今+10万=VISTAがぎりぎりで動く
とかじゃね?

875 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 00:26:10 ID:xiOfuS6M]
hsp2.6とhspdxfixでゲーム作ってるんだけど。
midiを演奏すると一瞬画面が止まります。

hsp以外の言語でもmidiファイルを演奏すると画面が止まりますか?

876 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 00:48:18 ID:QwlCZrR2]
いまどきmidiデータなんぞ止めてオーディオデータを使いましょう

877 名前:名前は開発中のものです。 mailto:sage [2007/05/15(火) 01:12:07 ID:FWjCeTAz]
>>875
たぶんhmmとか使えばおk

878 名前:名前は開発中のものです。 [2007/05/15(火) 01:29:42 ID:OAuZRVq8]
>>875
再生に使ってるデバイスの問題
初期化に時間が掛かる(WinXPだと特に遅いと聞いた)
言語自体の問題じゃないよ
HSP3ならmciのMPEGVideoで再生開始速度が
早く出来るけど2はどうだろ?


879 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 11:58:40 ID:zA3GpFnY]
まーしかし876に同意。
BGMがMIDIのゲームは嫌われたりするし、俺の環境ではミュートしちゃってる。
内蔵のソフトシンセなんて、どっちにしてもデータ作成者の意図どおりには鳴らんし。



880 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 20:41:40 ID:SejtJ/t7]
>>876
すみません、オーディオデータってのが何なのかよく解りません。
AVI形式のことですか?無知ですいません。

881 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:20:22 ID:SzL9MSMh]
wavとかじゃね?

882 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:22:09 ID:6BjJtGUs]
jpgだよ。

883 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 21:26:40 ID:jv4GiZ2g]
MOD最強

884 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 22:09:20 ID:6XNIRCTA]
マジレスするとrarのこと

885 名前:名前は開発中のものです。 mailto:sage [2007/05/16(水) 23:49:37 ID:FVllaHtw]
>>880
四の五の言わずググれ。理解が深まるしそっちが早くて正確。
加えて話の流れも読むとより理解が深まるとおもうぞ。MIDIと対になってるだろ?

>>876,879
理解はできる。理解はできるが、ファイルサイズを気にしてしまう悪習慣がぬけないんだ。
つい、ね。


886 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 01:11:36 ID:k6rYSu8+]
つーか、曲自体の出来がアレなのに、音源・音質ばっかり凝ってるのもイランけどな。

887 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 03:06:38 ID:qhlIETZh]
まあそれはあるな
でもMIDIのBGMだったら鳴らさんほうがマシだ

888 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 14:16:09 ID:UjIQhbyQ]
それは聞き捨てならんな。

フリー素材はほとんどがMIDI
そんな時代もあったのだよ。
故にMIDI資産は膨大

しょぼい音源のゲーム臭さも何とも言えんし、
Sound BLASTERとか、そうでなくても
サウンドフォントが扱えるサウンドカードならだいぶ世界が変わる。

あとTiMidiとかいうソフト音源もオススメ。
twsynth.sourceforge.jp/


ぶっちゃけ音源によって音が変わるのが良いんだヨ('A`)

889 名前:名前は開発中のものです。 [2007/05/17(木) 17:33:48 ID:ECrUiSe6]
hspext.dllを使わずにレジストリに新規キーを作成しようと思って下の
スクリプト作ってみたんですが、どうも上手く動作してくれません。
どこが間違ってるのか教えてくらさーい。XPでの使用を前提にしてます。
;****************************************************
;******************
//新規命令を作成//
;******************
#module
;関数
#uselib "advapi32.dll"
#cfunc RegCreateKeyEx "RegCreateKeyExA" int,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr
;定数
#const HKEY_CLASSES_ROOT 0x80000000
#const REG_OPTION_NON_VOLATILE $00000000
#const KEY_WRITE 0x20006
;新規命令
;p1=作成するディレクトリ
#deffunc Nh@_RegCreateKeyEx str Nh@_RegCreateKeyEx_P1
Nh@_RegCreateKeyEx_P0=HKEY_CLASSES_ROOT
nhret=RegCreateKeyEx(Nh@_RegCreateKeyEx_P0,Nh@_RegCreateKeyEx_P1,0,0,REG_OPTION_NON_VOLATILE,KEY_WRITE,0,hkey,0)
return
#global
;*******************
//メイン//
;*******************
makedir="testkey\\subkey"
Nh@_RegCreateKeyEx makedir
mes "CMPL"
stop
;*****************************************************



890 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 21:46:05 ID:lJm49cl1]
#module
#uselib "ADVAPI32.DLL"
#cfunc RegOpenKey "RegOpenKeyExA" int,int,int,int,int
#cfunc RegQueryValue "RegQueryValueExA" int,int,int,int,int,int
#cfunc RegCreateKey "RegCreateKeyExA" int,int,int,int,int,int,int,int,int
#cfunc RegSetValue "RegSetValueExA" int,int,int,int,int,int
#cfunc RegDeleteKey "RegDeleteKeyA" int,int
#func RegCloseKey "RegCloseKey" int
#define KEY_READ 0x00020019
#defcfunc ReadReg int _key, var _subkey, var _data
hkey = 0 //↓規定値を読み込む
if RegOpenKey( _key, varptr(_subkey), 0, KEY_READ, varptr(hkey) ) == 0 {
size = 0
if RegQueryValue( hkey, 0, 0, 0, 0, varptr(size) ) == 0 {
sdim buf, size
a = RegQueryValue( hkey, 0, 0, 0, varptr(buf), varptr(size) )
RegCloseKey hkey
_data = buf
return 0 //キーの取得に成功。
}
else {
RegCloseKey hkey
return -2 //取得に失敗。(ほぼ在り得ないと思うが)
}
}
else {
RegCloseKey hkey
return -1 //キーが無いとき
}

891 名前:名前は開発中のものです。 mailto:sage [2007/05/17(木) 21:46:59 ID:lJm49cl1]
#define REG_OPTION_NON_VOLATILE 0x00000000 //情報はディスクファイルに保存され、システムを再起動時しても情報は失われません。
#define KEY_WRITE 0x00020006
#define REG_SZ 0x00000001
#defcfunc WriteReg int _key, var _subkey, var _data
hkey = 0 //↓規定値に書き込む
if RegCreateKey( _key, varptr(_subkey), 0, 0, REG_OPTION_NON_VOLATILE, KEY_WRITE, 0, varptr(hkey), 0) == 0 {
if RegSetValue( hkey, 0, 0, REG_SZ, varptr(_data), strlen(_data)+1 ) == 0 {
RegCloseKey hkey
return 0 //書き込みに成功
}
else {
RegCloseKey hkey
return -2 //書き込みに失敗
}
}
else {
RegCloseKey hkey
return -1 //キーのオープンまたは作成に失敗
}
#defcfunc DeleteReg int _hkey, var _subkey
return RegDeleteKey( _hkey, varptr(_subkey) )
#global
#define HKEY_CLASSES_ROOT 0x80000000

前に作ったやつをそのまま。参考に


892 名前:名前は開発中のものです。 [2007/05/17(木) 23:11:30 ID:ECrUiSe6]
>>890 >>891
ウォォッ!ありがとう!
激しく参考にさせて頂きます。
('A`)ガンバルゼ

893 名前:名前は開発中のものです。 mailto:sage [2007/05/18(金) 03:44:38 ID:fYCuLcq6]
うを、まじかっ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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