HSP - Hot Soup Processor [14]

938名前は開発中のものです。:2007/05/25(金) 16:34:58 ID:KndwYBJW
ttp://taillove.jp/mia/
のHSP DirectSoundExtension使え
939名前は開発中のものです。:2007/05/25(金) 20:26:10 ID:JjZ3Sg5p
優しい奴ばっかりだな。
何があった?
940名前は開発中のものです。:2007/05/25(金) 22:10:51 ID:AURAMUwd
>>935
すごく解り易かったです!
色々調べてたけど説明が長いだけで、解り難かったんです。
そういう風に簡潔にまとめてくれるとすごく助かります、ありがとうございました!

>>936
それは僕(934)に対しての言葉ですか??
そうならそのサンプル(?)に表示の秘密が隠れてるんですね!
じっくり吟味してきます!ありがとうございました!
941名前は開発中のものです。:2007/05/25(金) 23:18:55 ID:AURAMUwd
(´・ω・`)
942名前は開発中のものです。:2007/05/26(土) 00:09:57 ID:6s2TcZXX
手取り足取りソースまでもらっちゃって嬉しいのは分かるが
ちゃんと理解してるか。成長しないぜ…?
943名前は開発中のものです。:2007/05/26(土) 00:13:36 ID:U/6PjzIv
>>942
そうそう、ソースのをそのままはめ込むのはやらない様にしています。
一度新規で教えてもらったソースを実行して、
一個ずつの命令をちゃんと勉強してます。

今回は初めてだから何も解らないけど、
次回作とか作る時に理解してないと困るの自分ですからね

って返信速っ
944名前は開発中のものです。:2007/05/26(土) 13:33:05 ID:QgYK0MmP
14歳からのHSPプログラミングを見ながらシューティングゲームを作っています。
スペースキーを押すと弾が発射されるようにしたいのですが、何故かカーソルキー←で弾がはっしゃれるようになってしまいました。
何故でしょうか?以下がそのプログラムです。

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

screen 0,480,320,1

MX=240 ;自分のx座標を入れる変数
MY=160 ;自分のy座標を入れる変数
SN=0
SX=0
SY=0
gmode 2
945名前は開発中のものです。:2007/05/26(土) 13:36:51 ID:QgYK0MmP
;/■/■/■メインループ/■/■/■
*LOOP1
redraw 0 ;ここから画面の書き換えを一時停止
color 0,96,0 :boxf 0,0,479,319 ;背景を深い緑で塗りつぶす

stick ky,15
if KY&1 :MX=MX-8 :if MX<0 :MX=0 ;左移動
if KY&4 :MX=MX+8 :if MX>448 :MX=448 ;右移動
if KY&2 :MY=MY-8 :if MY<0 :MY=0 ;上移動
if KY&8 :MY=MY+8 :if MY>288 :MY=288 ;下移動
gosub *shot

pos MX,MY
gcopy 1,0,0,32,32

redraw 1 ;ここから画面の書き換えを再開
await 30
goto *LOOP1

;/■/■/■弾の移動ルーチン/■/■/■
*shot
if (KY&16=16) and (SN=0) {
SN=1
SX=MX+24
SY=MY+12
}
if SN=1 {
SX=SX+12
color 0,255,255 :boxf SX,SY,SX+12,SY+4
if SX>474 :SN=0
}
return
946名前は開発中のものです。:2007/05/26(土) 13:58:02 ID:wRE3vjEY
stick ky,15
ってあるけど、kyをKYに直せばいいんじゃないかな?
軽く見ただけなんだが、他は合ってるような気がする。
947名前は開発中のものです。:2007/05/26(土) 14:04:21 ID:6s2TcZXX
優先順位のせい
 & よりも = が先になる

    *,/            4 高い
    +,-            3
    <<,>>          2
    比較演算子     1
    &,|,^          0 低い
948名前は開発中のものです。:2007/05/26(土) 14:08:18 ID:QgYK0MmP
>>947
つまり、どのように直せばいいのでしょうか?
949名前は開発中のものです。:2007/05/26(土) 14:09:29 ID:6s2TcZXX
上げちゃった スマソ

>>943
包茎だけど初心者の鑑だな('A`)
950名前は開発中のものです。:2007/05/26(土) 14:10:33 ID:6s2TcZXX
>>948
ここ。

if (KY&16=16) and (SN=0) { 
951名前は開発中のものです。:2007/05/26(土) 14:15:26 ID:QgYK0MmP
>>950
(KY&16=16)ここを直せばいいんですよね?
どのように直せばいいのか分かりませんが・・・。
優先順位が変わってしまうと、何故カーソルキー←で反応してしまうようになるのでしょうか?
952名前は開発中のものです。:2007/05/26(土) 14:27:17 ID:QgYK0MmP
ちなみに
if (KY=16) and (SN=0) {
だとスペースキーで弾を発射してくれますが、移動キーと一緒に押した場合だと発射されなくて、ゲームとしてはおかしいですよね。
それ以外に方法があるのでしょうか?
953名前は開発中のものです。:2007/05/26(土) 14:32:52 ID:6s2TcZXX
(KY&16=16) これは…
 & よりも = の優先順位が高いのでまず、 16=16 が計算される。結果は 1

  ↓    すると
 (KY&1)   こうなっちゃう


計算の優先順位を変えたいならカッコを使う。基本中の基本ダヨ

((KY&16)=16)
954名前は開発中のものです。:2007/05/26(土) 15:57:39 ID:QgYK0MmP
>>953
なるほど!よく分かりました。
ありがとうございました。
955名前は開発中のものです。:2007/05/26(土) 23:57:15 ID:CN+4bzjn
exist "test.aaa"
fsize = strsize
if fsize == -1 : end
bload "test.aaa",file,fsize,$30
repeat
 binary = peek(file,cnt)
 pos x,y
 mes ""+binary+"\t"+cnt
 y += 20
 if y >= 480 { x += 72 : y = 20 }
 await 0
loop
stop

ってやったときに、何故か5ループ目で「binary = peek(file,cnt)」の部分に「パラメータの値が異常です」ってエラーがでる
バイナリファイルが悪い訳ではなさそうなんだけど…
どうか原因を探ってエロイ人
956名前は開発中のものです。:2007/05/27(日) 00:01:35 ID:6s2TcZXX
bloadの説明を100万回読め
957名前は開発中のものです。:2007/05/27(日) 00:52:45 ID:RRXGBjPE
>>955
noteloadと違ってバッファの自動拡張はされない
sdim file,fsize とかdim file,fsize/4+1 とかやる必要がある

>>956
あのヘルプの書き方は分かり難いかもしれない・・・
(noteload使った後だと余計に)
958名前は開発中のものです。:2007/05/27(日) 01:12:58 ID:GZUysg8b
bt大量修正ktkr

β10もうすぐリリース?
959名前は開発中のものです。:2007/05/27(日) 02:01:26 ID:f0uFg6Lk
btって何
960名前は開発中のものです。:2007/05/27(日) 02:46:07 ID:RRXGBjPE
バグトラッキング
バグ報告専用の掲示板みたいなもの
β版落とせるページにリンクあるだろ
961名前は開発中のものです。:2007/05/27(日) 02:58:45 ID:f0uFg6Lk
おk理解した
962名前は開発中のものです。:2007/05/27(日) 20:48:39 ID:XoiLMAio
(・∀・)
963名前は開発中のものです。:2007/05/27(日) 20:53:01 ID:yI8gofKQ
>>956
>>957
㌧!
964名前は開発中のものです。:2007/05/27(日) 23:30:02 ID:5Mnla165
>>938
ありが㌧
965名前は開発中のものです。:2007/05/28(月) 23:49:35 ID:Yymrb+yR
dxdoundex.hpiが
ID33v2タグに対応していない
ということが解るのに
一日かかった。

古いプラグインとかがめちゃくちゃ放置で混在しまくっててわかりずらいよ
966名前は開発中のものです。:2007/05/28(月) 23:50:58 ID:Yymrb+yR
dsoundexだた
967名前は開発中のものです。:2007/05/28(月) 23:58:42 ID:7dAgd2iw
DLページかその周辺に、最終アップデートの日付くらい書いてあるだろ。
オレは、プラグインに限らず、ソフトをDLするときは、常にそのへん確認しているが。

現時点で ttp://hsp.tv/make/tool.html
からリンクされてない所のプラグインは、腐りかけてるとみて良い。
968名前は開発中のものです。:2007/05/31(木) 08:21:13 ID:IoKv3lvp
o2.asをインクルードしたら文法エラーとか無いわwww
969名前は開発中のものです。:2007/05/31(木) 12:53:10 ID:IoKv3lvp
pcbnet2を使ったら
エラー38/(^o^)\
970名前は開発中のものです。:2007/05/31(木) 13:25:43 ID:HZuEQJWp
pcbnet2.asとpcbnet2.hpiを何処に置いてる?
971名前は開発中のものです。:2007/05/31(木) 13:31:50 ID:IoKv3lvp
すまん、原因は繋がってないのにtcp~命令実行したせいだった。
972名前は開発中のものです。:2007/05/31(木) 13:34:21 ID:RJOUfmMc
接続して無いだけなら命令が失敗するだけじゃね?
973名前は開発中のものです。:2007/05/31(木) 14:05:04 ID:IoKv3lvp
接続せずにやると

dllの呼び出しに失敗しました

ってダイアログでて落ちるんよ
事前の接続確認とか入れてないからw
974名前は開発中のものです。:2007/05/31(木) 23:43:38 ID:fEo0UHrl
mod_joystick.asのジョイスティックのモジュールって
joyGetPosEx jstk, 0

if jstk.8 & 2 { ボタン2の処理}
みたいなビット演算がボタン2以降はできないことに今気づいた。

if jstk.8 & 1 { ボタン1の処理}
はできるけど

if jstk.8 = 2 { ボタン2の処理}
じゃないと駄目なんやね

なんか不便
975名前は開発中のものです。:2007/06/01(金) 00:29:58 ID:j73l8Egc
>>974
何が?

訳分からん事言ってるぞ
モジュールとは全然関係ない部分だし(API使ってるだけなんだから)

>if jstk.8 = 2 { ボタン2の処理}
>じゃないと駄目なんやね
自分で駄目にしてるだけだろ?
976名前は開発中のものです。:2007/06/01(金) 06:35:17 ID:OrC46weU
ごめん。原因がわかった。モジュールとか全然関係ない。
でも、なぜこうなるのかわからんけど。論理式よくわかんね

repeat
await 5
stick stk,15
if (stk&1)&(keybuf1=0) {a++}//←キー //これは動く
if (stk&2)&(keybuf2=0) {a--}//↑キー //これは動かない ?何故?
//if (stk&2){ if(keybuf2=0) {a--} }//↑キー //こっちだと動く

keybuf1 = stk//連射抑止(stick命令の場合この処理は要らんけど)
keybuf2 = stk
title ""+a
loop
977名前は開発中のものです。:2007/06/01(金) 06:58:53 ID:OrC46weU
追記
if (stk=2)&(keybuf2=0) {a--}//↑キー// なぜか動く


「stk&2」を「stk=2」にすると動いたもんだから
>>974のような質問をした
978名前は開発中のものです。:2007/06/01(金) 07:06:35 ID:/fmsomKr
>>977
mes stk&2 ;→2
mes keybuf2=0 ;→1

mes 2 & 1 ;→0 ふしぎ!
979名前は開発中のものです。:2007/06/01(金) 07:13:20 ID:/fmsomKr
まぁ、HSPだとCでいう&&とか||がないっぽいので、
0か1だけを返すbool関数みたいなの作って一度噛ませた方がいいかも知れんね。
980名前は開発中のものです。:2007/06/01(金) 07:21:06 ID:71fpNKbx
なにその糞仕様
981名前は開発中のものです。:2007/06/01(金) 08:35:40 ID:j73l8Egc
>>977
おーい
良く考えろ
やるなら
if ((stk&2)>0) & (keybuf2=0)
とか
if ((stk&2)=2) & (keybuf2=0)
とかだろ・・・

if stk&2 {
これが使えてるのは0以外なら判定が成立するからで
(stk&2) ここで成立してる訳じゃない
(stk&2) これは 0 か 2 でしかない
&1 で1になるのは反対側が奇数の必要がある

982名前は開発中のものです。:2007/06/01(金) 10:56:05 ID:/fmsomKr
そういえば、論理演算としての!が使えないのも地味に痛いんだよな。
983名前は開発中のものです。:2007/06/01(金) 12:31:39 ID:jXoXCE/h
ネットワーク機能を盛り込んだはいいが
一人で複数窓デバッグしんどすぎるwww
984名前は開発中のものです。:2007/06/01(金) 19:58:16 ID:OrC46weU
>>978
>>981
丁寧な解説ありがとう。
0か1のbool型が戻り値になるとばかり思っていた。

これで念願のボタン1押しながらボタン2押しても反応するので
ジョイスティックでジャンプボタン押しながらムチを振れるようにできう
repeat
await 5
stick stk,15
if ((stk&1)=1)&(keybuf1=0) {a++}
if ((stk&2)=2)&(keybuf2=0) {a--}

keybuf1 = stk&1//こうやね
keybuf2 = stk&2
title ""+a+" stk&1:"+(stk&1)+" stk&2:"+(stk&2)
loop
985名前は開発中のものです。:2007/06/02(土) 00:17:41 ID:83EyezUN
ちょwwソレなんて悪魔城ドラキュラ?wwww
986名前は開発中のものです。:2007/06/02(土) 00:25:19 ID:A107r78T
どこの誤爆だw
987名前は開発中のものです。
>>985
わかってくれて嬉しいw