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/
0795名前は開発中のものです。
2007/04/27(金) 08:30:28ID:WUq5gpdx0796名前は開発中のものです。
2007/04/27(金) 14:58:30ID:egFvpP+c"ジャワコーヒー" の検索結果 約 2,300 件
"ジャバコーヒー" の検索結果 約 622 件
0797名前は開発中のものです。
2007/04/28(土) 00:20:12ID:daus4mQk弾等を制御する際、モジュールでやってみたいんだけど、複数種類の弾や敵を各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#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:FrIkuCPnmesboxで横スクロールバー付きエディットボックス
0801名前は開発中のものです。
2007/04/30(月) 01:10:28ID:b3vJoRK1例えば画面内に敵キャラが100体居るとします。
主人公がそのうちの1体だけをランダムに攻撃した時に
その1体のスプライト番号を取得するにはどうすればいいですか?
0802名前は開発中のものです。
2007/04/30(月) 01:39:21ID:amrAC7iWHSP自身にはスプライト機能は無いぞ
0803名前は開発中のものです。
2007/04/30(月) 13:43:16ID:fcI/zZT60804名前は開発中のものです。
2007/05/01(火) 00:27:14ID:Zg8bJwrHキャラクタデータの記述された設定ファイルを作って、
そこから数値を読み込めるようにするにはどうすれば良いのでしょうか?
例えば、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ありがとうございました。
講座を検索したりしたのですが、hsp3以前向けだったり、iniだけだったりしたので
どうも解決出来ませんでした。調べが足りず、申し訳ありません。
今後はなるべく自力で何とかしようと思います。お手数をおかけしました。
0807名前は開発中のものです。
2007/05/01(火) 02:12:43ID:82VWC4K+ヘルプで必要になるだろう単語を入れて命令を絞って
それを使ってネット検索すれば誰でも使いそうな事は見つかるよ
今回のだと 文字列操作 とか テキスト で出てくる命令を使えば色々出てきたと思う
0808名前は開発中のものです。
2007/05/01(火) 13:21:29ID:Fn3EPEPtメインウィンドウにリストボックスか、コンボボックスが、あるとして、
そのどちらかに、フォーカスを合わせた後、ボックス以外の所をクリックしても、
マウスホイールの移動量(mousew)の取得が、出来なくなってしまいす。
ボタンをクリックすると、取得出来るようになりましたが、わざわざボタンを用いずに
mousewを取得することはできないでしょうか?
0809名前は開発中のものです。
2007/05/01(火) 17:12:27ID:S/wjR4mWモジュール型変数を二個使うとは思いつかんかった
亀ながらd!
0810名前は開発中のものです。
2007/05/02(水) 08:39:23ID:Tyg11EmhHSPVer2.6で講座作ってた奴は、Ver3が出た時にあったま来ただろうな。「ぬおお、おに
たままで俺の努力を台無しにするのか!ちくしょー!どいつもこいつも俺の努力を踏み
にじりやがって!そんなに俺のやることなすこと全部無駄にしたいのか!そんなに俺を
役立たずにしたいのくわぁぁぁぁ!」って。
俺もだけどな。
0811名前は開発中のものです。
2007/05/02(水) 09:29:25ID:da3SoYqw重要なのはソースではなく概念、アルゴリズムだから。
0812名前は開発中のものです。
2007/05/02(水) 15:27:01ID:EySZ2yOgHSPに依存する細かい使用の部分ってことでしょう
0813名前は開発中のものです。
2007/05/02(水) 18:06:48ID:iDXhpPSBま、三角関数や平方根を自前で計算するような無駄な努力も
必要なくなったってことで、先を見ればいいことではある
0814俺8(二代目) ◆fSWXoEZVTE
2007/05/02(水) 20:55:37ID:t0LZt7tH容量1GB(1ファイルあたりのサイズ上限はなし。ただし1MB超えると送信速度が落ちる)
PHPが使えるのでpukiを設置してみる、とかはどうでしょう。
問題あったら指摘よろしく。
0815俺8(二代目) ◆fSWXoEZVTE
2007/05/02(水) 20:56:17ID:t0LZt7tH0816名前は開発中のものです。
2007/05/02(水) 21:27:35ID:rOvofM6X0817名前は開発中のものです。
2007/05/02(水) 23:26:45ID:TgBlF1Ug0818名前は開発中のものです。
2007/05/02(水) 23:45:48ID:RTrLrXoWみんな、HSPに飽きてきた可能性もある?
0819名前は開発中のものです。
2007/05/03(木) 00:09:04ID:AtM1JTCEHSP3とHSP2たいして変わらないから
あと付属リファレンスが充実したから
0820名前は開発中のものです。
2007/05/03(木) 11:54:57ID:m3dHlTBmまあそれでも誰も付属のリファレンスなんか見ていないんだがな
本家BBSで質問してくる香具師は少しは調べろつーの
0821名前は開発中のものです。
2007/05/03(木) 15:44:01ID:ysyR2/y+HSP最大の売りだからな
0822名前は開発中のものです。
2007/05/03(木) 21:15:47ID:dXmWF+4T0823名前は開発中のものです。
2007/05/03(木) 23:03:18ID:kPqmtDgq自機の斜め移動速度を縦横と同じ速さにする方法がよく解りません。
横移動 x+4
縦移動 y+4
斜め移動 x+3:y+3
位にすると大体同じくらいの速さになるけど。
でもコレだと速すぎる。
横と縦の移動量を2くらいにしたいんだけど
そうすると斜めの移動量はどうなるんでしょうか?
0824名前は開発中のものです。
2007/05/03(木) 23:21:41ID:7TvtNXkU三角関数でググれ。
0825名前は開発中のものです。
2007/05/03(木) 23:26:36ID:tLhZ5Q0K小数を保持するために10倍・100倍の整数か浮動小数点を使え。
0826名前は開発中のものです。
2007/05/03(木) 23:40:01ID:s69yTu18最も単純な方法は…
;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
0827名前は開発中のものです。
2007/05/03(木) 23:48:21ID:kPqmtDgqどうも有難うございます。
とりあえず浮動小数点ってのが今の自分にはすぐに理解するのが難しいかなぁと思いますんで
>>826さんの方法でやってみたいと思います。
0828名前は開発中のものです。
2007/05/04(金) 05:01:12ID:N4dI25+p縦横に移動した時の移動量が1なら
斜めに移動した時の移動量は0.707106781186547
0829名前は開発中のものです。
2007/05/04(金) 05:03:26ID:N4dI25+p0830名前は開発中のものです。
2007/05/07(月) 01:09:39ID:Uyq9GLST作ったヤツをウェブサイトで公開したい訳ですが
フォントをMSゴシックにしてゲームに表示させても
フォントの著作権とか問題ないんですか?
0831名前は開発中のものです。
2007/05/07(月) 02:18:48ID:B/mb8Q1Dない。
と言うか、フォント内蔵の場合なら(厳密には)問題あるが、単にOSのフォントを呼び出す分には全く問題ない。
ユーザーの環境に指定のフォントが入ってなければ、表示が想定通りに行かなくなるだけだし。
どこぞの拾い物フォントを勝手に内蔵して使う分には、それぞれのフォントの許認可条件に従うこと。
まあ、基本的に、フォントをフォントそのものとして内蔵し、フォントとして使用できる形で公開しない限り、
無問題と考えて大丈夫。メチャ本格的に、大規模な商利用する場合はまた別だが、まあ気にすんな。
0832名前は開発中のものです。
2007/05/07(月) 20:03:12ID:KYFqszNbということは、フォントテーブルを持ったゲームやフォントを埋め込んだPDF,
フォントを使った画像ファイルにフォントのアウトラインが誰からも見られる紙の
印刷物は問題なの?
フォントって特殊な立場だな。
0833名前は開発中のものです。
2007/05/07(月) 20:20:16ID:jNjPNdHX0834名前は開発中のものです。
2007/05/07(月) 21:49:47ID:pmbXnqyF以下のソースを実行すると"#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なので、そこらへんが問題だと思うのですが、いかがでしょうか?
0835名前は開発中のものです。
2007/05/07(月) 21:52:15ID:Foh+9yi0↓
R = rnd(3)
0836名前は開発中のものです。
2007/05/07(月) 22:02:25ID:B/mb8Q1Dまあ結局>>833の言うとおりなんだけどな。
生ttfをゲームに同梱して配布するのはかなりやばい。
内部にBMP化してフォントを内蔵するのも、それなりにやばい。
一枚絵の中に文字が入っている、程度ならあまりやばくない。
また、大抵の場合、フォントを内蔵したワープロソフトみたいな
「フォントを"フォント"として取り扱う形態で配布」すると問題が大きくなる。
(注:ゲームには無関係のように見えるが、よくある「名前を入力する」部分が
ワープロ的だと見なされる場合がある)
やばいなと思うなら、フォントを内蔵せず、OSのフォントを呼び出すだけにしておいたら安全確実。
一枚絵の中に文字が含まれている、程度ならまあ大丈夫。
何万と売りさばく事が前提なら、何れにしろきちんとライセンスを取っておくこと。
0837名前は開発中のものです。
2007/05/07(月) 22:03:17ID:PZ9SZ2Mt↓
R=rnd(3)
HSP2の頃のサンプルを使うなら
HSPエディタの有るフォルダに index.htmってのがあるから
その中の
・以前のバージョンからの変更点(アップデートガイド) (update.htm)
これを一度見といた方がいい
0838名前は開発中のものです。
2007/05/08(火) 05:43:06ID:vruKdlwDそれとも、クォータービュー用(?)定番アルゴリズムとか、あるんでしょうか
0839名前は開発中のものです。
2007/05/08(火) 10:53:15ID:8GDuzc4l何か問題?
0840名前は開発中のものです。
2007/05/08(火) 16:45:06ID:GV3ApysF>>837
これでやっと先に進めます!
アップデートガイドの存在には気がつきませんでした。
今後は活用したいと思います。
ありがとうございました。
0841名前は開発中のものです。
2007/05/08(火) 23:45:41ID:tONREbU4pos rnd(639) , rnd(479)
みたいな記述ができて楽になった
gcopy 1,200+(80*rnd(3)),0,80,90
0842名前は開発中のものです。
2007/05/09(水) 20:52:30ID:VSNS2raaオブジェクト領域はできるらしいんだけど エロイ人ご教授ください
0843名前は開発中のものです。
2007/05/09(水) 23:53:51ID:07ufZ3sLクォータービュー用定番アルゴリズムなんてものはない!ゲ製作はいまだに職人
の世界だっ!師匠の指裁きや筆遣いや寿司ネタの握り方を見て技術を盗むんだよ。
定番のアルゴリズムは講座や本読めば買いてあるだろう。しかしクォータービュー
だとか、ちょっと凝ったやつになるとどうだ。ブツを見てどんなアルゴリズムなんだろう
な〜と想像するしかない。ブラックボックスってやつだね。でもゲ製作ってそういう
もんじゃね?ゲーム見て「これってどうやったらできるんだろう」って思う。そしてその
方法を考える。「ああこうやればできるや」って思えば技術の向上だ。
俺くらいの中級者になるとざっと考えるだけでこんだけ出てくるぜ。
・>>839に同じ。矩形。
・円ならもうちょっとマシなんじゃないか。
・ひし型の当たり判定その1。三角形2つと四角形1つに分ける。三角形は斜めに
なった四角形の判定でできる。
・ひし型ってのは長方形が上に行けば行くほど右にずれてるってことだ。そこから
導かれる計算式は?
・計算的にはまっすぐなスクロール。表示する時だけ斜めにする。
0844名前は開発中のものです。
2007/05/10(木) 00:20:36ID:2z4zuSSr0845名前は開発中のものです。
2007/05/10(木) 00:34:29ID:J9txepzh0846名前は開発中のものです。
2007/05/10(木) 04:35:42ID:U2vxhvV7ていうか、クォータービューって単に表示上斜めってなってるだけだから
内部処理では普通のSTG等と同じ事やってて、
表示だけ斜めにするんじゃねーの?
0847名前は開発中のものです。
2007/05/10(木) 06:59:01ID:+xzQXwZO0848名前は開発中のものです。
2007/05/10(木) 14:06:21ID:IknmfbEQ3Dでやるの?
0849名前は開発中のものです。
2007/05/10(木) 21:03:24ID:tEu0m8/uキーボードを二つパソコンにつないで同じボタンを押しても
1Pが押したのか2Pが押したのか分かるやりかたを教えてください。
お願いしますm(__)m
0850名前は開発中のものです。
2007/05/10(木) 21:54:52ID:J9txepzh0851名前は開発中のものです。
2007/05/10(木) 22:00:18ID:Pb7a8JUW0852名前は開発中のものです。
2007/05/10(木) 23:03:11ID:lvPcrjF3やり方があるのかどうかは、知らないが。
キーボードを二つ接続したPC環境を構築している人間は、少数派だろうから、
そのゲームを一般に公開するつもりなら、別の操作系を考えるのが賢明だと思う。
自分や仲間内だけで遊ぶゲームなら、その限りではないけど。
0853名前は開発中のものです。
2007/05/12(土) 03:18:16ID:iitxNH6p2人以上ならゲームパッド(ジョイバッド?)を使うのが普通だろうね。
パッドvsパッドかパッドvsキーボード。
というかそもそもキーボードはゲームにむいてない。一般のキーボードはほとんど2〜3キーロールオーバーだから。
あ、マウスvsキーボードって対戦もありか。w
0854849
2007/05/12(土) 09:38:38ID:CHidITY30855名前は開発中のものです。
2007/05/12(土) 11:00:15ID:IIhlPIBe今の時代パソコン2台でネット対戦にした方が早い気もするし。
0856名前は開発中のものです。
2007/05/12(土) 11:31:45ID:BKWL2B2V0857名前は開発中のものです。
2007/05/12(土) 11:42:17ID:9cDQPoon友人の家にキーボード持っていって実際に試したけど
両方のキーを受け付けて、判別はできなかったな。
マウスVSキーボードも、対戦マインスイーパー作って試してもらったんだけど
圧倒的にマウスのほうが操作早くて、公平なプレイにならなかった。
まぁ、パッド2つが無難だろう。
0858名前は開発中のものです。
2007/05/12(土) 15:11:32ID:tMkY9b8/おぼえてねー
0859名前は開発中のものです。
2007/05/12(土) 20:47:05ID:LoRPkVYn何に使われてる環境だ?
0860名前は開発中のものです。
2007/05/12(土) 23:28:26ID:tMkY9b8/0861名前は開発中のものです。
2007/05/12(土) 23:29:58ID:qzFNDBxk確かに、俺も対戦ゲーム作る時は、普通にLAN対戦にするだろうな。
そっちの方が楽だろう。
0862名前は開発中のものです。
2007/05/13(日) 01:01:01ID:8A9djd1gXP以降限定だけど、WM_INPUTでHIDの生データ取れば実現できるんじゃね?
試してないけどさ
0863名前は開発中のものです。
2007/05/14(月) 00:05:11ID:bOzJ10Ylmousewの使いかたがよくわかりません。。。
どうすればいいですしょうか?
0864名前は開発中のものです。
2007/05/14(月) 00:26:20ID:uwtqYVSD// 画面の高さ
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
0865名前は開発中のものです。
2007/05/14(月) 01:07:27ID:ecV+XOk6しかも、スクロールホイールを2回動かす間にmousewを一度しか参照しなかったら、
前の1回分は破棄されるというふてえ仕様だ。
あたまわるいmousewのために高頻度でポーリングするのも余計な負荷なので、
WM_MOUSEWHELLを捕まえて内部カウンタを積算したほうが便利よ。
0866名前は開発中のものです。
2007/05/14(月) 01:10:27ID:bOzJ10Ylおおぉーできました!ありがとうございます。
ifの判断でmousewをそのまま使ってたのがダメだったみたいです・・・。
0867名前は開発中のものです。
2007/05/14(月) 19:39:39ID:bUJYvT5Nとしては最底辺の10万だ。んで自作ゲームを動かしてみた。ひど!微妙に遅い。いや
それよりももっとひどいのがMIDI。うわ!安物のPCだとこんなふうに聞こえるんだあ。
いくつかの楽器がまともに鳴ってない。あるいは完全に鳴ってない。
5年もたってるんだぜ!?いくら安くても進化しててよくね?みんな!これからはmp3だよ!
サイズが大きいのは嫌だって奴のためにMIDI版も自分のサイトに用意しといて、俺の
サイトまで来いと。
てか速度が遅いのはいかんともしがたいなあ。これじゃあだめだ。みんな!俺はゲ製作
から撤退するよ。今まで有難う!そしてさよーおならー!ブッ!シネ!
それかawait 16からawait 32に変えるか。
0868名前は開発中のものです。
2007/05/14(月) 19:42:30ID:zgcv7AfZ0869名前は開発中のものです。
2007/05/14(月) 20:04:55ID:8OHbs/4R0870名前は開発中のものです。
2007/05/14(月) 20:19:48ID:gxCU6qzs釣りじゃなったとしたら子供だよね?
0871名前は開発中のものです。
2007/05/14(月) 20:41:16ID:2MGniMoOいくら10万円でも5年前の20万円よりはスペック上だと思うのだが、
一体何があったのだ。。
10万も出してスペックダウンするくらいなら
ショップブランドのデスクトップ型にした方が良かったんじゃないか。
0872名前は開発中のものです。
2007/05/14(月) 21:13:38ID:jKbLwa2+0873名前は開発中のものです。
2007/05/14(月) 21:26:36ID:qusRFGjc何が原因で遅くなってるか調べたか?
ゲームが遅くなってるだけで、タスクマネージャのCPU使用率は50%ぐらいとかねーか?
つーか、OS,CPU、グラボ、メモリの違いも検討しないで買ったのかよ・・・
0874名前は開発中のものです。
2007/05/14(月) 23:39:40ID:qQM3DdCmマジレスすると、
5年前+20万=Win2000が快適に動く
今+10万=VISTAがぎりぎりで動く
とかじゃね?
0875名前は開発中のものです。
2007/05/15(火) 00:26:10ID:xiOfuS6Mmidiを演奏すると一瞬画面が止まります。
hsp以外の言語でもmidiファイルを演奏すると画面が止まりますか?
0876名前は開発中のものです。
2007/05/15(火) 00:48:18ID:QwlCZrR20877名前は開発中のものです。
2007/05/15(火) 01:12:07ID:FWjCeTAzたぶんhmmとか使えばおk
0878名前は開発中のものです。
2007/05/15(火) 01:29:42ID:OAuZRVq8再生に使ってるデバイスの問題
初期化に時間が掛かる(WinXPだと特に遅いと聞いた)
言語自体の問題じゃないよ
HSP3ならmciのMPEGVideoで再生開始速度が
早く出来るけど2はどうだろ?
0879名前は開発中のものです。
2007/05/16(水) 11:58:40ID:zA3GpFnYBGMがMIDIのゲームは嫌われたりするし、俺の環境ではミュートしちゃってる。
内蔵のソフトシンセなんて、どっちにしてもデータ作成者の意図どおりには鳴らんし。
0880名前は開発中のものです。
2007/05/16(水) 20:41:40ID:SejtJ/t7すみません、オーディオデータってのが何なのかよく解りません。
AVI形式のことですか?無知ですいません。
0881名前は開発中のものです。
2007/05/16(水) 21:20:22ID:SzL9MSMh0882名前は開発中のものです。
2007/05/16(水) 21:22:09ID:6BjJtGUs0883名前は開発中のものです。
2007/05/16(水) 21:26:40ID:jv4GiZ2g0884名前は開発中のものです。
2007/05/16(水) 22:09:20ID:6XNIRCTA0885名前は開発中のものです。
2007/05/16(水) 23:49:37ID:FVllaHtw四の五の言わずググれ。理解が深まるしそっちが早くて正確。
加えて話の流れも読むとより理解が深まるとおもうぞ。MIDIと対になってるだろ?
>>876,879
理解はできる。理解はできるが、ファイルサイズを気にしてしまう悪習慣がぬけないんだ。
つい、ね。
0886名前は開発中のものです。
2007/05/17(木) 01:11:36ID:k6rYSu8+0887名前は開発中のものです。
2007/05/17(木) 03:06:38ID:qhlIETZhでもMIDIのBGMだったら鳴らさんほうがマシだ
0888名前は開発中のものです。
2007/05/17(木) 14:16:09ID:UjIQhbyQフリー素材はほとんどがMIDI
そんな時代もあったのだよ。
故にMIDI資産は膨大
しょぼい音源のゲーム臭さも何とも言えんし、
Sound BLASTERとか、そうでなくても
サウンドフォントが扱えるサウンドカードならだいぶ世界が変わる。
あとTiMidiとかいうソフト音源もオススメ。
http://twsynth.sourceforge.jp/
ぶっちゃけ音源によって音が変わるのが良いんだヨ('A`)
0889名前は開発中のものです。
2007/05/17(木) 17:33:48ID:ECrUiSe6スクリプト作ってみたんですが、どうも上手く動作してくれません。
どこが間違ってるのか教えてくらさーい。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
;*****************************************************
0890名前は開発中のものです。
2007/05/17(木) 21:46:05ID:lJm49cl1#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 //キーが無いとき
}
0891名前は開発中のものです。
2007/05/17(木) 21:46:59ID:lJm49cl1#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
前に作ったやつをそのまま。参考に
0892名前は開発中のものです。
2007/05/17(木) 23:11:30ID:ECrUiSe6ウォォッ!ありがとう!
激しく参考にさせて頂きます。
('A`)ガンバルゼ
0893名前は開発中のものです。
2007/05/18(金) 03:44:38ID:fYCuLcq60894名前は開発中のものです。
2007/05/18(金) 19:34:18ID:MlFuc+iH'叨¨ヽ `ー-、
` ー /叨¨)
ヽ,
`ヽ.___´, <うを、まぶしっ
`ニ´
:::. : : ..:::
:::. : . .:::
::.. : : ..::
:::.. :. .: .::
:::... ... ...::
::..... ...::::
∧ ::...::: /
{ ヽ| |ノノ
_ト、Lj/}
r< { | |7ヽ、
{ ,_ェェ.L⊥.__{ノ、
j `}ー'
} ――ー-{
ヽ --―‐r'
\_ __. イ
`ー┴ ´
0895名前は開発中のものです。
2007/05/21(月) 15:10:11ID:PlwO7Z3Z以下の方法だと、角度の精度が、大雑把と言うか、角度によっては弾が当たらない場合もあるのですが
どこがいけないのでしょうか。よろしくお願いします。(HSP3用です)
mx = 320 : my = 320 : ex = 320 : ey = 150 ; 敵味方座標
tx = 0:ty = 0 ; 弾座標
*main
e++ : if e = 60 : tx = ex : ty = ey : gosub *tama_houkou : e = 0
gosub *tama_move
stick k,15
if k&1 : mx-
if k&4 : mx+
if k&2 : my-
if k&8 : my+
redraw 0 : color : boxf
color ,$ff : pos mx,my : mes "▲" ; 自機
color $ff : pos ex,ey : mes "▼" ; 敵
pos tx,ty : mes "●"; 弾
redraw 1 : await 0 : goto *main
*tama_houkou ; 自機の方向を得る
a = ex - mx : b = ey - my
c = atan (a,b)
si = int(sin(c)*4) : co = int(cos(c)*4)
return
*tama_move ; 弾移動
tx+=-si : ty+=-co
return
■ このスレッドは過去ログ倉庫に格納されています