07/04/04 19:18:19 xIUSvdy4
HSPって、&と&&の区別しないんだな
俺の3時間返せ
658:名前は開発中のものです。
07/04/04 19:34:58 WifholmS
つ【3時間】
659:名前は開発中のものです。
07/04/05 11:29:50 ym/KUe2Y
マニュアルよめよ
660:名前は開発中のものです。
07/04/05 11:36:49 qUHD2MB+
↑読んでないやつ
661:名前は開発中のものです。
07/04/05 11:41:19 Jnpg8Zk/
その辺りはマニュアルに書いてない、というか、
仕様外の演算子じゃねーの?
662:名前は開発中のものです。
07/04/06 22:37:19 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:名前は開発中のものです。
07/04/07 00:05:32 wTOoLdT/
そのb8、実行するとタイトルがb7になるわけだが
あと、アナウンスも無いけどね
664:名前は開発中のものです。
07/04/07 21:21:42 xJqf1AgZ
正式版キタ
665:名前は開発中のものです。
07/04/08 08:49:30 yoJuvkiJ
メッセージボックスの指定行のバイト数ってどうやって求めてる?
OSの問題でsendmsgはボツだし、地道に計算したらフリーズするし・・
666:名前は開発中のものです。
07/04/08 10:45:14 YH0fkqKd
リンク張っていないので
URLリンク(www.onionsoft.net)
URLリンク(www.onionsoft.net)
なんかdgdgね
667:名前は開発中のものです。
07/04/08 11:34:02 kbz+IrgG
>>665
note系命令で指定行取得してstrlen
668:名前は開発中のものです。
07/04/08 12:54:56 yoJuvkiJ
>>667
thx
669:名前は開発中のものです。
07/04/08 20:17:18 5KwOsR6N
新しいヘルプになって最前面に固定できなくなった?
670:名前は開発中のものです。
07/04/09 12:50:06 DSUlSx8P
>なんかdgdgね
ディグダグ?
671:名前は開発中のものです。
07/04/09 19:56:01 6Hv4syfu
>>670
グダグダ
672:名前は開発中のものです。
07/04/09 22:23:05 ntsmkKok
dgdgならディグダグで正解じゃないか?w
673:名前は開発中のものです。
07/04/09 22:44:43 xQ5lPNOu
新しい描画プラグインってどうなの?
674:名前は開発中のものです。
07/04/10 01:23:00 k7+XauZp
>>673
こんなのが数十行で出来る
URLリンク(thelaughingman.net)
675:名前は開発中のものです。
07/04/10 01:59:10 E0BpcqA+
描画プラグインに新しいのが出たのか?
676:名前は開発中のものです。
07/04/10 08:57:53 k7+XauZp
β晩にhspcvが追加されている
が、サンプルはない
677:名前は開発中のものです。
07/04/10 09:00:39 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:名前は開発中のものです。
07/04/10 12:05:36 BMeKgnLh
>>677
動いた おもすれー
679:名前は開発中のものです。
07/04/10 19:02:17 wiWwQvgv
変数データを直接読み書きできるって事は
セーブ・ロードが簡潔にできるってことなのかな
680:名前は開発中のものです。
07/04/10 21:54:45 XIsMa+6t
うん
681:名前は開発中のものです。
07/04/11 05:13:37 SKNSOWMH
ノートパッドで切り出しとかやってセーブ・ロードに苦心してた事も
いい思い出に変わるのかな
682:名前は開発中のものです。
07/04/12 21:07:33 22vncB1J
初心者用講座とか色々廻ってたけど
電卓作るあたりで挫折した
683:名前は開発中のものです。
07/04/12 21:08:29 bCgTq/qC
盛りage
684:名前は開発中のものです。
07/04/12 21:20:14 j0G3mdxP
>>677
顔じゃ無い部分が認識された
よく見ると顔みたいに・・・
心霊写真かと思ったよw
685:名前は開発中のものです。
07/04/12 21:20:43 00Wev8Rd
電卓で挫折って・・・
686:名前は開発中のものです。
07/04/12 22:32:55 cq6R8ing
なんのためにコンピュータ使ってんだろうなw
687:名前は開発中のものです。
07/04/13 02:40:01 KoxYsYvL
こんぽじっとぱたーん・・・・??????
デジタル土方レベルのCかBASICしか出来ない香具師でも
力技だけでゲームを作れる言語作ってくれよ!
あ、もうあるか。
688:名前は開発中のものです。
07/04/13 15:33:03 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:名前は開発中のものです。
07/04/13 15:59:15 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:名前は開発中のものです。
07/04/13 18:14:32 kkKSJW2x
>>689
ありがとうございます。おかげさまでできました。
助かりました。
691:名前は開発中のものです。
07/04/13 20:07:44 I5qoCwtL
>>669
それ必要なの?
692:名前は開発中のものです。
07/04/13 20:30:21 fWNR28q6
おれ別人だけど、ヘルプ見ながらスクリプト打ち込みたいとか?
693:名前は開発中のものです。
07/04/14 00:03:39 atoydD3j
>691
うん、ヘルプ見ながら打ち込むので俺には必要。
命令のパラメータさえ分かればいいから小さくして右上に出しっぱなしにしてたんだが。
今は画面の3分の2にエディタ開いて残りにヘルプ出してる。
ヘルプブラウザのreadme見ても何も書いてないから抹殺されたんだろうな。
694:名前は開発中のものです。
07/04/14 01:44:52 8sg2zORJ
作者のページにBBSもあるんだし
ここで聞くよりも、作者に直接聞いた方がいいと思うんだが
695:名前は開発中のものです。
07/04/14 13:46:00 atoydD3j
あるか、ないか、が聞きたかっただけだから。
なけりゃないで、やり方はあるから作者ページに書き込むほどでもないと判断した。
696:名前は開発中のものです。
07/04/14 13:57:51 tSlK/VcG
今アイテム数20個毎にページを増やすように作ってるんだけど、
コレを16個毎にして16進数で管理すると簡便化できる?
697:名前は開発中のものです。
07/04/14 14:21:07 XHCB7tyo
>>696
\式使えば楽
698:名前は開発中のものです。
07/04/14 20:07:48 tSlK/VcG
ありが㌧
699:名前は開発中のものです。
07/04/15 19:29:31 HlbFQmd9
HGIMG3の簡易コリジョン(AABB)は実装されてますけど、
パーツ毎判定みたいのはいつ頃に実装されるのかな?
あんまり実装遅いなら使いたくないけど、ランタイムなのが魅力的なんだよな~
おにーたまHGIMG3スケージュルも出して欲しい
700:名前は開発中のものです。
07/04/16 03:55:20 jNSmnASU
パーツっつーかポリゴン毎のコリジョンか?
かなり重くなると思うんで簡易的にやったほうが良いんじゃないかと思うんだが…。
701:名前は開発中のものです。
07/04/16 10:10:37 bENpqRAl
hmm使ってフルスクリーンで動画再生するとキー入力受け付けなくなるんだけど
どうしようもないですか?
702:名前は開発中のものです。
07/04/16 18:25:39 9S9SQQvC
256*224の解像度を512*448のウィンドウで2倍表示したいんですが、
directXを使う以外に方法はありませんか?
703:名前は開発中のものです。
07/04/17 01:46:56 Zo18qgQY
>>702
>>623-624
704:702
07/04/17 07:26:05 /o1QDDuz
>>703
どうもッス。ファミコンぽいアクション作ってて、
gzoomだと透過色が使えないので困ってます。
705:名前は開発中のものです。
07/04/17 11:40:10 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:名前は開発中のものです。
07/04/17 17:21:04 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
07/04/17 18:15:12 vZNpL9Pl
>>705 >>706
うお、その発想はなかったわ!
どうもありがとうございます。
708:名前は開発中のものです。
07/04/17 22:14:21 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:名前は開発中のものです。
07/04/17 22:19:51 2AXbs49U
単に弾の移動量が自機の判定より大きくて抜けちゃってるだけじゃないの?
710:名前は開発中のものです。
07/04/17 23:06:48 H8BcVo3o
壁との当たり判定なんてスプライトの判定命令じゃなくて計算でやれ
711:名前は開発中のものです。
07/04/17 23:19:06 bRIENLRO
>>709
確かに移動速度も影響あるけど
速度を遅くしてもやっぱり同時に衝突するとすり抜ける。
で、対策を考えたんだけど
単純に衝突のサブルーチンを2つにする事により
2発動時に衝突してもOKになったみたい。
この時点で全くすり抜けなくなった。
サブルーチンを3つにすれば3発同時もOKかな。
712:名前は開発中のものです。
07/04/17 23:32:40 I7JDTHxT
>>711
hspdxって使ったことないんだが、そのes_checkって当たってるスプライト1つしか返さないんだな。
自前でやったほうが簡単そうだな
713:名前は開発中のものです。
07/04/17 23:48:03 bRIENLRO
es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
少しでも衝突タイミングが違えば問題ないんだけど。
あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
あと俺の使ってるのはhspdxじゃなくてhspfixの間違いでした。
714:名前は開発中のものです。
07/04/17 23:49:00 2AXbs49U
>>711
ああすまん、ちゃんと読んでなかった。壁なw
>>712
判定を始めるスプライト番号を指定できるから、ひとつ見つかったら
その番号の後から再検索すれば良い。
715:714
07/04/17 23:51:13 2AXbs49U
自己レス
>判定を始めるスプライト番号を指定できるから
そんなもん無かったw
勘違い
716:名前は開発中のものです。
07/04/17 23:52:08 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:名前は開発中のものです。
07/04/17 23:52:31 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:名前は開発中のものです。
07/04/17 23:54:36 M+5M3LEd
間違えた。
*wallhitcheck の次の行
es_check b,400,10,1,400,400
だな。
719:名前は開発中のものです。
07/04/17 23:55:01 BKWD+g7L
>>713
やっぱりfixかw
>>715
大丈夫fixだから指定できるw
720:名前は開発中のものです。
07/04/17 23:58:44 bRIENLRO
1回衝突判定が終ったら弾スプライトに+1してループさせてる。
それでもすり抜ける。
721:名前は開発中のものです。
07/04/18 00:11:22 I6KwsLu+
>>720
まぁ何だ。
似たような事をやったことあるけど
問題なくDXFIXで衝突判定できてたぞ。
アルゴリズムが悪いか、
>>713の書き込みから明らかだが
なんか大きな勘違いしてるんだろ。
>es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
同じフレームで、続きから走査すれば、同時に衝突した
「スプライト番号が高いほう」のスプライトが見つかりますよ
> あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
> すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
お前は何を言っているんだ。
722:名前は開発中のものです。
07/04/18 00:16:03 7jAYZaBw
スプライト番号が高いのが優先されるかどうかはどうでもいいから適当に書いた。
すまんかった。
後半の文はちょっとわかり辛かったかな。
まあ大した事無い事なので訂正しなかったけど。
まあまだゲーム製作初めたばっかりだから勘違いしてる所は結構あると思うけど。
とりあえずもう少し勉強してみます。
723:名前は開発中のものです。
07/04/18 00:47:39 7jAYZaBw
プログラミングよりも日本語や人間としての常識の勉強が必要だったようです。
スレ汚しして申し訳ございませんでした。
724:名前は開発中のものです。
07/04/18 01:04:07 0trzgnV6
なんだこの展開w
725:716
07/04/18 01:22:55 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:名前は開発中のものです。
07/04/18 04:34:37 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
07/04/19 17:58:35 D0ENsgxE
おーい>>723
プラグインのバグなのか
スクリプト側ののバグなのか
環境依存の問題なのか
はっきりさせろよ……
hspdxfixに濡れ衣を着せたかもしれないのに
無視か?
728:名前は開発中のものです。
07/04/21 07:42:36 2BG2s3w3
3.1b9公開。圧縮状態で7.5MBか。昔に比べるとずいぶん太った
気がするけど、プログラミング環境としてはまだ全然小さいんだよね。
今ではActiveBasicよりはでかいみたいだけど、使いではHSPが
圧勝だし。
729:名前は開発中のものです。
07/04/21 08:13:40 2bdLwNha
沖縄県の方へ(命に関わる注意事項です)
沖縄県での選挙ですが、どうか民主党だけは避けてください。県民の生命に関わる可能性があります。
民主党の最大の公約は一国二制度(※)ですが、一度「一国二制度 沖縄 三千万」等で検索をお願いします。
この際、民主党のHPで調べても良いです。以下の注釈↓と矛盾することは書いてないはずですから…
※一国二制度
簡単に言えば沖縄を中国と日本の共有物にし、そこに3000万人の中国人を入植させます。
(つまり沖縄人口の 96% を中国人にして、実質、沖縄を中国人の居住地とします。)
さらに「自主」の名の下、沖縄で有事が起きても自衛隊は干渉できません。
3000万人の中国人が、少数派となった130万人の日本人に何をしても、です。
そして反日教育を受けた中国人の反日感情の強さは、ほとんどの日本人の理解を超えるものです。
今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
730:名前は開発中のものです。
07/04/21 14:09:04 LM8tnE4F
>>728
いまどき大きさなんか関係あるか?
731:名前は開発中のものです。
07/04/21 15:30:40 gdpZ03+g
昭和から来たんだよ彼はw
732:名前は開発中のものです。
07/04/21 16:59:16 laYGd4sA
JAVAみたく500MBとかじゃないからいいよ
HSPはプラグインとサンプル豊富だから助かる
733:名前は開発中のものです。
07/04/22 10:49:51 GAHMA1wL
hspでデータ圧縮じゃなくて文字列圧縮できる?
出来れば、可逆でメモリーに保存したいのです
zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ
734:名前は開発中のものです。
07/04/22 12:54:13 JwKt5lan
4倍使うの意味が分からんが、平文を分割してから圧縮すればええんちゃう?
超巨大な文字列を圧縮する時に、必要なmallocがでかいとかそんな意味ならば。
735:名前は開発中のものです。
07/04/22 13:34:52 GAHMA1wL
>>734
4倍ってのは圧縮作業の為の展開エラー対策だと思うんだ・・・
圧縮されたデータを復元するにしてもどうやってるのか分からない
zlibはHSPでは使えないのかな
736:名前は開発中のものです。
07/04/22 14:10:18 xdLPXb3/
URLリンク(mia.taillove.jp)
737:名前は開発中のものです。
07/04/22 15:14:13 GAHMA1wL
>>736
メモリー内圧縮使ったことありますか?
そこで止まってます。
738:名前は開発中のものです。
07/04/22 15:33:16 xdLPXb3/
ボクちゃん、test_mem.as 読める?
739:名前は開発中のものです。
07/04/22 15:36:02 JwKt5lan
「メモリー内圧縮」って何か特別な意味(言葉)なん?
分割して圧縮処理じゃダメなんか?
740:名前は開発中のものです。
07/04/22 15:52:31 GAHMA1wL
>>738
読めますよ
実行して出来たデータ配列が元より大きいのは圧縮失敗じゃないんですか?
741:名前は開発中のものです。
07/04/22 16:01:02 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:名前は開発中のものです。
07/04/22 16:01:19 JwKt5lan
>>740
すでに圧縮されているデータは、それ以上小さくするのはほとんど無理
というかヘッダとかで増えるぞ?
つーか、使い方が間違ってんじゃねーの?
743:名前は開発中のものです。
07/04/22 16:06:52 xdLPXb3/
自分には不手際がないと信じて疑わない
身の程知らずなボクちゃんの、挑発的な発言に、
ちょっと血がのぼってミスしちまったぜ。反省。
圧縮率表示のとこ、間違い。
strf("圧縮率 %d",writesize * 100 / rsize)
↓
strf("圧縮率 %d",csize * 100 / rsize)
744:名前は開発中のものです。
07/04/22 16:11:45 GAHMA1wL
いや圧縮自体はできるんですが・・・
ややこしいので解決でいいです
745:名前は開発中のものです。
07/04/22 16:18:28 JwKt5lan
上手く説明ができなきゃ、上手く理解もできんて。
746:名前は開発中のものです。
07/04/22 16:54:06 hYUKyQue
>>740
>stat は圧縮後のサイズです。
>書き込み先のメモリが足りないなどでエラーが発生した場合は、
>stat=0 となります。
なぁ、これをどんな解釈したんだ?
配列は拡張されないからもとより大きくなんてならねーぞ
お前配列サイズを勘違いしてねーか?
dimで確保したのは1要素4バイトだぞ?
どこにも圧縮元より大きい作業領域が必要なんて書いてねーだろ
バッファが足り無きゃstat=0になるって書いてあるだろボケ
747:名前は開発中のものです。
07/04/22 17:07:14 xdLPXb3/
元データサイズが小さいから、効果が分かりにくいと思って
741のスクリプトをまた少し変えて
同じ文字列を100個連結させたもの(15000byte)に対する操作を試してみたが。
圧縮したら、297byte(圧縮率 2% 弱)にまでなった。
同じデータの繰り返しだからってのもあるかもしらんが。
いやぁ、zlib初めて使ったけど、けっこう強力だな。^^
(精神衛生上 よろしくないので、ボクちゃんの事を考えるのはやめた。)
748:名前は開発中のものです。
07/04/22 17:44:41 rmOxLuM6
サンプルにある
dim cdata, DATASIZE
zSetDest cdata, DATASIZE*4
ってーのを見て、4倍必要とか思い込んだんだろうな
dim cdata, DATASIZEのメモリサイズがDATASIZE*4なのにねぇ
なんで741のを見て分からないんだろう・・・
749:名前は開発中のものです。
07/04/23 00:12:53 4Rf7CIdU
HSP2.62とHSPDXFIXEDのプラグインを使ってゲームを作ってるんですけど
たまにキャラや背景の色が反転してしまう時があります。
毎回ではなくてたまになんです。
何か原因があるんでしょうか?
750:749
07/04/23 00:25:34 4Rf7CIdU
画像ファイルはBMPです。
あとパレットモードで236色にしています。
どうもプログラムが長くなってきてから色がおかしくなる頻度が高くなってきている気がします。
それとawaitの数値が多少影響してるようにも思えるんですけど。
751:名前は開発中のものです。
07/04/23 00:30:08 3Fv7BgL3
はっきり言ってそんなんじゃ判らんw
プログラム自体を分割して問題部分の切り分けをすべし。
752:名前は開発中のものです。
07/04/23 00:40:06 vbt0vmPJ
>>749
HSP2.62とかHSPDXFIXEDとか、聞きなれない名前なのが気になるが。
「色が反転」という症状を聞いて、最初に思い浮かぶのは
ブレンドファクターに、ESB_NEGATIVEが指定されているんじゃないか?
ということだが。
「D3Dスプライト機能を使ってない」 とか断言してしまうなら、知らん。
753:名前は開発中のものです。
07/04/23 00:41:23 gvRd6xEU
BMPのパレットが揃ってないとか
754:名前は開発中のものです。
07/04/23 01:00:19 4Rf7CIdU
毎回色がバグるのなら原因究明もラクだと思うんですけど
稀にしか起こらない現象だから原因を探すのが難しいんですよ。
デスクトップの解像度とか関係あるのかな?
あと3Dは使ってないです。
755:名前は開発中のものです。
07/04/23 01:15:33 gvRd6xEU
めんどくさいからハイカラーかフルカラーで作れ。
756:名前は開発中のものです。
07/04/23 01:43:12 3Fv7BgL3
ああ、そうだな。。
なんでパレットモードなんか使ってんだ。
パレチェンしたいなら別の画像持てば良いじゃない。
757:名前は開発中のものです。
07/04/23 04:04:26 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:名前は開発中のものです。
07/04/23 04:38:01 nyr50uuI
>>757
hsp3.0aでやったけどエラーも落ちることも無いぞ?
環境書け
759:名前は開発中のものです。
07/04/23 09:47:55 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:名前は開発中のものです。
07/04/23 11:47:41 lQ85Pfj4
>759
758じゃないけど、俺のとこでも試してみたらj=510では落ちなかった。
ウチの環境だとj=10000までOK。
761:名前は開発中のものです。
07/04/23 11:52:32 lQ85Pfj4
>759
バッファオーバーフローが原因なので、なにか計算間違いがあるのかも。
sdimで指定する値を必要な分だけ大きくすれば大丈夫なのでは?
762:名前は開発中のものです。
07/04/23 15:28:03 ExoMwemo
>>760
それはエラーが起きてる場所が違くないか?w
>>759
β版使ってるなら最初に言えよ・・・
ver3.1β8で起きてる問題で3.0aではエラーは出無かった
β8はモジュール関係で色々不具合が出てるみたいだから
3.1b9 を試してみたら?
ダメだったら
●HSPWiKi HSP3バグトラッッキングシステム
にでも挙げとけば修正されるだろう
763:名前は開発中のものです。
07/04/23 15:34:21 ExoMwemo
>3.1b9 を試してみたら?
自分で試した方が早そうだから試したらエラー出無かったよ
>struct型の配列終了処理でエラーが発生することがある不具合を修正。(HSPBT#144)
これ関連のバグだったのかな・・・
764:名前は開発中のものです。
07/04/23 20:51:29 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:名前は開発中のものです。
07/04/23 21:11:10 oSeQHQqW
俺がそのトラブルに当たったときは、ああまたHSPのバグかと思って
変数渡しのコードに変更したよ
766:名前は開発中のものです。
07/04/23 22:53:07 QLdFJFVh
とりあえず>>759は、
sdim a,j*4+1
b = strf("%04d",cnt) : poke a,i,b : i += strsize
jが5桁になると、bも5文字になるのでエラーになるのは当たり前だな。
767:名前は開発中のものです。
07/04/23 23:26:32 80wwsZlh
>>764
原因を突き止めたかもしれない
デバッグウィンドウ表示させてないか?
3.0aでもDBウィンドウ表示させてるとエラーが出た
表示を切ればj=50000とかでも3.1b8でエラーが出ない
どうだ?
これが原因なら バグトラッッキング に行ってら
>j = 10001 以上でエラーとなった
これは766が言ってる通り
だから762で突っ込み入れといたのに・・・
768:名前は開発中のものです。
07/04/24 00:12:44 BuNmsmYs
>>767
それが正解のようでした
デバッグウィンドウを表示させないとエラーは出なかった
5桁のほうは、単純な問題でしたね。
バグトラッキングがよくわからないけど
報告する場所があるのかな。
とにかくありがとう。
置換用のモジュール作るのに2048byte縛りはあまりにもきつかったから助かったよ
769:名前は開発中のものです。
07/04/24 00:18:59 QtkXlejF
>>768
β版がアップされてるページの下のほうに
バグ報告用のページがリンクされてる
770:名前は開発中のものです。
07/04/24 14:26:48 QrQgTR4I
まだッが一個多いままなのかw
771:名前は開発中のものです。
07/04/24 17:02:41 xgJkhdwr
今はじめて気づいたw
772:名前は開発中のものです。
07/04/24 20:11:32 9drbfLn6
気合を入れて発音しているだけですので仕様です。
修正予定はありません。
773:名前は開発中のものです。
07/04/24 21:55:10 Nf3/8HfV
~ッッ
774:名前は開発中のものです。
07/04/24 23:16:37 9drbfLn6
もっとッ
「──ッッ!!」
って感じで。恋人や家族を殺された主人公が敵と対峙したときのような、
声にならない怒りと憎しみの表現だよ。日本語ってすごいよね
775:名前は開発中のものです。
07/04/24 23:42:34 uJIuySMN
ジョジョだな
776:名前は開発中のものです。
07/04/25 11:17:31 cNm9Fqt7
ファイナルファンタジーってこれで作ってんの?
777:名前は開発中のものです。
07/04/25 12:29:42 a5AmdZFY
,、-―-、
丿 <`) __
,、- ''' "二ヽ_(ヽ'`(二ニ・ | \_
/ 、 !__'、_┌´ │ / `' ー┐
/ ヽ | ` | | |
___ | ヾ__| | _,、r‐'',ニ=- | / _,、-‐'゙
_| '、| ミ/ ゙、 |_,∠-''´ ̄`'ー、  ̄|-''" |
\|. | l___l / ̄ヾ`´` | ̄ ̄ ̄`'''iー、
. |/゙|  ̄ ヽ_,、-''´`ヽ _,、,、,、,、_|______|_
| ( ´ ,、- ''゙ 丿 ヾ二二二二二二二二二|ニ!
ヽ<二二二二二>~/ / / └‐┬─‐──┬┘
フ,||, / / / │ │
''´ | | _ノ /. │ │
. | | >/ ./ │ │
778:名前は開発中のものです。
07/04/25 13:36:22 PyhPVqEN
また音楽の話で悪いけど、ゲームでwav,midi共に音量をコントロールしようと思って
今はプラグイン二つの併用か、MCIでmpegvideoにしてやる方法の二つを試してる。
音量のためだけにプラグイン二つも使いたくないし
mpegvideoはME以前では入っていないかもしれないので
どうしようか悩んでいるのだけど
なんかいい手は無いですかね
779:名前は開発中のものです。
07/04/25 17:28:05 pHry1m7d
今時midiなんぞ使うのか
どうせ作曲者の意図どおりに鳴らないし
全部オーディオデータで統一したほうがよくね
780:名前は開発中のものです。
07/04/25 19:09:46 ZMrMyasg
( ´,_ゝ`)プッ
⊂彡☆))Д´) >>776
パチーン!!
781:名前は開発中のものです。
07/04/25 19:20:11 fK/xi7te
>>776
常識過ぎてみんなあきれてるぞ。クレジットにそう書いてあっただろ
782:名前は開発中のものです。
07/04/25 19:58:49 vIB2Tzgo
市販ゲの殆んどがHSPだよな。
たまにツクールも見るが。
783:名前は開発中のものです。
07/04/25 20:52:13 VYJu+Wqs
Vistaは余りにも有名
784:名前は開発中のものです。
07/04/25 21:06:01 fK/xi7te
ああ、Vistaはちょっと泣いちまったよ。
もと宿敵だったアーロンをかばってキースが特攻したシーンなんか、ヤバかったな。
ていうか演出があざと過ぎ
785:名前は開発中のものです。
07/04/25 21:38:59 jZG+4jJU
>>784
OS
786:名前は開発中のものです。
07/04/25 22:18:50 fK/xi7te
>>785
魔法使いだな。
787:名前は開発中のものです。
07/04/25 23:06:53 4DX9ZUzz
オス! おらビスタ!
788:名前は開発中のものです。
07/04/26 16:20:50 u0xY1+V8
冥王星に代わっておしおきよ!
789:名前は開発中のものです。
07/04/26 18:16:57 hUYx8S1F
>>788
職務怠慢を理由に左遷され当時の上司を逆恨みし、復讐の機会を狙ってるんだっけ
790:名前は開発中のものです。
07/04/26 20:18:33 2xt9h9SY
sgtって、Directsoundでソフト音源で鳴らすから環境依存にならないらしいんだけど、
負荷高いのかな?oggとどっちにしようか迷ってるんだけど、どうですか?
791:名前は開発中のものです。
07/04/26 20:28:32 vjdyL8/F
sgtって何
792:名前は開発中のものです。
07/04/26 23:15:40 by3e610C
hspのアイコンってコーフィーカップみたいだけど
ジャワのパクリなの?
793:名前は開発中のものです。
07/04/26 23:31:56 gBmqOl1c
ホットスープだからじゃね?
794:名前は開発中のものです。
07/04/27 00:02:59 egFvpP+c
ホット"スープ"プロセッサ
スープカップ
スープポット
javaのコーヒーカップは"ジャワ"コーヒーから?
795:名前は開発中のものです。
07/04/27 08:30:28 WUq5gpdx
Javaは“ジャバ”コーヒーから
796:名前は開発中のものです。
07/04/27 14:58:30 egFvpP+c
"Java coffee" の検索結果 約 305,000 件
"ジャワコーヒー" の検索結果 約 2,300 件
"ジャバコーヒー" の検索結果 約 622 件
797:名前は開発中のものです。
07/04/28 00:20:12 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:名前は開発中のものです。
07/04/28 07:22:58 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:名前は開発中のものです。
07/04/28 10:12:45 hldoJq+Y
文字が多くなって文字が画面からはみ出たときは
自動でスクロールバーが表示されるようにするにはどうすればいいの?
800:名前は開発中のものです。
07/04/28 15:25:23 FrIkuCPn
>>799
mesboxで横スクロールバー付きエディットボックス
801:名前は開発中のものです。
07/04/30 01:10:28 b3vJoRK1
HSP2.6なんだけど
例えば画面内に敵キャラが100体居るとします。
主人公がそのうちの1体だけをランダムに攻撃した時に
その1体のスプライト番号を取得するにはどうすればいいですか?
802:名前は開発中のものです。
07/04/30 01:39:21 amrAC7iW
そのスプライトは何で表示してんだ?
HSP自身にはスプライト機能は無いぞ
803:名前は開発中のものです。
07/04/30 13:43:16 fcI/zZT6
自分で配列に素プレイと番号を保存して管理したほうが早いだろ
804:名前は開発中のものです。
07/05/01 00:27:14 Zg8bJwrH
【バージョン】HSP3.0
キャラクタデータの記述された設定ファイルを作って、
そこから数値を読み込めるようにするにはどうすれば良いのでしょうか?
例えば、chara.cfgというファイルを作ってその中に、
HP=500と言う文字列を入力しておくと、
mes "HP="+HP+"/500"とした時にHP=500/500と表示されるように・・するみたいな。
要するに外部ファイルから数値を読み込むにはどうすれば良いのでしょうか?
805:名前は開発中のものです。
07/05/01 01:20:55 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:名前は開発中のものです。
07/05/01 01:39:35 Zg8bJwrH
>>805
ありがとうございました。
講座を検索したりしたのですが、hsp3以前向けだったり、iniだけだったりしたので
どうも解決出来ませんでした。調べが足りず、申し訳ありません。
今後はなるべく自力で何とかしようと思います。お手数をおかけしました。
807:名前は開発中のものです。
07/05/01 02:12:43 82VWC4K+
>>806
ヘルプで必要になるだろう単語を入れて命令を絞って
それを使ってネット検索すれば誰でも使いそうな事は見つかるよ
今回のだと 文字列操作 とか テキスト で出てくる命令を使えば色々出てきたと思う
808:名前は開発中のものです。
07/05/01 13:21:29 Fn3EPEPt
ツールを作っている所で、つまずいてしまいました。質問させてください。
メインウィンドウにリストボックスか、コンボボックスが、あるとして、
そのどちらかに、フォーカスを合わせた後、ボックス以外の所をクリックしても、
マウスホイールの移動量(mousew)の取得が、出来なくなってしまいす。
ボタンをクリックすると、取得出来るようになりましたが、わざわざボタンを用いずに
mousewを取得することはできないでしょうか?
809:名前は開発中のものです。
07/05/01 17:12:27 S/wjR4mW
>>798
モジュール型変数を二個使うとは思いつかんかった
亀ながら㌧!
810:名前は開発中のものです。
07/05/02 08:39:23 Tyg11Emh
>講座を検索したりしたのですが、hsp3以前向けだったり
HSPVer2.6で講座作ってた奴は、Ver3が出た時にあったま来ただろうな。「ぬおお、おに
たままで俺の努力を台無しにするのか!ちくしょー!どいつもこいつも俺の努力を踏み
にじりやがって!そんなに俺のやることなすこと全部無駄にしたいのか!そんなに俺を
役立たずにしたいのくわぁぁぁぁ!」って。
俺もだけどな。
811:名前は開発中のものです。
07/05/02 09:29:25 da3SoYqw
大丈夫。
重要なのはソースではなく概念、アルゴリズムだから。
812:名前は開発中のものです。
07/05/02 15:27:01 EySZ2yOg
概念だったら別の言語でもよいわけで
HSPに依存する細かい使用の部分ってことでしょう
813:名前は開発中のものです。
07/05/02 18:06:48 iDXhpPSB
>>810
ま、三角関数や平方根を自前で計算するような無駄な努力も
必要なくなったってことで、先を見ればいいことではある
814:俺8(二代目) ◆fSWXoEZVTE
07/05/02 20:55:37 t0LZt7tH
あぷろだの件ですが、 @wikiの系列ぽい所で@pagesがあります。
容量1GB(1ファイルあたりのサイズ上限はなし。ただし1MB超えると送信速度が落ちる)
PHPが使えるのでpukiを設置してみる、とかはどうでしょう。
問題あったら指摘よろしく。
815:俺8(二代目) ◆fSWXoEZVTE
07/05/02 20:56:17 t0LZt7tH
すみません、誤爆しますた。
816:名前は開発中のものです。
07/05/02 21:27:35 rOvofM6X
ゆるす
817:名前は開発中のものです。
07/05/02 23:26:45 TgBlF1Ug
ゆるさん
818:名前は開発中のものです。
07/05/02 23:45:48 RTrLrXoW
HSP3系の講座が少ないのは、
みんな、HSPに飽きてきた可能性もある?
819:名前は開発中のものです。
07/05/03 00:09:04 AtM1JTCE
>>818
HSP3とHSP2たいして変わらないから
あと付属リファレンスが充実したから
820:名前は開発中のものです。
07/05/03 11:54:57 m3dHlTBm
>>819
まあそれでも誰も付属のリファレンスなんか見ていないんだがな
本家BBSで質問してくる香具師は少しは調べろつーの
821:名前は開発中のものです。
07/05/03 15:44:01 ysyR2/y+
ちょっと聞いただけで奇特なひとにサンプルを作って貰えるのが
HSP最大の売りだからな
822:名前は開発中のものです。
07/05/03 21:15:47 dXmWF+4T
元々ゲーム作りに詳しい講座は少ないような気がする。
823:名前は開発中のものです。
07/05/03 23:03:18 kPqmtDgq
HSP2.6とHSPDXFIXでSTGを作ってるんだけど
自機の斜め移動速度を縦横と同じ速さにする方法がよく解りません。
横移動 x+4
縦移動 y+4
斜め移動 x+3:y+3
位にすると大体同じくらいの速さになるけど。
でもコレだと速すぎる。
横と縦の移動量を2くらいにしたいんだけど
そうすると斜めの移動量はどうなるんでしょうか?
824:名前は開発中のものです。
07/05/03 23:21:41 7TvtNXkU
そういうのは数学の知識が要る。
三角関数でググれ。
825:名前は開発中のものです。
07/05/03 23:26:36 tLhZ5Q0K
あと、内部で保持する座標は画面表示と1:1の座標じゃなく、
小数を保持するために10倍・100倍の整数か浮動小数点を使え。
826:名前は開発中のものです。
07/05/03 23:40:01 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:名前は開発中のものです。
07/05/03 23:48:21 kPqmtDgq
>>824-826
どうも有難うございます。
とりあえず浮動小数点ってのが今の自分にはすぐに理解するのが難しいかなぁと思いますんで
>>826さんの方法でやってみたいと思います。
828:名前は開発中のものです。
07/05/04 05:01:12 N4dI25+p
いやそんなもん三角関数使って計算しろよ…
縦横に移動した時の移動量が1なら
斜めに移動した時の移動量は0.707106781186547
829:名前は開発中のものです。
07/05/04 05:03:26 N4dI25+p
ごめん2.6ってのを見落としてた
830:名前は開発中のものです。
07/05/07 01:09:39 Uyq9GLST
HSPでゲームを作ってるんだけど
作ったヤツをウェブサイトで公開したい訳ですが
フォントをMSゴシックにしてゲームに表示させても
フォントの著作権とか問題ないんですか?
831:名前は開発中のものです。
07/05/07 02:18:48 B/mb8Q1D
>>830
ない。
と言うか、フォント内蔵の場合なら(厳密には)問題あるが、単にOSのフォントを呼び出す分には全く問題ない。
ユーザーの環境に指定のフォントが入ってなければ、表示が想定通りに行かなくなるだけだし。
どこぞの拾い物フォントを勝手に内蔵して使う分には、それぞれのフォントの許認可条件に従うこと。
まあ、基本的に、フォントをフォントそのものとして内蔵し、フォントとして使用できる形で公開しない限り、
無問題と考えて大丈夫。メチャ本格的に、大規模な商利用する場合はまた別だが、まあ気にすんな。
832:名前は開発中のものです。
07/05/07 20:03:12 KYFqszNb
>>831
ということは、フォントテーブルを持ったゲームやフォントを埋め込んだPDF,
フォントを使った画像ファイルにフォントのアウトラインが誰からも見られる紙の
印刷物は問題なの?
フォントって特殊な立場だな。
833:名前は開発中のものです。
07/05/07 20:20:16 jNjPNdHX
フォントの利用規約による
834:名前は開発中のものです。
07/05/07 21:49:47 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:名前は開発中のものです。
07/05/07 21:52:15 Foh+9yi0
rnd R,3
↓
R = rnd(3)
836:名前は開発中のものです。
07/05/07 22:02:25 B/mb8Q1D
>>832
まあ結局>>833の言うとおりなんだけどな。
生ttfをゲームに同梱して配布するのはかなりやばい。
内部にBMP化してフォントを内蔵するのも、それなりにやばい。
一枚絵の中に文字が入っている、程度ならあまりやばくない。
また、大抵の場合、フォントを内蔵したワープロソフトみたいな
「フォントを"フォント"として取り扱う形態で配布」すると問題が大きくなる。
(注:ゲームには無関係のように見えるが、よくある「名前を入力する」部分が
ワープロ的だと見なされる場合がある)
やばいなと思うなら、フォントを内蔵せず、OSのフォントを呼び出すだけにしておいたら安全確実。
一枚絵の中に文字が含まれている、程度ならまあ大丈夫。
何万と売りさばく事が前提なら、何れにしろきちんとライセンスを取っておくこと。
837:名前は開発中のものです。
07/05/07 22:03:17 PZ9SZ2Mt
>rnd R,3
↓
R=rnd(3)
HSP2の頃のサンプルを使うなら
HSPエディタの有るフォルダに index.htmってのがあるから
その中の
・以前のバージョンからの変更点(アップデートガイド) (update.htm)
これを一度見といた方がいい
838:名前は開発中のものです。
07/05/08 05:43:06 vruKdlwD
クォータービューのACTやSTGの、当たり判定は矩形のまま行っているの?
それとも、クォータービュー用(?)定番アルゴリズムとか、あるんでしょうか
839:名前は開発中のものです。
07/05/08 10:53:15 8GDuzc4l
別に矩形で良いんじゃないの
何か問題?
840:名前は開発中のものです。
07/05/08 16:45:06 GV3ApysF
>>835
>>837
これでやっと先に進めます!
アップデートガイドの存在には気がつきませんでした。
今後は活用したいと思います。
ありがとうございました。
841:名前は開発中のものです。
07/05/08 23:45:41 tONREbU4
関数タイプになって
pos rnd(639) , rnd(479)
みたいな記述ができて楽になった
gcopy 1,200+(80*rnd(3)),0,80,90
842:名前は開発中のものです。
07/05/09 20:52:30 VSNS2raa
HGIMG3のモデル領域は開放できない?
オブジェクト領域はできるらしいんだけど エロイ人ご教授ください
843:名前は開発中のものです。
07/05/09 23:53:51 07ufZ3sL
>>838
クォータービュー用定番アルゴリズムなんてものはない!ゲ製作はいまだに職人
の世界だっ!師匠の指裁きや筆遣いや寿司ネタの握り方を見て技術を盗むんだよ。
定番のアルゴリズムは講座や本読めば買いてあるだろう。しかしクォータービュー
だとか、ちょっと凝ったやつになるとどうだ。ブツを見てどんなアルゴリズムなんだろう
な~と想像するしかない。ブラックボックスってやつだね。でもゲ製作ってそういう
もんじゃね?ゲーム見て「これってどうやったらできるんだろう」って思う。そしてその
方法を考える。「ああこうやればできるや」って思えば技術の向上だ。
俺くらいの中級者になるとざっと考えるだけでこんだけ出てくるぜ。
・>>839に同じ。矩形。
・円ならもうちょっとマシなんじゃないか。
・ひし型の当たり判定その1。三角形2つと四角形1つに分ける。三角形は斜めに
なった四角形の判定でできる。
・ひし型ってのは長方形が上に行けば行くほど右にずれてるってことだ。そこから
導かれる計算式は?
・計算的にはまっすぐなスクロール。表示する時だけ斜めにする。
844:名前は開発中のものです。
07/05/10 00:20:36 2z4zuSSr
つーか、クオータービューとか関係なく、辺り判定したいキャラの形が問題なんじゃね?
845:名前は開発中のものです。
07/05/10 00:34:29 J9txepzh
よっぽど巨大で複雑怪奇な形でもない限り矩形で問題ないが
846:名前は開発中のものです。
07/05/10 04:35:42 U2vxhvV7
えー?
ていうか、クォータービューって単に表示上斜めってなってるだけだから
内部処理では普通のSTG等と同じ事やってて、
表示だけ斜めにするんじゃねーの?
847:名前は開発中のものです。
07/05/10 06:59:01 +xzQXwZO
いや、その理屈は正しい
848:名前は開発中のものです。
07/05/10 14:06:21 IknmfbEQ
あ?
3Dでやるの?
849:名前は開発中のものです。
07/05/10 21:03:24 tEu0m8/u
質問なんですがゲームで2人対戦を作るとき、
キーボードを二つパソコンにつないで同じボタンを押しても
1Pが押したのか2Pが押したのか分かるやりかたを教えてください。
お願いしますm(__)m
850:名前は開発中のものです。
07/05/10 21:54:52 J9txepzh
それは無理だろ
851:名前は開発中のものです。
07/05/10 22:00:18 Pb7a8JUW
環境がSFCなら出来るんじゃね?
852:名前は開発中のものです。
07/05/10 23:03:11 lvPcrjF3
>849
やり方があるのかどうかは、知らないが。
キーボードを二つ接続したPC環境を構築している人間は、少数派だろうから、
そのゲームを一般に公開するつもりなら、別の操作系を考えるのが賢明だと思う。
自分や仲間内だけで遊ぶゲームなら、その限りではないけど。
853:名前は開発中のものです。
07/05/12 03:18:16 iitxNH6p
>>849
2人以上ならゲームパッド(ジョイバッド?)を使うのが普通だろうね。
パッドvsパッドかパッドvsキーボード。
というかそもそもキーボードはゲームにむいてない。一般のキーボードはほとんど2~3キーロールオーバーだから。
あ、マウスvsキーボードって対戦もありか。w
854:849
07/05/12 09:38:38 CHidITY3
そうですか…無理ですか…ありがとうございました。
855:名前は開発中のものです。
07/05/12 11:00:15 IIhlPIBe
つーか、その環境持ってるor調べようと思う奴が少ないからな。
今の時代パソコン2台でネット対戦にした方が早い気もするし。
856:名前は開発中のものです。
07/05/12 11:31:45 BKWL2B2V
国内で最も使われてるフリーな環境はHSPですか?
857:名前は開発中のものです。
07/05/12 11:42:17 9cDQPoon
昔、PC-88mkIISRというパソコンがあって、それにキーボード端子が2つ付いてた。
友人の家にキーボード持っていって実際に試したけど
両方のキーを受け付けて、判別はできなかったな。
マウスVSキーボードも、対戦マインスイーパー作って試してもらったんだけど
圧倒的にマウスのほうが操作早くて、公平なプレイにならなかった。
まぁ、パッド2つが無難だろう。
858:名前は開発中のものです。
07/05/12 15:11:32 tMkY9b8/
88SRって端子二つあったっけ
おぼえてねー
859:名前は開発中のものです。
07/05/12 20:47:05 LoRPkVYn
>>856
何に使われてる環境だ?
860:名前は開発中のものです。
07/05/12 23:28:26 tMkY9b8/
ミサイル弾道計算じゃね
861:名前は開発中のものです。
07/05/12 23:29:58 qzFNDBxk
>>855
確かに、俺も対戦ゲーム作る時は、普通にLAN対戦にするだろうな。
そっちの方が楽だろう。
862:名前は開発中のものです。
07/05/13 01:01:01 8A9djd1g
>>854
XP以降限定だけど、WM_INPUTでHIDの生データ取れば実現できるんじゃね?
試してないけどさ
863:名前は開発中のものです。
07/05/14 00:05:11 bOzJ10Yl
マウスホイールの操作で画面スクロールさせようと思ってるのですが
mousewの使いかたがよくわかりません。。。
どうすればいいですしょうか?
864:名前は開発中のものです。
07/05/14 00:26:20 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:名前は開発中のものです。
07/05/14 01:07:27 ecV+XOk6
mousewって、積算型じゃなくて一度値を参照すると中身がリセットされるんだよな。
しかも、スクロールホイールを2回動かす間にmousewを一度しか参照しなかったら、
前の1回分は破棄されるというふてえ仕様だ。
あたまわるいmousewのために高頻度でポーリングするのも余計な負荷なので、
WM_MOUSEWHELLを捕まえて内部カウンタを積算したほうが便利よ。
866:名前は開発中のものです。
07/05/14 01:10:27 bOzJ10Yl
>>864
おおぉーできました!ありがとうございます。
ifの判断でmousewをそのまま使ってたのがダメだったみたいです・・・。
867:名前は開発中のものです。
07/05/14 19:39:39 bUJYvT5N
5年使ってたノートが壊れたので新しいノートを買ってきた。前のは20万。今度のはノート
としては最底辺の10万だ。んで自作ゲームを動かしてみた。ひど!微妙に遅い。いや
それよりももっとひどいのがMIDI。うわ!安物のPCだとこんなふうに聞こえるんだあ。
いくつかの楽器がまともに鳴ってない。あるいは完全に鳴ってない。
5年もたってるんだぜ!?いくら安くても進化しててよくね?みんな!これからはmp3だよ!
サイズが大きいのは嫌だって奴のためにMIDI版も自分のサイトに用意しといて、俺の
サイトまで来いと。
てか速度が遅いのはいかんともしがたいなあ。これじゃあだめだ。みんな!俺はゲ製作
から撤退するよ。今まで有難う!そしてさよーおならー!ブッ!シネ!
それかawait 16からawait 32に変えるか。
868:名前は開発中のものです。
07/05/14 19:42:30 zgcv7AfZ
MIDIが酷いのはPCのせいじゃねえw
869:名前は開発中のものです。
07/05/14 20:04:55 8OHbs/4R
つーか、ぶっちゃけ音質悪くても昔のファミコンのBGMの方が記憶に残ってる件w
870:名前は開発中のものです。
07/05/14 20:19:48 gxCU6qzs
釣りだよね?
釣りじゃなったとしたら子供だよね?
871:名前は開発中のものです。
07/05/14 20:41:16 2MGniMoO
うむ。
いくら10万円でも5年前の20万円よりはスペック上だと思うのだが、
一体何があったのだ。。
10万も出してスペックダウンするくらいなら
ショップブランドのデスクトップ型にした方が良かったんじゃないか。
872:名前は開発中のものです。
07/05/14 21:13:38 jKbLwa2+
スルー力を君らに
873:名前は開発中のものです。
07/05/14 21:26:36 qusRFGjc
>>867
何が原因で遅くなってるか調べたか?
ゲームが遅くなってるだけで、タスクマネージャのCPU使用率は50%ぐらいとかねーか?
つーか、OS,CPU、グラボ、メモリの違いも検討しないで買ったのかよ・・・
874:名前は開発中のものです。
07/05/14 23:39:40 qQM3DdCm
>>867
マジレスすると、
5年前+20万=Win2000が快適に動く
今+10万=VISTAがぎりぎりで動く
とかじゃね?
875:名前は開発中のものです。
07/05/15 00:26:10 xiOfuS6M
hsp2.6とhspdxfixでゲーム作ってるんだけど。
midiを演奏すると一瞬画面が止まります。
hsp以外の言語でもmidiファイルを演奏すると画面が止まりますか?
876:名前は開発中のものです。
07/05/15 00:48:18 QwlCZrR2
いまどきmidiデータなんぞ止めてオーディオデータを使いましょう
877:名前は開発中のものです。
07/05/15 01:12:07 FWjCeTAz
>>875
たぶんhmmとか使えばおk
878:名前は開発中のものです。
07/05/15 01:29:42 OAuZRVq8
>>875
再生に使ってるデバイスの問題
初期化に時間が掛かる(WinXPだと特に遅いと聞いた)
言語自体の問題じゃないよ
HSP3ならmciのMPEGVideoで再生開始速度が
早く出来るけど2はどうだろ?
879:名前は開発中のものです。
07/05/16 11:58:40 zA3GpFnY
まーしかし876に同意。
BGMがMIDIのゲームは嫌われたりするし、俺の環境ではミュートしちゃってる。
内蔵のソフトシンセなんて、どっちにしてもデータ作成者の意図どおりには鳴らんし。
880:名前は開発中のものです。
07/05/16 20:41:40 SejtJ/t7
>>876
すみません、オーディオデータってのが何なのかよく解りません。
AVI形式のことですか?無知ですいません。
881:名前は開発中のものです。
07/05/16 21:20:22 SzL9MSMh
wavとかじゃね?
882:名前は開発中のものです。
07/05/16 21:22:09 6BjJtGUs
jpgだよ。
883:名前は開発中のものです。
07/05/16 21:26:40 jv4GiZ2g
MOD最強
884:名前は開発中のものです。
07/05/16 22:09:20 6XNIRCTA
マジレスするとrarのこと
885:名前は開発中のものです。
07/05/16 23:49:37 FVllaHtw
>>880
四の五の言わずググれ。理解が深まるしそっちが早くて正確。
加えて話の流れも読むとより理解が深まるとおもうぞ。MIDIと対になってるだろ?
>>876,879
理解はできる。理解はできるが、ファイルサイズを気にしてしまう悪習慣がぬけないんだ。
つい、ね。
886:名前は開発中のものです。
07/05/17 01:11:36 k6rYSu8+
つーか、曲自体の出来がアレなのに、音源・音質ばっかり凝ってるのもイランけどな。
887:名前は開発中のものです。
07/05/17 03:06:38 qhlIETZh
まあそれはあるな
でもMIDIのBGMだったら鳴らさんほうがマシだ
888:名前は開発中のものです。
07/05/17 14:16:09 UjIQhbyQ
それは聞き捨てならんな。
フリー素材はほとんどがMIDI
そんな時代もあったのだよ。
故にMIDI資産は膨大
しょぼい音源のゲーム臭さも何とも言えんし、
Sound BLASTERとか、そうでなくても
サウンドフォントが扱えるサウンドカードならだいぶ世界が変わる。
あとTiMidiとかいうソフト音源もオススメ。
URLリンク(twsynth.sourceforge.jp)
ぶっちゃけ音源によって音が変わるのが良いんだヨ('A`)
889:名前は開発中のものです。
07/05/17 17:33:48 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:名前は開発中のものです。
07/05/17 21:46:05 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:名前は開発中のものです。
07/05/17 21:46:59 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:名前は開発中のものです。
07/05/17 23:11:30 ECrUiSe6
>>890 >>891
ウォォッ!ありがとう!
激しく参考にさせて頂きます。
('A`)ガンバルゼ
893:名前は開発中のものです。
07/05/18 03:44:38 fYCuLcq6
うを、まじかっ