トップページgamedev
987コメント370KB

HSP - Hot Soup Processor [14]

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

  ONION software (本家)
   http://www.onionsoft.net/
0712名前は開発中のものです。2007/04/17(火) 23:32:40ID:I7JDTHxT
>>711
hspdxって使ったことないんだが、そのes_checkって当たってるスプライト1つしか返さないんだな。
自前でやったほうが簡単そうだな
0713名前は開発中のものです。2007/04/17(火) 23:48:03ID:bRIENLRO
es_checkはもし同時に衝突してたらスプライト番号が低いほうが優先される仕組みになってる。
少しでも衝突タイミングが違えば問題ないんだけど。
あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
あと俺の使ってるのはhspdxじゃなくてhspfixの間違いでした。
0714名前は開発中のものです。2007/04/17(火) 23:49:00ID:2AXbs49U
>>711
ああすまん、ちゃんと読んでなかった。壁なw

>>712
判定を始めるスプライト番号を指定できるから、ひとつ見つかったら
その番号の後から再検索すれば良い。
07157142007/04/17(火) 23:51:13ID:2AXbs49U
自己レス
>判定を始めるスプライト番号を指定できるから
そんなもん無かったw
勘違い
0716名前は開発中のものです。2007/04/17(火) 23:52:08ID: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

これでいんじゃねーの?
0717名前は開発中のものです。2007/04/17(火) 23:52:31ID: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の説明がないから
このままでは不都合あるのかもしれないけど
0718名前は開発中のものです。2007/04/17(火) 23:54:36ID:M+5M3LEd
間違えた。

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

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

>>715
大丈夫fixだから指定できるw
0720名前は開発中のものです。2007/04/17(火) 23:58:44ID:bRIENLRO
1回衝突判定が終ったら弾スプライトに+1してループさせてる。
それでもすり抜ける。
0721名前は開発中のものです。2007/04/18(水) 00:11:22ID:I6KwsLu+
>>720
まぁ何だ。

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

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


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

> あと、一度すり抜けたスプライトはすり抜け中に再び衝突判定が得られにくい。
> すり抜けてる最中に他のスプライトとの衝突判定が起きるから。
お前は何を言っているんだ。
0722名前は開発中のものです。2007/04/18(水) 00:16:03ID:7jAYZaBw
スプライト番号が高いのが優先されるかどうかはどうでもいいから適当に書いた。
すまんかった。
後半の文はちょっとわかり辛かったかな。
まあ大した事無い事なので訂正しなかったけど。
まあまだゲーム製作初めたばっかりだから勘違いしてる所は結構あると思うけど。
とりあえずもう少し勉強してみます。
0723名前は開発中のものです。2007/04/18(水) 00:47:39ID:7jAYZaBw
プログラミングよりも日本語や人間としての常識の勉強が必要だったようです。
スレ汚しして申し訳ございませんでした。
0724名前は開発中のものです。2007/04/18(水) 01:04:07ID:0trzgnV6
なんだこの展開w
07257162007/04/18(水) 01:22:55ID: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の方で作って試したけど問題なかった)
使ってる変数の初期化を忘れてるだけじゃねーのか?
0726名前は開発中のものです。2007/04/18(水) 04:34:37ID: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万人
07277162007/04/19(木) 17:58:35ID:D0ENsgxE
おーい>>723
プラグインのバグなのか
スクリプト側ののバグなのか
環境依存の問題なのか
はっきりさせろよ……

hspdxfixに濡れ衣を着せたかもしれないのに
無視か?
0728名前は開発中のものです。2007/04/21(土) 07:42:36ID:2BG2s3w3
3.1b9公開。圧縮状態で7.5MBか。昔に比べるとずいぶん太った
気がするけど、プログラミング環境としてはまだ全然小さいんだよね。
今ではActiveBasicよりはでかいみたいだけど、使いではHSPが
圧勝だし。
0729名前は開発中のものです。2007/04/21(土) 08:13:40ID:2bdLwNha
沖縄県の方へ(命に関わる注意事項です)

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

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

今回の選挙で民主党が勝った場合、「自主」「発展」を連呼しつつ段階的に進めていくことになります。
自主と言っても、自主を認めるのが「住人の96%が中国人となった」後だということに気をつけてください。
発展と言っても、新沖縄の少数派となった「少数民族日本人」の発展ではないことに気をつけてください。
0730名前は開発中のものです。2007/04/21(土) 14:09:04ID:LM8tnE4F
>>728
いまどき大きさなんか関係あるか?
0731名前は開発中のものです。2007/04/21(土) 15:30:40ID:gdpZ03+g
昭和から来たんだよ彼はw
0732名前は開発中のものです。2007/04/21(土) 16:59:16ID:laYGd4sA
JAVAみたく500MBとかじゃないからいいよ
HSPはプラグインとサンプル豊富だから助かる

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

zlib試したけどメモリーだと一時保存に4倍使うからむりだったぽ
0734名前は開発中のものです。2007/04/22(日) 12:54:13ID:JwKt5lan
4倍使うの意味が分からんが、平文を分割してから圧縮すればええんちゃう?
超巨大な文字列を圧縮する時に、必要なmallocがでかいとかそんな意味ならば。
0735名前は開発中のものです。2007/04/22(日) 13:34:52ID:GAHMA1wL
>>734
4倍ってのは圧縮作業の為の展開エラー対策だと思うんだ・・・
圧縮されたデータを復元するにしてもどうやってるのか分からない

zlibはHSPでは使えないのかな
0736名前は開発中のものです。2007/04/22(日) 14:10:18ID:xdLPXb3/
ttp://mia.taillove.jp/
0737名前は開発中のものです。2007/04/22(日) 15:14:13ID:GAHMA1wL
>>736
メモリー内圧縮使ったことありますか?
そこで止まってます。
0738名前は開発中のものです。2007/04/22(日) 15:33:16ID:xdLPXb3/
ボクちゃん、test_mem.as 読める?
0739名前は開発中のものです。2007/04/22(日) 15:36:02ID:JwKt5lan
「メモリー内圧縮」って何か特別な意味(言葉)なん?
分割して圧縮処理じゃダメなんか?
0740名前は開発中のものです。2007/04/22(日) 15:52:31ID:GAHMA1wL
>>738
読めますよ
実行して出来たデータ配列が元より大きいのは圧縮失敗じゃないんですか?
0741名前は開発中のものです。2007/04/22(日) 16:01:02ID: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
0742名前は開発中のものです。2007/04/22(日) 16:01:19ID:JwKt5lan
>>740
すでに圧縮されているデータは、それ以上小さくするのはほとんど無理
というかヘッダとかで増えるぞ?

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

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

strf("圧縮率 %d",csize * 100 / rsize)
0744名前は開発中のものです。2007/04/22(日) 16:11:45ID:GAHMA1wL
いや圧縮自体はできるんですが・・・
ややこしいので解決でいいです
0745名前は開発中のものです。2007/04/22(日) 16:18:28ID:JwKt5lan
上手く説明ができなきゃ、上手く理解もできんて。
0746名前は開発中のものです。2007/04/22(日) 16:54:06ID:hYUKyQue
>>740
>stat は圧縮後のサイズです。
>書き込み先のメモリが足りないなどでエラーが発生した場合は、
>stat=0 となります。
なぁ、これをどんな解釈したんだ?
配列は拡張されないからもとより大きくなんてならねーぞ
お前配列サイズを勘違いしてねーか?
dimで確保したのは1要素4バイトだぞ?
どこにも圧縮元より大きい作業領域が必要なんて書いてねーだろ
バッファが足り無きゃstat=0になるって書いてあるだろボケ
0747名前は開発中のものです。2007/04/22(日) 17:07:14ID:xdLPXb3/
元データサイズが小さいから、効果が分かりにくいと思って
741のスクリプトをまた少し変えて
同じ文字列を100個連結させたもの(15000byte)に対する操作を試してみたが。
圧縮したら、297byte(圧縮率 2% 弱)にまでなった。
同じデータの繰り返しだからってのもあるかもしらんが。

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

(精神衛生上 よろしくないので、ボクちゃんの事を考えるのはやめた。)
0748名前は開発中のものです。2007/04/22(日) 17:44:41ID:rmOxLuM6
サンプルにある
dim cdata, DATASIZE
zSetDest cdata, DATASIZE*4
ってーのを見て、4倍必要とか思い込んだんだろうな
dim cdata, DATASIZEのメモリサイズがDATASIZE*4なのにねぇ

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

0749名前は開発中のものです。2007/04/23(月) 00:12:53ID:4Rf7CIdU
HSP2.62とHSPDXFIXEDのプラグインを使ってゲームを作ってるんですけど
たまにキャラや背景の色が反転してしまう時があります。
毎回ではなくてたまになんです。
何か原因があるんでしょうか?
07507492007/04/23(月) 00:25:34ID:4Rf7CIdU
画像ファイルはBMPです。
あとパレットモードで236色にしています。
どうもプログラムが長くなってきてから色がおかしくなる頻度が高くなってきている気がします。
それとawaitの数値が多少影響してるようにも思えるんですけど。
0751名前は開発中のものです。2007/04/23(月) 00:30:08ID:3Fv7BgL3
はっきり言ってそんなんじゃ判らんw
プログラム自体を分割して問題部分の切り分けをすべし。
0752名前は開発中のものです。2007/04/23(月) 00:40:06ID:vbt0vmPJ
>>749
HSP2.62とかHSPDXFIXEDとか、聞きなれない名前なのが気になるが。

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

「D3Dスプライト機能を使ってない」 とか断言してしまうなら、知らん。
0753名前は開発中のものです。2007/04/23(月) 00:41:23ID:gvRd6xEU
BMPのパレットが揃ってないとか
0754名前は開発中のものです。2007/04/23(月) 01:00:19ID:4Rf7CIdU
毎回色がバグるのなら原因究明もラクだと思うんですけど
稀にしか起こらない現象だから原因を探すのが難しいんですよ。
デスクトップの解像度とか関係あるのかな?
あと3Dは使ってないです。
0755名前は開発中のものです。2007/04/23(月) 01:15:33ID:gvRd6xEU
めんどくさいからハイカラーかフルカラーで作れ。
0756名前は開発中のものです。2007/04/23(月) 01:43:12ID:3Fv7BgL3
ああ、そうだな。。
なんでパレットモードなんか使ってんだ。
パレチェンしたいなら別の画像持てば良いじゃない。
0757名前は開発中のものです。2007/04/23(月) 04:04:26ID: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)

これだと落ちない。
なぜなんでしょうか。
0758名前は開発中のものです。2007/04/23(月) 04:38:01ID:nyr50uuI
>>757
hsp3.0aでやったけどエラーも落ちることも無いぞ?
環境書け
0759名前は開発中のものです。2007/04/23(月) 09:47:55ID: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)


どうやって回避すればいいのでしょうか。
0760名前は開発中のものです。2007/04/23(月) 11:47:41ID:lQ85Pfj4
>759
758じゃないけど、俺のとこでも試してみたらj=510では落ちなかった。
ウチの環境だとj=10000までOK。
0761名前は開発中のものです。2007/04/23(月) 11:52:32ID:lQ85Pfj4
>759
バッファオーバーフローが原因なので、なにか計算間違いがあるのかも。
sdimで指定する値を必要な分だけ大きくすれば大丈夫なのでは?
0762名前は開発中のものです。2007/04/23(月) 15:28:03ID:ExoMwemo
>>760
それはエラーが起きてる場所が違くないか?w

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

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

ダメだったら
●HSPWiKi HSP3バグトラッッキングシステム
にでも挙げとけば修正されるだろう
0763名前は開発中のものです。2007/04/23(月) 15:34:21ID:ExoMwemo
>3.1b9 を試してみたら?
自分で試した方が早そうだから試したらエラー出無かったよ

>struct型の配列終了処理でエラーが発生することがある不具合を修正。(HSPBT#144)
これ関連のバグだったのかな・・・
0764名前は開発中のものです。2007/04/23(月) 20:51:29ID: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

もうお手上げだが、エラーは起こらないって人の方が多数なので
びっくりするほどの初歩的ミスを犯していないか心配になってきた
0765名前は開発中のものです。2007/04/23(月) 21:11:10ID:oSeQHQqW
俺がそのトラブルに当たったときは、ああまたHSPのバグかと思って
変数渡しのコードに変更したよ
0766名前は開発中のものです。2007/04/23(月) 22:53:07ID:QLdFJFVh
とりあえず>>759は、

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

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

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

>j = 10001 以上でエラーとなった
これは766が言ってる通り
だから762で突っ込み入れといたのに・・・
0768名前は開発中のものです。2007/04/24(火) 00:12:44ID:BuNmsmYs
>>767
それが正解のようでした
デバッグウィンドウを表示させないとエラーは出なかった

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

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

とにかくありがとう。
置換用のモジュール作るのに2048byte縛りはあまりにもきつかったから助かったよ
0769名前は開発中のものです。2007/04/24(火) 00:18:59ID:QtkXlejF
>>768
β版がアップされてるページの下のほうに
バグ報告用のページがリンクされてる
0770名前は開発中のものです。2007/04/24(火) 14:26:48ID:QrQgTR4I
まだッが一個多いままなのかw
0771名前は開発中のものです。2007/04/24(火) 17:02:41ID:xgJkhdwr
今はじめて気づいたw
0772名前は開発中のものです。2007/04/24(火) 20:11:32ID:9drbfLn6
気合を入れて発音しているだけですので仕様です。
修正予定はありません。
0773名前は開発中のものです。2007/04/24(火) 21:55:10ID:Nf3/8HfV
〜ッッ
0774名前は開発中のものです。2007/04/24(火) 23:16:37ID:9drbfLn6
もっとッ

「───ッッ!!」

って感じで。恋人や家族を殺された主人公が敵と対峙したときのような、
声にならない怒りと憎しみの表現だよ。日本語ってすごいよね
0775名前は開発中のものです。2007/04/24(火) 23:42:34ID:uJIuySMN
ジョジョだな
0776名前は開発中のものです。2007/04/25(水) 11:17:31ID:cNm9Fqt7
ファイナルファンタジーってこれで作ってんの?
0777名前は開発中のものです。2007/04/25(水) 12:29:42ID:a5AmdZFY
              ,、-―-、
             丿   <`)       __
        ,、- ''' "二ヽ_(ヽ'`(二ニ・    |   \_
        /  、     !__'、_┌´     │   / `' ー┐
     /     ヽ   |   `         |   |     |
   ___ |    ヾ__|   |   _,、r‐'',ニ=-  |  /  _,、-‐'゙
 _| '、|    ミ/ ゙、  |_,∠-''´ ̄`'ー、   ̄|-''" |
 \|.  |     l___l     / ̄ヾ`´`   | ̄ ̄ ̄`'''iー、
.  |/゙|    ̄   ヽ_,、-''´`ヽ _,、,、,、,、_|______|_
  |  ( ´         ,、- ''゙  丿 ヾ二二二二二二二二二|ニ!
  ヽ<二二二二二>~/ / /   └‐┬─‐────┬┘
      フ,||,     / / /      │        │
      ''´ | |   _ノ  /.          │        │
.        | |   >/ ./         │        │
0778名前は開発中のものです。2007/04/25(水) 13:36:22ID:PyhPVqEN
また音楽の話で悪いけど、ゲームでwav,midi共に音量をコントロールしようと思って
今はプラグイン二つの併用か、MCIでmpegvideoにしてやる方法の二つを試してる。

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

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

( ´,_ゝ`)プッ
   ⊂彡☆))Д´) >>776
     パチーン!!
0781名前は開発中のものです。2007/04/25(水) 19:20:11ID:fK/xi7te
>>776
常識過ぎてみんなあきれてるぞ。クレジットにそう書いてあっただろ
0782名前は開発中のものです。2007/04/25(水) 19:58:49ID:vIB2Tzgo
市販ゲの殆んどがHSPだよな。
たまにツクールも見るが。
0783名前は開発中のものです。2007/04/25(水) 20:52:13ID:VYJu+Wqs
Vistaは余りにも有名
0784名前は開発中のものです。2007/04/25(水) 21:06:01ID:fK/xi7te
ああ、Vistaはちょっと泣いちまったよ。
もと宿敵だったアーロンをかばってキースが特攻したシーンなんか、ヤバかったな。
ていうか演出があざと過ぎ
0785名前は開発中のものです。2007/04/25(水) 21:38:59ID:jZG+4jJU
>>784
OS
0786名前は開発中のものです。2007/04/25(水) 22:18:50ID:fK/xi7te
>>785
魔法使いだな。
0787名前は開発中のものです。2007/04/25(水) 23:06:53ID:4DX9ZUzz
オス! おらビスタ!
0788名前は開発中のものです。2007/04/26(木) 16:20:50ID:u0xY1+V8
冥王星に代わっておしおきよ!
0789名前は開発中のものです。2007/04/26(木) 18:16:57ID:hUYx8S1F
>>788
職務怠慢を理由に左遷され当時の上司を逆恨みし、復讐の機会を狙ってるんだっけ
0790名前は開発中のものです。2007/04/26(木) 20:18:33ID:2xt9h9SY
sgtって、Directsoundでソフト音源で鳴らすから環境依存にならないらしいんだけど、
負荷高いのかな?oggとどっちにしようか迷ってるんだけど、どうですか?
0791名前は開発中のものです。2007/04/26(木) 20:28:32ID:vjdyL8/F
sgtって何
0792名前は開発中のものです。2007/04/26(木) 23:15:40ID:by3e610C
hspのアイコンってコーフィーカップみたいだけど
ジャワのパクリなの?
0793名前は開発中のものです。2007/04/26(木) 23:31:56ID:gBmqOl1c
ホットスープだからじゃね?
0794名前は開発中のものです。2007/04/27(金) 00:02:59ID:egFvpP+c
ホット"スープ"プロセッサ
スープカップ
スープポット

javaのコーヒーカップは"ジャワ"コーヒーから?
0795名前は開発中のものです。2007/04/27(金) 08:30:28ID:WUq5gpdx
Javaは“ジャバ”コーヒーから
0796名前は開発中のものです。2007/04/27(金) 14:58:30ID:egFvpP+c
"Java coffee" の検索結果 約 305,000 件
"ジャワコーヒー" の検索結果 約 2,300 件
"ジャバコーヒー" の検索結果 約 622 件
0797名前は開発中のものです。2007/04/28(土) 00:20:12ID: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で処理するように出来るの?
一種類の弾ならサンプルスクリプトの方法で出来るんだけど…
0798名前は開発中のものです。2007/04/28(土) 07:22:58ID: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
モジュール型変数の新しく追加された要素か次に使われる要素が簡単に分かれば配列で簡単に出来るけど・・・(空いてるところを探すか空いたところを記憶してソートするしかない?)
0799名前は開発中のものです。2007/04/28(土) 10:12:45ID:hldoJq+Y
文字が多くなって文字が画面からはみ出たときは
自動でスクロールバーが表示されるようにするにはどうすればいいの?
0800名前は開発中のものです。2007/04/28(土) 15:25:23ID:FrIkuCPn
>>799
mesboxで横スクロールバー付きエディットボックス
0801名前は開発中のものです。2007/04/30(月) 01:10:28ID:b3vJoRK1
HSP2.6なんだけど
例えば画面内に敵キャラが100体居るとします。
主人公がそのうちの1体だけをランダムに攻撃した時に
その1体のスプライト番号を取得するにはどうすればいいですか?
0802名前は開発中のものです。2007/04/30(月) 01:39:21ID:amrAC7iW
そのスプライトは何で表示してんだ?
HSP自身にはスプライト機能は無いぞ
0803名前は開発中のものです。2007/04/30(月) 13:43:16ID:fcI/zZT6
自分で配列に素プレイと番号を保存して管理したほうが早いだろ
0804名前は開発中のものです。2007/05/01(火) 00:27:14ID:Zg8bJwrH
【バージョン】HSP3.0
キャラクタデータの記述された設定ファイルを作って、
そこから数値を読み込めるようにするにはどうすれば良いのでしょうか?
例えば、chara.cfgというファイルを作ってその中に、
HP=500と言う文字列を入力しておくと、
mes "HP="+HP+"/500"とした時にHP=500/500と表示されるように・・するみたいな。
要するに外部ファイルから数値を読み込むにはどうすれば良いのでしょうか?
0805名前は開発中のものです。2007/05/01(火) 01:20:55ID: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"

処理速度は無視してるけど一回で何千とか処理するんじゃ無ければ大丈夫だろう
つーか、これぐらいその辺に転がってるだろ・・・
0806名前は開発中のものです。2007/05/01(火) 01:39:35ID:Zg8bJwrH
>>805
ありがとうございました。
講座を検索したりしたのですが、hsp3以前向けだったり、iniだけだったりしたので
どうも解決出来ませんでした。調べが足りず、申し訳ありません。
今後はなるべく自力で何とかしようと思います。お手数をおかけしました。
0807名前は開発中のものです。2007/05/01(火) 02:12:43ID:82VWC4K+
>>806
ヘルプで必要になるだろう単語を入れて命令を絞って
それを使ってネット検索すれば誰でも使いそうな事は見つかるよ

今回のだと 文字列操作 とか テキスト で出てくる命令を使えば色々出てきたと思う
0808名前は開発中のものです。2007/05/01(火) 13:21:29ID:Fn3EPEPt
ツールを作っている所で、つまずいてしまいました。質問させてください。

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

ボタンをクリックすると、取得出来るようになりましたが、わざわざボタンを用いずに
mousewを取得することはできないでしょうか?
0809名前は開発中のものです。2007/05/01(火) 17:12:27ID:S/wjR4mW
>>798
モジュール型変数を二個使うとは思いつかんかった
亀ながらd!
0810名前は開発中のものです。2007/05/02(水) 08:39:23ID:Tyg11Emh
>講座を検索したりしたのですが、hsp3以前向けだったり
HSPVer2.6で講座作ってた奴は、Ver3が出た時にあったま来ただろうな。「ぬおお、おに
たままで俺の努力を台無しにするのか!ちくしょー!どいつもこいつも俺の努力を踏み
にじりやがって!そんなに俺のやることなすこと全部無駄にしたいのか!そんなに俺を
役立たずにしたいのくわぁぁぁぁ!」って。
俺もだけどな。
0811名前は開発中のものです。2007/05/02(水) 09:29:25ID:da3SoYqw
大丈夫。
重要なのはソースではなく概念、アルゴリズムだから。
■ このスレッドは過去ログ倉庫に格納されています