**HSPの質問スレ**

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
HSPで困っている人がいると思って立てました。
どうぞ、利用してください。
2名前は開発中のものです。:2006/07/08(土) 10:45:14 ID:m49r18dz
>>1
どうみても低能です。
本当にありがとうございました。
3名前は開発中のものです。:2006/07/08(土) 17:28:00 ID:wKmYt1HI
HSPで2ちゃんねるのスレッドの保存はできますか。
教えてください。
4名前は開発中のものです。:2006/07/08(土) 22:06:48 ID:wKmYt1HI
HSPってどんなことができるのですか?
5名前は開発中のものです。:2006/07/09(日) 00:22:13 ID:BGt1WtsO
>>4
バカかって
童貞のまま氏ね
6名前は開発中のものです。:2006/07/09(日) 08:15:48 ID:aSjtkPwz
>>4
HSPで出来ない事=構造体、クラスの定義、関数作成等(細かい処理)
HSPで出来る事 =基本的に精度は低いが何でも出来る(様な気がする)
          ダイレクト]使用可能
HSPのメリット =命令、変数処理が出来れば簡単に作れる、覚えられる
          初期化とウィンドウ作成処理が不必要(これが大きい)
          二日あればノベル位は作れる
          三日あればシューティング位作れる(人にもよる)
HSPのデメリット=人によってはHSPで作られたソフトのイメージは悪い
          書籍が少ない(最新バージョンは2冊程)
          就職に何の役にも立たない
76:2006/07/09(日) 08:20:54 ID:aSjtkPwz
読み辛くてスマソ
8名前は開発中のものです。:2006/07/09(日) 13:33:46 ID:NY4Q+YKv
>>6
ありがとうございました。
9名前は開発中のものです。:2006/07/09(日) 19:50:33 ID:PcXgL5VQ
a=$1234567890
b=peek(a,4)

こうすると2行目にエラーが…なぜ?
10名前は開発中のものです。:2006/07/09(日) 20:46:12 ID:LgwHdQTZ
バッファが確保されていないからだろ。

以後質問禁止。
>>1は削除依頼出してこい。
11名前は開発中のものです。:2006/07/09(日) 22:40:22 ID:4qa4Q3aM
>>3
datの取得ならできるぞ
12名前は開発中のものです。:2006/07/10(月) 00:32:42 ID:Q2fZ5zhE
>>9
整数形は32ビツトだから読み取れるのは0〜3
てか入れたのを表示してみりゃ
ちゃんと代入がされてない事ぐらい分かるだろ・・・
13名前は開発中のものです。:2006/07/10(月) 01:03:48 ID:yyQQtl+T
疑問に思ったのですが、このスクリプトで何故「&」(1or2or4or8)
を入れなければならないのでしょう?わくわくゲームポログラミング教室
の格闘ゲームのスクリプトなのですが…。スクリプト14行から
buffer 1
picload "kakutou.bmp"
buffer 2
picload "back.bmp"
screen 0,480,320
gmode 2

*kuri
redraw 0
pos 0,0
gcopy 2,0,0,480,320
stick ky,15
pos 0,0
if (ky&1)=1 or (ky&4)=4 {
if (ky&1)=1 : x=0
if (ky&4)=4 : x=192
y=192
if (ky&2)=2 : y=0
if (ky&8)=8 : y=384
gcopy 1,x,y,192,192
}
else : gcopy 1,384,192*(anime/8),192,192
anime=(anime+1)\16
redraw 1
wait 3
goto *kuri
14名前は開発中のものです。:2006/07/10(月) 01:42:07 ID:lq5A1Q/B
2進数だから。

なんでこっちに行かないの
http://pc8.2ch.net/test/read.cgi/gamedev/1143192699/
15名前は開発中のものです。:2006/07/10(月) 03:04:02 ID:yyQQtl+T
>>14
ありがとうございます。なんとか理解しました。
なんかそっちのスレでこっちにってあったのでこっちきてました。
次からはまたそちらに行かせてもらいます。
16名前は開発中のものです。:2006/07/11(火) 02:38:16 ID:KpIHpWJ0
>>6
>HSPで出来ない事=構造体、クラスの定義、関数作成等(細かい処理)
Ver3では関数作成や構造体は似たようなものができるが?
(Ver2.61でも関数作成できないことはない。メリットないけど。)

>HSPで出来る事 =基本的に精度は低いが何でも出来る(様な気がする)
精度って?

>二日あればノベル位は作れる
>三日あればシューティング位作れる(人にもよる)
最近の入門者って相当頭いいんだな。時代は変わった。

ネタにマジレスしてごめんな。


>>15
「2進数だから。」だけで理解できたのか!やっぱ最近の入門者って頭いいんだな。
17名前は開発中のものです。:2006/07/11(火) 04:40:20 ID:bmqhMkyv
>>15
>>Ver3では関数作成や構造体は似たようなものができるが?
まさかサブルーチンの事でも言っているのか?
2次配列変数や文字型変数からの変数読み込みの事でも言っているのか?
まさかありえないと思うがヘッダファイルを読み込ませるとでも言っているのか?
貴方が知っている方法を書いてくれ、実に興味深い

関数作成はAPI群のHSPだから大してメリットがないんだろ
HSPは主にCとAPIで作られているんだよ
精度ってのは言語として出来る範囲の事だ
極論だがHSPでOS作れるか?C++以上の言語を再構築出来るか?
別に俺は頭良くないが本読んで三日あればシューティング位作れたぞ?
それとCを学び始めて一週間ほどでボンバーマンもどき作ったヤツいたし

>>最近の入門者って相当頭いいんだな。時代は変わった。
それは君の頭弱いからだろうが…
玄人を気取っている素人及び入門者かおまえわ
それと出来る出来るじゃなく具体論を述べなさい

釣りにマジレスしてごめんね、おじさん
1817:2006/07/11(火) 04:42:02 ID:bmqhMkyv
>>15はタイプミス
>>16に対してのコメントな
19名前は開発中のものです。:2006/07/11(火) 21:29:21 ID:JfmidjRx
pngって取り込めるのか?
20名前は開発中のものです。:2006/07/11(火) 23:12:22 ID:zKFvkEFK
>>19
うん
21名前は開発中のものです。:2006/07/12(水) 02:48:09 ID:DgAHS60z
HSPで同人ソフト作って売ってる人ってどのくらい居る?
いい加減、DirextX&VC++以外の開発方法以外もやろうと思ってるん
だけどフラッシュにするかHSPにするか迷ってる。
22名前は開発中のものです。:2006/07/12(水) 14:21:21 ID:GVFAO0Oi
フラッシュにしろ。

HSPのプラグインはその作者によって
商用を認めていない、あるいは利潤求めてくるものがある。
2321:2006/07/13(木) 01:37:27 ID:bitsB8nJ
>22
ありがとう。
フラッシュにするわ。
24名前は開発中のものです。:2006/07/16(日) 23:07:52 ID:Zpx6xE45
まだ使われてるプラグインでシェアウェアなんかあったっけ?
25名前は開発中のものです。:2006/07/19(水) 19:16:15 ID:TkZSipSI
本スレに書き込みましたが、質問スレがあったのですか・・・

3Dアクションゲーム(FPS)を作りたいのですが、
HSP3.0標準の"hgimg.as"の仕様がニガテです。
他にオススメの3D用のってありませんか?
26名前は開発中のものです。:2006/07/19(水) 20:56:35 ID:0kCyw9XK
定期あげ
27名前は開発中のものです。:2006/07/19(水) 21:29:12 ID:5gNteKu1
>>25
Easy3Dてのが人気じゃね?使ったことないけど
28名前は開発中のものです。:2006/07/19(水) 23:58:54 ID:TkZSipSI
>>27
>>25の書き込みの後、HSPの3D専門スレを見つけたのですが、
hgimg3とE3Dが普通っぽいですね
自分に合う方試して作ってみます、レスありがとうございました
29名前は開発中のものです。:2006/07/20(木) 00:05:45 ID:cRFiYI3J
>>17
>>貴方が知っている方法を書いてくれ、実に興味深い
モジュール使えよ
30名前は開発中のものです。:2006/07/20(木) 19:16:45 ID:CM3pXKXg
モジュール知らないから言ってるんだと

そういやまだメインでHSP2使ってる奴いるかな。
31名前は開発中のものです。:2006/07/20(木) 19:27:02 ID:tMvNDofD
>>30
私はHSP2と3を両方使っています。
32名前は開発中のものです。:2006/07/20(木) 19:32:36 ID:CM3pXKXg
ちなみに俺は古いソフトのメンテでどうしてもって時しかHSP2触らなくなった。
今からだと式の評価順番が前方結合てのは耐えられんわ。ほか色々
33名前は開発中のものです。:2006/07/21(金) 17:07:26 ID:BalDwoVY
hsp2であったtext命令をhsp3に使いたいのですが、どうしたら使えますか。
教えてください。
34名前は開発中のものです。:2006/07/21(金) 17:23:58 ID:MF780OUv
HSPマニュアル総合インデックス から
>以前のバージョンからの変更点(アップデートガイド) (update.htm)
>text → "hsp3util.as"モジュールにてtext,emes命令を提供しています

35名前は開発中のものです。:2006/07/21(金) 17:26:18 ID:BalDwoVY
>>34
ありがとうございました。
36名前は開発中のものです。:2006/07/22(土) 13:48:21 ID:8dHhUFQq
HSPを使っている皆さんに質問ですが、
みなさんが自分で作ったもので一番傑作だと思った作品は何ですか?
37名前は開発中のものです。:2006/07/22(土) 22:32:09 ID:hhyA/OqJ
>>36
それはお前だよ。
38名前は開発中のものです。:2006/07/24(月) 23:46:39 ID:Wvqy7h+x
mousexがどうしても「もうセックス」に見えるのですが
どうしたらいいですか。助けてください。
39名前は開発中のものです。:2006/07/25(火) 00:33:38 ID:963qX1Qt
mousexy
にしたらいい
40名前は開発中のものです。:2006/07/25(火) 06:02:29 ID:cAgfYCmu
>>38
#define global mouthsex mousex

あるいは
#define global oralsex mousex

とマクロ定義して別の単語に置き換えておけば、
悩まされることは減ると思うぞ
41名前は開発中のものです。:2006/07/26(水) 20:50:48 ID:WyJVmA8l
定期age
42名前は開発中のものです。:2006/07/31(月) 02:42:46 ID:IlQE07Ul
>>40
ちょwwww
43名前は開発中のものです。:2006/08/05(土) 08:01:13 ID:xtaYej7+
age
44名前は開発中のものです。:2006/08/17(木) 14:28:44 ID:+oB+zoYX
定期age
45名前は開発中のものです。:2006/09/25(月) 15:56:33 ID:hZIeOoMS
26.1と3、全くの初心者が使うならどっち?
46名前は開発中のものです。:2006/09/25(月) 16:15:01 ID:50TzGaST
3でいいんじゃね
47名前は開発中のものです。:2006/09/29(金) 21:02:49 ID:7ZSmu/79
48名前は開発中のものです。:2006/10/10(火) 00:24:16 ID:Z3iTAGOZ
49名前は開発中のものです。:2006/10/21(土) 20:00:54 ID:o8pQHGTx
0
50名前は開発中のものです。:2006/11/05(日) 22:12:08 ID:DG2qMDkg
スクリーンの大きさを小さくして実行する時、一瞬通常の大きさのスクリーンが現れます。

どうすればでなくなるか教えて下さい;;マジで困ってます;;;
51名前は開発中のものです。:2006/11/06(月) 00:35:56 ID:AzQG/LBx
EXEなら
#packopt hide 1
をソースの先頭にでも追加すれば起動時にメインウインドウが非表示になるので
ウインドウの大きさを変えてgsel 0, 1をすればOK
52名前は開発中のものです。:2006/11/06(月) 08:14:02 ID:voHlz2IR
>>51ありがとうございます (^_^)
53名前は開発中のものです。:2006/12/08(金) 12:48:23 ID:rTbzb3Hp
これからHSPで箱庭ゲーを作ろうと思ってる俺は、どのスレで質問するのがいいですか?
54名前は開発中のものです。:2006/12/08(金) 14:36:29 ID:NWFqCgoS
55名前は開発中のものです。:2006/12/29(金) 12:54:08 ID:kYk+xHnY
screen 0,224,304,0
randomize
max_x=13:max_y=18
gamedot=16
*mainlp
redraw 0
color 0,0,0:boxf
gosub *move_ene
gosub *disp_ene
gosub *make_ene

redraw 1
await 50
goto *mainlp
*make_ene
if eneflag!0:return
rnd enex,max_x
eney=0:eneflag=1
return
*move_ene
if eneflag=0:return
eney++
return
*disp_ene
if eneflag=0:return
if eney > max_y:eneflag=0:return
color 255,0,255
pos enex*gamedot,eney*gamedot
mes "■"
Return
5655:2006/12/29(金) 12:56:45 ID:kYk+xHnY
参考書を読んでHSPを勉強してるのですが
上のプログラムの16行目で『代入できない変数名を指定しています』
と出てしまいます。
指摘お願いします。
5755:2006/12/29(金) 13:36:50 ID:kYk+xHnY
事故解決しました。
3.0からはrnd命令が関数になってるんですね。
参考書の方を訂正しておきました。
58名前は開発中のものです。:2006/12/31(日) 00:22:29 ID:cOQJD/bo
>>22
プラグインって何使ったかわかる物なの?
コンパイルしてEXEファイルになったら分からないじゃん?
将来的に自分の知識使って小遣い稼ぎ程度の商用考えてるんですけど。。
59名前は開発中のものです。:2006/12/31(日) 01:07:19 ID:6Wm2M1lg
変に隠してもトラブルの元。

readme.txtちゃんと読んだらいいと思うよ。
不安なら作者に連絡取るべき。

おにたまには取らんでも良い。
60名前は開発中のものです。:2007/01/12(金) 03:11:47 ID:htAO2VmI
すみません。
メインループの中にボタンを入れるとちらついちゃうんですが、
どうしたらちらつかないように表示できますか?
61名前は開発中のものです。:2007/01/12(金) 08:03:00 ID:BsKLjuqP
そのボタン作成のフラグを用意して、
すでに作成されているなら再作成はしないようにする。
62名前は開発中のものです。:2007/01/26(金) 22:20:06 ID:Nz05b8Ne
age
63名前は開発中のものです。:2007/01/27(土) 06:53:39 ID:C7nG8Ass
2.5Xでモジュール内から外の変数を参照するのに
「変数@」を使っていたのですが
3.XX系では「変数@」は使えなくなったのでしょうか?
もし使えなくなったのなら、参照する方法はあるのでしょうか?
64名前は開発中のものです。:2007/01/27(土) 07:14:32 ID:RlNItWZr
>>63
それで使えないっけ?
それで使えないなら「変数@HSP」ってやれば使えると思った
6563:2007/01/27(土) 09:33:21 ID:C7nG8Ass
>>64 ありがとうです。何とかなりそうです……が。
もしかしてpget命令も変化しました? 変な違和感があります。
メインソースの中では普通にginfo_rなどに代入できるんですが、
モジュール内ではそれが出来ないようです。
モジュール内で別の変数に代入しなければならないみたいなんですが。
2.5X系では普通にモジュール内でginfo_r(rval)に代入できていたので……。
66名前は開発中のものです。:2007/01/27(土) 16:37:17 ID:opAhByRf
>>65
自分は2.5を使った事がないから動作の違いは知らない
なので、言われてる意味が良く分からない・・・
6763:2007/01/28(日) 05:33:39 ID:L/2/CKGg
>>66
レスありがとです。
2.5X系のソースを無理やり、3.XX系にしている最中だから他にも不具合がいっぱいくさいです。
とりあえずそっちの対処を考えます。
68名前は開発中のものです。:2007/01/29(月) 04:28:13 ID:DmWTxj26
簡単な横スクロールぽいゲームを作ってたのですが詰まりました。
画面の左右にキャラが到達したら、同じ場所だけど背景画像だけは
変えたい場合
if (carx<=-24)&(car=0):carx=画面サイズ
if (carx>=画面サイズ)&(car=4):carx=-24
でループできるけど画像はどう変えるのがいいでしょうか?
いっそ画像だけじゃなくステージごと移動するべきでしょうか…
6963:2007/01/29(月) 05:14:04 ID:nz5AK9kd
実験した結果、モジュールからの変数参照は
 変数@ 使用可
 変数@hsp 使用不可でした。

それと詳しく検証したわけではないですがpgetは
あるウィンドウでRGB値を所得して別ウィンドウへ移り参照しても反映されないみたいです。
2.5X系では作画用の裏ウィンドウでRGB値を所得しメインウィンドウへ戻っても直接参照できていたので3.XX系の仕様は盲点でした。

これで修正点の一つが終わりそう……。
70名前は開発中のものです。:2007/01/29(月) 21:27:05 ID:939sLhUW
>>68
carxがキャラのx座標なのは分かるにしても、
carは何なんだ?とか、いろいろわからん。

if (carx<=-24)&(car=0):carx=画面サイズ:背景画像を変える処理:goto *@f
if (carx>=画面サイズ)&(car=4):carx=-24:背景画像を変える処理
*@

でいいんじゃね〜の?
71名前は開発中のものです。:2007/01/29(月) 22:23:32 ID:939sLhUW
/* >>69
pget使ったことなかったから、HSP2.5xでどういう動作だったのか知らないが…
裏ウィンドウのRGB値をpgetで取得した後、ginfo(16〜18)で変数に保存して、
メインウィンドウに戻ってから、変数を参照してcolor命令で改めて色を設定すれば、
手間は増えるが、希望する動作になると思う。
;
質問とは関係ないけど
下記スクリプトで y=0だと期待通りにpgetできてない原因は分からん。
比較用にgcopyした領域との間にスキマが空いてることを合わせて考えると
おそらく、lineで描画すると、始点(p1,p2)が1ドット抜ける感じか。
*/

screen 0,640,480,1;「メインウィンドウ」
buffer 2,640,480,1;「作画用の裏ウィンドウ」
repeat 640:c=(cnt&15)<<4:color c,c,c:line cnt,0,cnt,480:loop;(裏に縞模様を作成)
gsel 0:gcopy 2,0,0,320,240;(比較用にコピー)
;
y=1;(謎)
repeat 640
gsel 2:pget cnt,y;「作画用の裏ウィンドウでRGB値を所得」
_R=ginfo(16):_G=ginfo(17):_B=ginfo(18);(変数に保存)
gsel 0:color _R,_G,_B:line cnt,240,cnt,480;「メインウィンドウへ戻って」〜
loop
;つーか「所得」に違和感を感じる。
72名前は開発中のものです。:2007/01/29(月) 22:32:16 ID:PILBo0yh
他で聞いたのですが、
「女のパンツ云々書いてる暇があったら自分で調べろ。 」
といわれたのでここで聞きます。

HSP3.0と3.0aの違いは何ですか?
どこを見ても2.6との違いか3.1βの更新履歴しか出てきません。
3.0と3.0aの更新履歴を見ても、両方「2005/07/30修正」だし…

73名前は開発中のものです。:2007/01/30(火) 00:46:30 ID:xDqXk57Z
>>68
意味が分からん・・・
右端に行ったら自分は左から出てきて、背景が一画面分移動?
つーか背景をどんな風に表示してるかも分からないと何とも言えない・・・

>>69
>あるウィンドウでRGB値を所得して別ウィンドウへ移り参照しても反映されないみたいです
3.0のはginfo_rでginfo(16)をマクロで置き換えてるだけだから
pgetしたらcolorで設定してそれをシステム変数に反映してるので、
別のウィンドウを選択すると、システム変数もそのウィンドウのカラー設定になる

>>71
>おそらく、lineで描画すると、始点(p1,p2)が1ドット抜ける感じか。
それは、line命令の仕様
理由は何かあったけど忘れたw
74名前は開発中のものです。:2007/01/30(火) 01:34:08 ID:gXjr0cJ5
>>72
>HSP3.0と3.0aの違いは何ですか?
http://www.youtube.com/watch?v=-CCB8AWGQe4

これのSK2とオマイの違いのようなようなもん
7568:2007/01/30(火) 03:11:34 ID:HTkfnnIZ
内容が解り難い質問をしてしまったのにお答えありがとうございます。
>>69,>>70,>>71さん
お三方の書き方を参考に何とか描画させたいと思います。
7663:2007/01/30(火) 07:30:32 ID:Wt7/d+Pu
>>71 >>73 レスありがとです。
71さんの通り、意図通りの動作はginfo(16-18)を変数に代入する方法で成功していました。
ですが2.5系で出来ていたことが3.0系で出来なくなった理由がわからず、その原因追求していた次第です。

>;つーか「所得」に違和感を感じる。
なんちゃってプログラムを打つ人なので……この場合、なんて言い換えたらいいんだろ。

>それは、line命令の仕様
>理由は何かあったけど忘れたw
ものの本によると
 lineの終点のドットは描画されないのが、windows GDI(描画API)の仕様のようです。
 これは連続した線を描画するときにかさならないようにということでしょう。
だそうです。
77名前は開発中のものです。:2007/02/13(火) 14:14:46 ID:/OyhXbRb
ジョイパット使ってキャラクターを操作するようにしたんですけど
普通にHSPなら動くのに、HSPDX使ったら
上下にしか動かなくなってしまいました
何故?きちんと動くようにするにはどうしたらいいんでしょうか?
78名前は開発中のものです。:2007/02/14(水) 00:12:50 ID:w0Wla5zN
原因を探ろうにも、情報が少なすぎて答えられないな。
難度の高い質問だぜ…!
79名前は開発中のものです。:2007/05/01(火) 19:36:39 ID:7o5haZz4
質問です。

LZH形式で圧縮したデータをゲーム内で使用する時点で解凍し、使用後に更新されたデータを圧縮して保存しようとしています。

圧縮時、解凍時に進捗状況ダイアログを出したくないのですが、何か設定はあるのでしょうか?

特にLZHにこだわらないので他の形式でも構いません。アドバイスよろしくお願いします。
80名前は開発中のものです。:2007/05/03(木) 10:11:03 ID:8w+lt+Fb
age
81名前は開発中のものです。:2007/05/03(木) 18:05:52 ID:0ZMSvVKs
>>79
質問するなら環境ぐらい書け
HSPのバージョン
圧縮に使ったDLL
現在どんな風に圧縮展開してるかのサンプル

圧縮形式に拘らないなら
hsp ZLIB
でググればトップに出るよ
HSP2.6の頃に出来てる奴だから付属サンプルは
HSP3じゃちょっと変更が必要だけどプラグインには
問題ないかもしれない
(ちゃんと圧縮展開で来て変なエラーが出ないかは自分で検証してくれ)
8279:2007/05/04(金) 05:39:11 ID:KV83UwXl
>>80 ご指摘ありがとうございます。
バージョンは3.0、現在は下記サイトを参考にしてこのように処理しています。

ttp://lldev.jp/hsp/module/unlha32_dll.html

;-----------------------------------------------------------
#include "gm_unlha32_dll.hsp"

; ファイルのパス
filepath = "d:\\hsp\\data1.lzh"
filepath2 = "d:\\hsp\\data2.txt"
;
button "解凍", *unpack
button "圧縮", *pack
stop

*unpack
a = unlha_ext(filepath, 0)
mes stat
stop

*pack
a = unlha_cmp(filepath2, 1)
stop

8379:2007/05/04(金) 05:47:48 ID:KV83UwXl
>>81 でした。失礼しました。
8479:2007/05/04(金) 06:42:19 ID:KV83UwXl
79です。自己解決しました。
上記gm_unlha32_dll.hsp内のスイッチを書き換えることで対応できるようです。お手数かけました。
85名前は開発中のものです。:2007/05/07(月) 16:25:16 ID:pJH5H2Kw
一つゲーム作のに大体どれくらいの変数使うものなんですか?
考えなしにばかばか使っちゃったりしたらまずいことあるのか失敗になって
86名前は開発中のものです。:2007/05/07(月) 16:26:08 ID:pJH5H2Kw
失敬
失敗=心配
87名前は開発中のものです。:2007/05/07(月) 22:11:30 ID:PZ9SZ2Mt
>>85
変数の数にシステム側の制限は無い
でも扱う人間に限界があるんじゃね?w

と、言うか配列って知ってる?
5個表示物があったら別々に座標保存用の変数名使ってるとか無いよな?
88名前は開発中のものです。:2007/05/15(火) 19:47:04 ID:D7sivls6
hspdxで画像を描画するときに
システムエラーで「DDRA.DLLに異常が発生しました」
と表示されて落ちます。
DLLのバグでしょうか?
89名前は開発中のものです。:2007/05/27(日) 04:47:12 ID:z2MNV+vZ
ぷよぷよモドキ作ってるんだけど
ぷよが千切れて落ちるのを滑らかに表示させるには
どうしたらいいか知恵を貸してください。

あとキャラ画像とかをEXE直下のフォルダに入れて
始める前に選べるようにしたいんだけど
それについても知恵があったら拝借したいです。

ちなみに今こんなかんじ
http://gamdev.org/up/img/9518.zip
90名前は開発中のものです。:2007/05/27(日) 15:46:09 ID:MiHATzBs
…特定のフォルダに入っているファイルの指定はできるんだよな?
91名前は開発中のものです。:2007/05/27(日) 15:58:58 ID:z2MNV+vZ
>90
千切れて〜のほうは自己解決した(・∀・)!

フォルダ〜のほうはウプした奴ではカレントを切り替えて読ませてる。
でもそれだと2P入れたときに上手くいかない気がしてる。
92名前は開発中のものです。:2007/05/27(日) 16:46:52 ID:GZUysg8b
HSP3用の逆コンパイラはありますか?
93名前は開発中のものです。:2007/05/27(日) 18:38:02 ID:2JXqUbAU
>>91
dirname="1\\","2\\"
p1dir=1 ; 2\ を選択
picload dirname(p1dir)+"puyo.bmp"

ってやればカレントディレクトリ移動する必要ないんじゃね?
dataフォルダ作って、そこに1\とか置いた方がすっきりするかもしれない
後、0のフォルダも作っておいてデフォルトデータにしとくのもいいかもしれない
選ばれたフォルダにファイルが無かったら0\の方を使う(同じデータを複数入れる必要が無くなる)

>始める前に選べるようにしたいんだけど
>それについても知恵があったら拝借したいです。
どの部分を聞きたいのか分からんけど
キャラ絵が Face.bmp(サイズ64*64)で1\〜10¥に全部同じ名前のファイルがあるとしたら
repeat 2
y=cnt
repeat 5
pos 160+cnt*64,200+y*64
fname=str(cnt+y*5+1)+"\\Face.bmp"
picload fname,1
loop
loop

これでキャラ絵が横5個、縦2段で表示(普通は裏に読み込むけど)される
後はボタン付けるなりマウスの座標とクリックで判定するなり
選択中枠でも表示してキーボードで選べるようにしたり
94名前は開発中のものです。:2007/05/27(日) 18:40:17 ID:GZUysg8b
HSP3用の逆コンパイラはありますか?
95名前は開発中のものです。:2007/05/27(日) 18:54:44 ID:z2MNV+vZ
>>93
まじサンクス。
早速やってみるぜ。
96名前は開発中のものです。:2007/05/27(日) 19:37:55 ID:GZUysg8b
HSP3用の逆コンパイラはありますか?
97名前は開発中のものです。:2007/05/27(日) 19:48:58 ID:z2MNV+vZ
>>93
文字列型変数+”文字列”
ってやり方がわからなかったんだわ。

で指定したフォルダから優先して読み込もうとして
ファイルが無かった場合0から読むってやらせたくても
picloadに失敗した時点で固まっちまうんだが
98名前は開発中のものです。:2007/05/27(日) 20:42:07 ID:GZUysg8b
HSP3用の逆コンパイラはありますか?
99名前は開発中のものです。:2007/05/27(日) 20:54:37 ID:BT9hRCyf
>>97

exist
これはファイルのサイズを調べるだけの物ではないのだよ…
100名前は開発中のものです。:2007/05/27(日) 21:12:57 ID:2yxupcVu
>>97
>ファイルが無かった場合0から読むってやらせたくても
picloadの前にexistでファイル存在チェック
99の言うとおりでexistのヘルプ見てみ

>>98
無い
101名前は開発中のものです。:2007/05/27(日) 23:05:29 ID:GZUysg8b
HSP3用の逆コンパイラはありますか?
102名前は開発中のものです。:2007/05/28(月) 00:46:56 ID:Yymrb+yR
>>99
>>100
http://gamdev.org/up/img/9523.zip
できた、できたよ
ほんと的確な答えで助かりました
もう少し頑張ってヘルプ検索しようと思いました

そろそろゲームとしての体裁を整えていきたくなってきた
103名前は開発中のものです。:2007/06/04(月) 19:32:09 ID:gsq3V/fz
タイマー命令ってwaitとawaitしか無いんですか?
CPUクロックの差を無くすにはどうしたらいいんでしょうか?
104名前は開発中のものです。:2007/06/04(月) 19:43:34 ID:UGGZ54B7
>>103
ググれば、awaitより精度の高いプラグインとか、winapiでできるってみつかるはず。
105名前は開発中のものです。:2007/06/05(火) 21:05:25 ID:h6M6OURk
公式の笑瓶もだが
与えられた回答が理解できなかった場合
別スレで質問しなおすのが流行ってるのか?
106名前は開発中のものです。:2007/06/06(水) 07:59:25 ID:mcNdiYSk
>>105
ただ単に厨なんだろ。
マルチ質問はネチケット違反だ。
107名前は開発中のものです。:2007/06/18(月) 11:25:19 ID:hj+o5IbP
いまHSP入門っていうとこ参考にしながら練習してるんですけど、
exec "notepad"ってやったらちゃんとノートパッド立ち上がるのに。
exec "mplayer"としてもメディアプレーヤーが立ち上がりません、
ファイルの指定して試してみたんですがやっぱり無理でした。
どこがおかしいんでしょうか?
108名前は開発中のものです。:2007/06/18(月) 14:43:56 ID:ExP4O2zu
>>107
mplayerって何?
109名前は開発中のものです。:2007/06/18(月) 15:34:49 ID:i3tuqoSV
>>107
カレントディレクトリかシステムディレクトリにあるアプリケーションしか起動できない。
110名前は開発中のものです。:2007/06/18(月) 16:03:38 ID:hj+o5IbP
>>109
なるほど!ありがとうございました。
111名前は開発中のものです。:2007/06/19(火) 18:49:55 ID:zC53djn1
HSPで3Dアクション作っているんだけど、
モデルデータとか見られたら不味いので、
DPMファイルを使おうかと思ったのですが上手くできません。
どこかに詳しく解説しているサイトはないでしょうか?
112名前は開発中のものです。:2007/06/24(日) 23:48:40 ID:x7D1avIc
外部ファイルを読み込み起動、その外部ファイルで使用している変数をリアルタイムで取得したいのですが、
HSPで可能ですか?
113名前は開発中のものです。:2007/06/26(火) 18:57:23 ID:jRO7WGP0
  a=(ene_sp*100)/my_sp+1 :  b=rnd(a)+1
  if b<100 : goto *my_hit
  mes "ミス!よけられてしまった!"

ene_spは敵の素早さ、my_spは味方の素早さで、
攻撃のヒット・ミスを判断しようとしているのですが
my_spが大きくなりすぎるとエラーが出てしまいます。

なんとか直す方法ってありますか?
114名前は開発中のものです。:2007/06/26(火) 22:00:20 ID:JRgNoUFP
>>113
表現があいまいすぎて、状況がつかみにくい。

・「エラーが出てしまいます」
 → エラー番号(内容)、エラーの発生する行の情報が欠けています。
・「大きくなりすぎると」 
 → 具体的な数値を絞り込もう。(99では正常だが、100ではエラー、等)

評価:もっと頑張りましょう
115名前は開発中のものです。:2007/06/26(火) 23:26:17 ID:JpnbVpdc
>>111
3D表示には何を使ってんだ?

>>112
外部ファイルで使用してる変数って何だ?
リアルタイムで収得ってなんだ?

テキストファイルに
a=1
b=2
ってあって、これを読み込み表示して、この1と2を変えたときに
スクリプト側でそのa,bの値を収得?
出来るけど、お前が理解できるような説明は出来ないだろう

>>113
>my_spが大きくなりすぎるとエラーが出てしまいます。
それは本当に大きくなる事で出たエラーか?
repeatやgosub内からgotoしてるからとか、my_spが0だったとかないか?

つーか、そんな半端なスクリプトで分かるかっつ−の
ene_sp、my_spに実際にどんな風に値を入れてるのかもわからねーし
実際のエラーは何処の処理で出たのかも書いてねーし
エラーの種類すら分からねー
116113:2007/06/27(水) 04:05:40 ID:gWCKLuJc
すみません、説明不足でした

ene_sp=500,000,000
my_sp=800,000,000以上  のときにエラーが出ます。
my_sp=700,000,000以下  の時は大丈夫で、8億以上でも
ene_sp=10,000,000以下    の時は大丈夫でした。
エラーの種類は19で、「0で除算しました」と出ます。
エラーの発生する行はコピペした3行のうちの一行目です。(a=(ene_sp*100)/my_sp+1)
repeat命令やgosub命令は使っていません。
117名前は開発中のものです。:2007/06/27(水) 06:45:43 ID:OXaUFjbd
>>116
整数で数値を扱ってるのなら、ene_spも、my_spも値が大きすぎる。
整数値の範囲は32bit(-2,147,483,648〜2,147,483,647)なので、
(ene_sp*100)の時点で桁あふれ。
;
ene_sp=500000000:my_sp=800000000
mes (ene_sp*100)
mes (ene_sp*100)/my_sp
;
とでもして、表示値がどうなってるかを確認のこと。


で、エラーが発生してる場所は
「a=(ene_sp*100)/my_sp+1」 ではなくて、
その後にマルチステートメントで続けてる
「b=rnd(a)+1」 のほう。

エラーが発生するときのaの値をデバッグウィンドウで確認して、
あわせて、rnd命令のヘルプを参照すれば、対処方法も分かるかと。
118113:2007/06/27(水) 07:16:31 ID:gWCKLuJc
>>117
なるほど、上限に引っかかっていたんですね!
早速ヘルプを確認してみます!

ありがとうございました。
119名前は開発中のものです。:2007/06/27(水) 14:53:47 ID:wKH9+v6O
>>116
>エラーの発生する行はコピペした3行のうちの一行目です。(a=(ene_sp*100)/my_sp+1)
3行目は二つの処理が有る
そのどっちでエラーが出てるか確かめもしてないだろ?
エラーは行しか示さないんだからちゃんと自分で確かめろ
それとエラー行はよく間違う(3.0aだと)からエラーの出る行の位置を
上下に移動させたりして、エラーとして表示される行が、そこで合ってるかも確かめろ
120名前は開発中のものです。:2007/06/27(水) 15:01:20 ID:wKH9+v6O
>3行目は二つの処理が有る
一行目だ・・・
121名前は開発中のものです。:2007/07/17(火) 23:53:49 ID:I1Tj5QH6
三角関数は使えないの?
平方根とかも使えないの?
122名前は開発中のものです。:2007/07/18(水) 00:29:36 ID:rCsA5jbm
sin()
cos()
atan()
sqrt()

は標準関数で出来るよ
123名前は開発中のものです。:2007/07/27(金) 16:03:55 ID:RNOy11vA
質問です。
hspsock.dllを使ってPC間の通信をしようとしてるんですけど。
sockput命令で送信した文字列がsockgetで受信しようとしても
わけのわからない数字になってしまうんですけどどうしてでしょう・・・
124名前は開発中のものです。:2007/08/03(金) 02:39:12 ID:6Bf9vxZs
3.1導入したんだけど同伴しているはずのHSPLetってどこにあるの?
スクリプトエディタの外部ツールにも登録されてないし。誰か教えてちょ
125名前は開発中のものです。:2007/08/03(金) 07:03:56 ID:vpz2cXn6
hsplet3.exeってーのがエディタと同じフォルダにあるじゃん

>>123
文字列も中身は文字コードって言う数値だぞ
文字列の仕組みを調べろ

126名前は開発中のものです。:2007/08/04(土) 00:29:46 ID:vaMivAmB
HSPLetはフォルダの中から開くのが仕様なのか?
127名前は開発中のものです。:2007/08/04(土) 09:31:42 ID:TbiUJh6C
#runtime "hsplet3"
mes ">>124\nこういう使い方もある"

hspletっつーフォルダがあるから、ヘルプくらいは目を通しとけ
128名前は開発中のものです。:2007/08/07(火) 11:45:24 ID:w/K1jk/v
ちょっと手元に本がないんで質問です
フラグ立ててそこにランダム行く方法以外に
画像をランダムで表示することは可能でしょうか?
よろしければやり方かヒントをください
129名前は開発中のものです。:2007/08/07(火) 13:15:47 ID:79WF3ODv
画像の名前をgazo1、gazo2・・・としておいて
1〜αの乱数aを発生させ、それを文字列aaに変換し
picload "gazo"+aa+".jpg"
のようにすればいける
130128:2007/08/07(火) 19:27:14 ID:w/K1jk/v
ありがとうございます。そっちの方が断然楽ですね
131名前は開発中のものです。:2007/08/10(金) 20:19:47 ID:uvQjyCRr
スペースキーを一度押すと次押すまで違うサブルーチンにいく
ものを作りたいのですがifとstickでは押してる間しか実行されません。
どうしたらいいでしょうか?
132名前は開発中のものです。:2007/08/10(金) 21:48:11 ID:yiNW2m0U
x=1 としておいて
スペースを押したら x=x*−1 として
x=1ならサブルーチンAに
x=−1ならサブルーチンBに
とすれば?

そういう意味じゃないかな
133名前は開発中のものです。:2007/08/11(土) 11:59:26 ID:9U4AIlb1
なるほど、ありがとうございます。
134名前は開発中のものです。:2007/08/13(月) 13:00:57 ID:QqeQTNLP
キャラクターの斜め移動についてなんですが、
「↑+→」などを個別に判定する方法はありますか?
stick命令で6を指定しても
2(→)や4(↑)を必ず通過する形になってしまいます。
135名前は開発中のものです。:2007/08/13(月) 13:11:52 ID:+ljxVkGe
こんなのはどうか

if ↑+→  goto*斜め
if ↑ goto *上
if → goto *右

goto *おしまい


*斜め
 斜めの処理
 goto *おしまい

*上
 上の処理
 goto *おしまい

*右
 右の処理
 goto *おしまい

*おしまい
136名前は開発中のものです。:2007/08/13(月) 13:17:33 ID:czMkUyE2
>>134

stick a,0
if a&6=6 :処理〜
137名前は開発中のものです。:2007/08/14(火) 14:22:54 ID:AwzKEGZk
mes strf("[%d]",value) : value++
だと動くのですが
#define count mes strf("[%d]",value) : value++
count
だとコンパイル時に #Error:macro syntax error [%err%] in line 2 [hsptmp] と出るのはなぜですか?
138名前は開発中のものです。:2007/08/14(火) 19:21:52 ID:TKywSkyo
正しいのは
#define count mes strf("%%d",value) : value++
詳しくはわからんが#defineで%1とかを利用できるからではなかろうか。
\を\\と書かなきゃならんのと同じ感じで。
139名前は開発中のものです。:2007/08/14(火) 22:32:55 ID:AwzKEGZk
なるほど。ありがとうございました。
140名前は開発中のものです。:2007/08/15(水) 11:18:28 ID:zNrEnWto
>>135
>>136
ありがとうございます。
色々試したけどだめみたいでした。
141名前は開発中のものです。:2007/08/15(水) 12:49:27 ID:ZkgcvR+i
>>140
たぶん今は
*main
stick s, 15
redraw 0 : color 255, 255, 255 : boxf
color : pos 0, 0
if ( s & 2 ) == 2 : mes "↑ボタンが押されています"
if ( s & 4 ) == 4 : mes "→ボタンが押されています"
if ( s & 6 ) == 6 : mes "↑ボタンと→が押されています"
redraw 1 : wait 2 : goto *main

こんな感じでやってるんだろうけど、

*main
stick s, 15
redraw 0 : color 255, 255, 255 : boxf
color : pos 0, 0
if ( s & 6 ) == 6 {
mes "↑ボタンと→が押されています"
} else : if ( s & 2 ) == 2 {
mes "↑ボタンが押されています"
} else : if ( s & 4 ) == 4 {
mes "→ボタンが押されています"
}
redraw 1 : wait 2 : goto *main
こうすればok。ifの順番に注意。
142名前は開発中のものです。:2007/08/15(水) 14:08:17 ID:zNrEnWto
>>141
親切にありがとうございます(涙)
さっき本家のhsp3掲示板にスネークヘッドの名前で質問投稿したところなんですけど、
実はああいう現象に困ってるところです。
同時押しキーを個別判定できれば直ると思ったもののそうはいきませんでした。
問題の全容を書かなくてすみません。
143141:2007/08/15(水) 15:16:01 ID:ZkgcvR+i
>>142
ok理解した。解決して良かったな。
144名前は開発中のものです。:2007/08/15(水) 23:46:44 ID:+aNbFFF2
mmload "bgm.mid",2,1でMIDIファイルを読み込んで
mmplay 2で流したあとメインループを開始させ、
mmloadでループ再生に設定しているので曲が終わったあと
また流れるのですが、次流れるまで画面が一時止まります。
どうにかできないでしょうか
145名前は開発中のものです。:2007/08/16(木) 09:40:04 ID:+2eMV+2Q
>>144
MIDIデータに初期化がはいってるんじゃ?
再生が一度終わるたびに初期化してるから無音になる。
初期化作業部分をとってしまうのが早いが、wavなりに変換して無音部分の削除をするほうがいいかと。
MIDI>wav変換も、wav編集もフリーソフトがあるよ。うちはそうしてる。
146名前は開発中のものです。:2007/08/16(木) 09:53:44 ID:SJEJFMAX
>>145
おお、サンクスです。形式変えて試したら動きました
MIDIだとどうも内部音源と連携するので遅くなるようでした。
147名前は開発中のものです。:2007/08/28(火) 16:28:36 ID:euxGftIO
ここなんで削除されないの?
148名前は開発中のものです。:2007/08/29(水) 00:33:10 ID:Vz8gtxG5
>>144-146
つGuruGuruSMF
149名前は開発中のものです。:2007/09/14(金) 18:17:06 ID:PCYuOaQ7
リストボックスで項目が多いとき(右側にスクロールバーが出る)
項目をクリックするとその項目がビヨンと真ん中付近に自動的に
きてしまうんですが、こうならないようにする簡単な方法ありますか?

一応色々調べてみたんですが良く解りませんでした
150149:2007/09/15(土) 17:12:26 ID:aqTC9KfR
すいません>>149は取り消します
勘違いしてました
仕様じゃなくてプログラムがおかしいだけでした
151名前は開発中のものです。:2007/09/22(土) 17:42:16 ID:mPkOqwBy
敵とマップチップの当たり判定を書いたんですけど
repeat外でのloopは無効ですとエラーが出ます。
reoeatに対するloopの数は正しいと思うんですけど。
以下ソースです。


map_chip_y_cnt=0
map_chip_x_cnt=0
repeat MAP_SIZE_Y
repeat MAP_SIZE_X
noteget map,map_chip_y_cnt
if(strmid(map,cnt,1)="1"){
repeat ENEMY_MAX
if(enemy_x(cnt)+enemy_size>map_chip_x(map_chip_x_cnt))&(enemy_x(cnt)<map_chip_x(map_chip_x_cnt)+map_chip_size){;xのこと
if(enemy_y(cnt)+enemy_size>map_chip_y(map_chip_y_cnt))&(enemy_y(cnt)<map_chip_y(map_chip_y_cnt)+map_chip_size){;yのこと
enemy_x(cnt)=enemy_back_x(cnt)
enemy_y(cnt)=enemy_back_y(cnt)
}}
}
loop
map_chip_x_cnt++
loop
map_chip_y_cnt++
loop

return
152名前は開発中のものです。:2007/09/22(土) 18:05:04 ID:X/eGJ9Od
608 名前:名前は開発中のものです。[] 投稿日:2007/09/22(土) 17:39:06 ID:mPkOqwBy
質問です
敵とマップチップの当たり判定を作ったんですけど、repeat外でのloopは無効ですと出ます
repeatに対するloopの数は正しいと思うんですけど。
以下ソースです。
map_chip_y_cnt=0
map_chip_x_cnt=0
repeat MAP_SIZE_Y
repeat MAP_SIZE_X
noteget map,map_chip_y_cnt
if(strmid(map,cnt,1)="1"){
repeat ENEMY_MAX
if(enemy_x(cnt)+enemy_size>map_chip_x(map_chip_x_cnt))&(enemy_x(cnt)<map_chip_x(map_chip_x_cnt)+map_chip_size){;xのこと
if(enemy_y(cnt)+enemy_size>map_chip_y(map_chip_y_cnt))&(enemy_y(cnt)<map_chip_y(map_chip_y_cnt)+map_chip_size){;yのこと
enemy_x(cnt)=enemy_back_x(cnt)
enemy_y(cnt)=enemy_back_y(cnt)
}}
}
loop
map_chip_x_cnt++
loop
map_chip_y_cnt++
loop

return
153名前は開発中のものです。:2007/09/22(土) 18:16:21 ID:l3CJlgTl
if gosub にしてルーチンでリピート処理するか

a=0 として
if(strmid(map,cnt,1)="1"):a=ENEMY_MAX
としてrepeat a にすればいいんじゃねーの
154名前は開発中のものです。:2007/09/22(土) 22:55:56 ID:mPkOqwBy
>>153
ご解答ありがとうございました。
あまりネストしないほうがいいんでしょうかね
155名前は開発中のものです。:2007/09/23(日) 00:27:55 ID:hpWzX4gG
連続質問すみません。
上の方がおっしゃったようにしたらエラーは解決したんですが、
実際に動かしてみても敵の当たり判定がおかしいです。
もしわかる方がいたら教えてください。

以下ソースです。


map_chip_y_cnt=0
map_chip_x_cnt=0
repeat MAP_SIZE_Y
repeat MAP_SIZE_X
noteget map,map_chip_y_cnt
if(strmid(map,cnt,1)="1") : gosub *enemy_block_atari
map_chip_x_cnt++
loop
map_chip_y_cnt++
loop
return
*Enemy_block_atari
repeat ENEMY_MAX
if(enemy_x(cnt)+enemy_size>map_chip_x(map_chip_x_cnt))&(enemy_x(cnt)<map_chip_x(map_chip_x_cnt)+map_chip_size){;xのこと
if(enemy_y(cnt)+enemy_size>map_chip_y(map_chip_y_cnt))&(enemy_y(cnt)<map_chip_y(map_chip_y_cnt)+map_chip_size){;yのこと
enemy_x(cnt)=enemy_back_x(cnt)  ;記憶しておいた座標へ戻す
enemy_y(cnt)=enemy_back_y(cnt)  ;
}}

loop

return

ちなみに当たり判定のところは同じようにして自機とマップチップの当たり判定ではうまくいきました。
156名前は開発中のものです。:2007/09/23(日) 00:44:57 ID:U1xb6sBg
よくわからんが・・・

&→or っぽい気がする
157名前は開発中のものです。:2007/09/23(日) 00:51:52 ID:U1xb6sBg
あーごめんちがうわ
158名前は開発中のものです。:2007/09/23(日) 01:06:41 ID:hpWzX4gG
>>157
それも試したんですが違いました。
159名前は開発中のものです。:2007/09/23(日) 04:24:32 ID:Ncbocz79
変数名ややこしすぎて見る気おきない。
160名前は開発中のものです。:2007/09/23(日) 13:15:15 ID:eMUoQlaW
>>151
マルチポストしたうえ、
向こうでの回答に何のレスもなしとは無礼極まりないな。

最初のエラーは
最初のif文「 if(strmid(map,cnt,1)="1"{ 」
に対応する 閉じ括弧( } )の位置がおかしいからだろうが。

if {
repeat
loop
}

であるべきところが

if {
repeat
}
loop

になっているからだ・・・と、ここまで説明せな分からんのか。


そして、「上手く動かない」のは
map_chip_x_cnt が加算されっぱなしなのが原因のひとつだ。

この問題の根っ子も、前述のif〜repeatの問題と同じで
「ある記述」の位置が間違っているだけの話だ。

「ある記述」がどの記述のことで、
正しい位置がどこなのか、くらいは、自分で考えろ。
161名前は開発中のものです。:2007/09/23(日) 15:20:07 ID:hpWzX4gG
>>160
的確なご指示ありがとうございます。
あと、無礼伝々言うなら回答すんな
162名前は開発中のものです。:2007/09/23(日) 15:56:14 ID:eMUoQlaW
行動から見込んだ通り、
ですます口調での丁寧な態度は見せ掛けだけだったようだな。

その低能で作りかけのゲームを発表したときに
作者=オマエだと
足がつかないように気をつけろよ?
相当マヌケなようだから、ありえん話じゃないぞ・・・と忠告しておく。
163名前は開発中のものです。:2007/09/23(日) 16:31:34 ID:QFypb2Vw
162たんは大人だな
164名前は開発中のものです。:2007/09/23(日) 22:48:45 ID:z1VXnbUt
>>161の言っている事は正しい
これに懲りたら教える君も大概にしろよ
165名前は開発中のものです。:2007/09/24(月) 07:11:17 ID:vwNviHln
>>164=161師ね
166sage:2007/09/24(月) 11:02:09 ID:SyyzgDXi
>>165
いや、ほんとに>>161は正しいと思う。
教えるほうはいい気になってるかもしれないけど
周りから見たら気分悪い。
無礼だと思うなら教えなければいい。
そうすればお前も嫌な気分にならずにすむだろ。
167名前は開発中のものです。:2007/09/24(月) 11:10:22 ID:K5MxOKcs
161はワルモノだが、164は頭悪い。
168名前は開発中のものです。:2007/09/24(月) 11:16:34 ID:dVVysbkR
>>166
とりあえずgoogleあたりで検索して
「マルチポスト」の意味と、その世間的な扱いを調べてきてくれ。

礼儀知らずなヤツを、礼儀知らずなまま放置しておくのが
コミュニティにとって良い事なのかどうか。

151のような手合いのやつが、このスレに溢れたとき、
「無礼だと思うなら教えなければいい」という考えでいれば、
教える立場の者は、減っていき(いずれは居なくなり)、
質問スレとして機能しなくなるだろう。

その辺にまでは、考えが及ばないか?
169名前は開発中のものです。:2007/09/24(月) 11:18:35 ID:aEbaKPQC
頭おかしいから及ばないんだよ
170sage:2007/09/24(月) 11:58:23 ID:SyyzgDXi
>>168
こんなものをコミュニティなんて言ってる時点で・・・
171名前は開発中のものです。:2007/09/24(月) 12:08:38 ID:dVVysbkR
>>170
いちいち細かく説明しないと分かってもらえないようだな。
このスレのことだけじゃなくて、
多数存在する、HSP関連の掲示板等を含めてのことだぞ。

その場、その時のことしか考えてないというか、
どうにも視野が狭いようで。
子供の視点とでも言えば、自覚してもらえるかな?

あと、151のマルチポスト先な。
HSP - Hot Soup Processor [15]
http://pc11.2ch.net/test/read.cgi/gamedev/1180849769/608
この分だと、他にもあるかもしれん。
172名前は開発中のものです。:2007/09/24(月) 12:08:43 ID:aEbaKPQC
ちょっと黙ってろバカ
173名前は開発中のものです。:2007/09/24(月) 12:28:53 ID:dVVysbkR
あぁ、大事なことを書き忘れていたが
無礼を責めるのは、
なにより、その当人の、今後のためを思ってのことだ。

>166を読むに、勘違いされてるようなので、これも説明しておくが
回答を書き込むのも、そいつのため、と思ってすることだ。
わずかばかりのプログラムの知識をひけらかして優越感に浸るとか
そんな、くだらない目的のためではない。

・・・って、やっぱ言わなきゃ分からねーのか?
174名前は開発中のものです。:2007/09/24(月) 12:54:37 ID:2hFbiwHX
「賢い俺様があほなお前に教えてやる」みたいな
書き方で何を言っても無駄だよ
言われたほうも素直に聞けるはずが無いし
自分も同様にあほなのをさらしてしまうだけ
175名前は開発中のものです。:2007/09/24(月) 12:59:36 ID:dVVysbkR
>174
今思えば、書き方は確かに間違っていたな。

無礼なことを出来る連中のツラの皮は、たいてい厚くて
生ぬるい言葉じゃ、届きゃしないだろうと思って
相手の癇に障るような言葉を意図的に使ったが。

無礼に腹が立っていた部分もあって、冷静さを欠いていたが、
他に書きようはあっただろうな。反省する。
176名前は開発中のものです。:2007/09/24(月) 13:06:38 ID:LXasBGgY
無礼でもマルチでも答えが手に入る。そっちの方が問題だ。

そもそも質問がくだらな過ぎる。
教えず自分で導き出させた方がよほど当人のため。

やはり知識をひけらかしたいだけ。ゆえに教える君なのだよ。
177名前は開発中のものです。:2007/09/24(月) 13:20:01 ID:dVVysbkR
>>176
答えを与えるのを躊躇った部分はあったんだが。
自分で導き出させたいから、[15]スレでは
最低限のヒントにしたんだが、

こちらが期待した結果は、得られなかったようだったんでな。
151から159の流れをみて
このままでは、また他のスレに書き込みかねんなと思って
それを止めさせる目的もあって書き込んだよ。

つーかさ。>176は、質問への回答をするとき、
知識をひけらかしたいから書き込むのかい?違うだろ?
178名前は開発中のものです。:2007/09/24(月) 13:32:16 ID:LXasBGgY
困ってると思うからだな。
お礼を貰って気分良くなりたいからな。

物質的な取引はそこにはなく、つまり気持ちのギブアンドテイクなんだよ。
礼やマナーを欠いた奴にそれは期待出来ない。


答えを与えないのは
気持ちがなければ答えは得られない。それを教えるためだ。
だから教える君は嫌われるんだよ。
179名前は開発中のものです。:2007/09/24(月) 13:40:08 ID:dVVysbkR
>>178
なるほどな。
だが、いささか結果論くさいというか。

今回のオレのやり方が通用しなかった151に
はたして、そんな高度な教え方が通用しただろうか、
という疑念が残るな・・・。
180名前は開発中のものです。:2007/09/24(月) 14:32:51 ID:K5MxOKcs
ちゅうがくせいみたいなきどったぶんしょうやめてくれませんか。
しょうじきあつくなってるのはきみだけです。
181名前は開発中のものです。:2007/09/24(月) 14:49:02 ID:S/4tg2Xx
ID:K5MxOKcs
182名前は開発中のものです。:2007/09/24(月) 18:03:34 ID:rlbSX1cI
ほんとくだらねぇ質問にくだらねぇ言い争いしてんじゃねーよ
くだらねぇ質問だと思ったら答えないのが普通
答えたやつはくだらねぇ質問だと思わなかったってことで
そいつもその程度ってこった
183名前は開発中のものです。:2007/09/24(月) 18:43:23 ID:dVVysbkR
言い換えると、同レベルだからスルーできないということか。
その理屈でいうと、この話題に関わってきた時点で、
あんたもその程度ってことになると思うんだが、どうかな?

言い争いに見えたようだけど、オレの方は、途中からは、
こういう件に対する他の人の考え方に興味が沸いて、
それを知るチャンスだと思って、それぞれにレスつけてみていたよ。

・・・で、せっかく反応してくれた所、残念なんだが、
ちと時間に余裕なくなってきたんで、オレはここまでだ。すまん。
184名前は開発中のものです。:2007/09/24(月) 21:37:48 ID:K5MxOKcs
>>183は病気
もっと煽ってやりたい所と思いつつも残念なんだが、
ちと時間に余裕なくなってきたんで、オレはここまでだ。すまん。
185名前は開発中のものです。:2007/09/24(月) 23:15:36 ID:JlOsjt+R
俺も今初めてここに来て、この展開を見たんだが、
ちと時間に余裕なくなってきたんで、オレもここまでだ。すまん。
186名前は開発中のものです。:2007/09/24(月) 23:22:24 ID:5EWmJSgV
すまん。
187名前は開発中のものです。:2007/09/25(火) 19:26:57 ID:0UWOOL6Z
すまん。
188名前は開発中のものです。:2007/09/25(火) 21:48:54 ID:YtMlp3xc
ゆるさん
189名前は開発中のものです。:2007/10/03(水) 18:43:19 ID:sgS6xtwx
2Dの画面の1ドット1ドットをセルに見立てて、それぞれに高さデータを持たせて、
色々処理をして、ランダムな地形を作ろうとしています。
2Dでそれなりに作ることはできたので、この値をもとに3D化して色んなアングルから見れたら楽しいだろうな、と思ったのですが、
3Dの実装方法のようなものを勉強するのはどうすればいいのか見当がつかなくて困っています。
HSPで3Dを実装する際にオススメのサイト、講座などがあったら、教えていただけると幸いです。
よろしくおねがいいたします。
190名前は開発中のものです。:2007/10/03(水) 22:18:30 ID:bz339cNc
Easy3Dとか言うプラグインがあるが、それでよければサンプルWikiとかどうだろうか。
ttp://easy3d.wikiwiki.jp/
疑似3Dでいいならd3module使えばいいかと。講座は無いけど。

とりあえず「3D」みたいな曖昧なキーワードではなく、「HSP+プラグイン名」でググることをお勧めする。
191名前は開発中のものです。:2007/10/03(水) 23:48:04 ID:sgS6xtwx
ありがとうございます。
そもそもプラグインというものがあるのを知りませんでした。申し訳ないです。
192名前は開発中のものです。:2007/10/05(金) 23:47:28 ID:eKkSLDoB
マルチしたもんだけど、
教える君うぜえええええwwww
いちいちマルチ先とか晒してるしw
どんだけネチっこいんだよwwwwwww
あと俺数回書き込んでたからw
193名前は開発中のものです。:2007/10/06(土) 00:27:15 ID:iOISl/Da
マルチしたもんが全部わるい
194名前は開発中のものです。:2007/10/06(土) 00:35:19 ID:HWdFETGR
はわわ〜〜
195名前は開発中のものです。:2007/10/06(土) 16:01:11 ID:el4pKpAc
いまだに引きずってるほうがネチっこいと思った
196名前は開発中のものです。:2007/10/16(火) 21:15:08 ID:MxVgJbxN
2まで浮動小数点が扱えず、3でようやくできるようになった???

掛け算と割り算もできなかった??

構造体がいまだに扱えない??  HSPなんて完全にクソだな、誰が使うかヴォケ
197名前は開発中のものです。:2007/10/17(水) 13:02:48 ID:xtdq18aN
いや、そのりくつはおかしい。
198名前は開発中のものです。:2007/11/07(水) 07:56:05 ID:ZYbVmjpD
俺最近C初めてわかったんだが。
HSPの利点ひとつも無い。
HSP簡単簡単言ってるけど、Cも難しいことしなければそんなに難しくない。
HSP遅いし

Cでいいじゃん?
199名前は開発中のものです。:2007/11/07(水) 08:32:49 ID:2TiA7Zbj
お前はCでいいよ
200名前は開発中のものです。:2007/11/07(水) 10:01:38 ID:pVCTzReN
他言語でもいいじゃんには同意だが、標準C比較なら最初の0.5歩と標準ライブラリくらいは利点じゃないか?
201名前は開発中のものです。:2007/11/07(水) 20:57:26 ID:IqZg4ETW
本当にCでいいじゃん、て思う人はこんなスレ見ません。
202名前は開発中のものです。:2007/11/09(金) 09:32:56 ID:buVJx9UL
HSP > > > | > > > C
     ↑いまココ
203名前は開発中のものです。:2007/11/10(土) 14:58:10 ID:FVYLCec7
HSPよりCで、CよりC++だと感じるこの頃
javaがHSP+C++な感じで使える
問題はjavaは速度が遅く感じることだな
204名前は開発中のものです。:2007/12/02(日) 11:41:24 ID:6+041IIG
HSPの逆コンってあるの?
205名前は開発中のものです。:2007/12/02(日) 13:49:04 ID:/Md8oD5r
>>204
HSPはタマネギのポタージュだから逆さにしてもコーンポタージュにはならないぜ。
206名前は開発中のものです。:2007/12/03(月) 11:55:21 ID://MPI0OW
どっかのプログラマが2.6逆コンパイラ作ってたよ
かなり技術的で意味わからなかったけど今考えるとすごい

お金もらえるなら作ってもいいけどね
需要あるのかな?
207名前は開発中のものです。:2007/12/04(火) 01:00:58 ID:IdF8HeOo
実際はすでにあるんだけどね
ただ、モジュールを使っていたりすると完全な復元は難しい
コンパイル時に#moduleなどはgotoに変換されるからねw
実装がオープンになったので簡単だと思う
少し前でもhspsdkが公開されていたので出来たけどね
パック時の暗号についてもデコーダーが公開されているしね

結論、誰がかね払うかボケw
208名前は開発中のものです。:2007/12/13(木) 21:10:54 ID:QO/1a8k+
質問です。hsp3.1で、
mmload "hogehoge.mp3",0,0
mmplay 0
としても"hogehoge.mp3"が再生されないんです。
しかもファイル名を関係ないものにしてもfilenotfoundエラーも何も出ないから・・・
ファイル名のミスなのでしょうか?
mp3なのでタグでの曲名を指定しないといけない?なのか良くわかりません・・・
ご教授ください。
209名前は開発中のものです。:2007/12/17(月) 13:24:11 ID:N6b036x3
ホゲホゲって何?ナメてんのか??
210名前は開発中のものです。:2007/12/17(月) 14:23:05 ID:GfKh8Y85
w
211名前は開発中のものです。:2007/12/17(月) 14:48:19 ID:/Isq6dTa
教示ならしてやろうと思ったが
教授する気はないな
212名前は開発中のものです。:2007/12/19(水) 07:16:56 ID:w9z2w0Gw
揚げ足とってばかりいないで教えてやれよ。
俺はパスだが
213名前は開発中のものです。:2007/12/19(水) 13:27:32 ID:DguUCUd2
214名前は開発中のものです。:2008/01/08(火) 11:30:08 ID:yhZss8gC
フリーのゲームみたいなのを作ろうと思って始めたばかりです。
作ったプログラムをどうすればアイコン化(?)できるのかが分かりません。
普通、たとえばデスクトップにソフトをダウンロードしたら、
何らかのアイコンみたいのがそこに置かれるじゃないですか。
うまく説明できなくて申し訳ないのですが、
つまり赤の他人が初めて見て、そのアイコンみたいなのを、
クリックすることでゲームが始まるようにしたいのです。
今の僕の保存しているプログラムの状態だとエディターが現れるのです。
エディターから実行しなければいけません。
どうせだったら、そのアイコンみたいなのをクリックすることで、
即座にウィンドウが開くというのが理想なのです。
215名前は開発中のものです。:2008/01/08(火) 23:53:24 ID:eieYUAxx
>>214
……釣り?
 
ヘルプ(H) → HSPプログラムガイドを開く(P)
1.プログラミングガイドの中にある『●実行ファイルの作成方法』を読んでくれ。
216名前は開発中のものです。:2008/01/09(水) 10:40:43 ID:p+YHp0wl
>>215
いえ本気の質問でした。おかげでなんとか解決できました。
あとはウェブでDLしてもらえる仕組みにするべく調べている
ところです。お返事サンクスでした。
217名前は開発中のものです。:2008/01/09(水) 15:35:09 ID:kmxJhjnF
今の君のレベルならソースのまま公開するという手もありだぞ
そんな基本的なことすら知らないようだとロクなソースも書けないだろうから
親切な人がソースの添削をしてくれる可能性がある
218名前は開発中のものです。:2008/02/29(金) 16:24:57 ID:jBZXHDDY
await 1〜15まで全く同じ速度(64fps)で、16にした途端急に遅くなって(40fps)
17〜31までまたずっと同じ速度(32fps)で、32にした途端また急に遅くなる(24fps)のはどういう理由?
16の倍数だけ何か補正掛かってる?
219名前は開発中のものです。:2008/02/29(金) 21:06:45 ID:2H3huRWa
>>218
^^;
220sage:2008/03/05(水) 17:54:57 ID:c2C5oBIM
>>218
俺の環境でもそうなる
バグトラックに報告キボヌ
221名前は開発中のものです。:2008/03/05(水) 23:21:26 ID:ZSn8F+mc
モジュール内で/* 〜 */使うとエラー行がずれるので困る。

#module
/*
#deffunc test int a
return


*/
#deffunc test2 int a
poke i,100,0
return
#global

_test 10
222名前は開発中のものです。:2008/03/06(木) 00:52:43 ID:Rqenko7k
>>221
バグトラ報告ヨロ
223名前は開発中のものです。:2008/03/06(木) 15:40:54 ID:u2GKEnw4
エラー行がずれるバグは、ずっと前から潰しきれずにいるから
もう直せない気がするぜ。
224名前は開発中のものです。:2008/03/07(金) 00:52:46 ID:6KXXWhEd
つOpenHSP
バグトラは揚げるに限る
225通りすがりのホゲホゲEX:2008/03/14(金) 22:17:28 ID:8U/TKdkz
どうでもいい事かもしれないが、
まぁ聞いてください。
dialogで二重に発生するソースを教えてくんださい。
226名前は開発中のものです。:2008/03/16(日) 01:32:15 ID:9hGLDx36
227名前は開発中のものです。:2008/03/25(火) 13:32:35 ID:cnZGJcf0
クリックしたらメッセージが順に表示されるノベルゲームの様なものを
作りたいのですが素人なのでめんどくさい処理しか思いつきません
もっと効率よく表示できるアルゴリズムを教えて下さい

ソース

*main
redraw 0
stick ky,0
if ky&256 :kazu=kazu+1 ;クリックして変数に加算
gosub *serihu
gosub *itee
gosub *owari
color 0,0,0
boxf 0,400,500,499
color 255,255,255
pos 10,410
mes a
redraw 1
wait 5
goto *main

*serihu 
       ;現在の変数の数と一致するセリフを表示
if kazu=1 :a="ああ世界はなんて美しいのか"
if kazu=2 :a="アンブリビエンスな世界\n決して崩れる事は無く調和のとれた\n真実の美"
if kazu=3 :a="ブリゴー朝の如き朝焼けを目を細めつつ見やる\n誰にも邪魔をされない午後のひととき"
if kazu=4 :a="ひとの命には限りがあるなんて誰が言ったのかしら?"
if kazu=5 :a="ひとの命には限りがあるなんて誰が言ったのかしら?\nこの命の輝きは一瞬で永遠すらある"
if kazu=6 :a="メナンドピア海には雄山羊が浮かび生気のない瞳で虚空へ"
return
228名前は開発中のものです。:2008/03/25(火) 14:32:44 ID:v5okVSlu
hspda.dllを使うと便利かもしれない。
229名前は開発中のものです。:2008/03/25(火) 15:10:12 ID:cnZGJcf0
>>228
調べてみます
アドバイスありがとうございます
230名前は開発中のものです。:2008/03/25(火) 18:20:57 ID:wK9aCcma
俺はif文を並べたり、そのif文の羅列が毎フレーム処理されるのがキライだから

serinum=6:sdim seristr,256,serinum
seristr(1)="ああ世界はなんて美しいのか"
seristr(2)="アンブリビエンスな世界\n決して崩れる事は無く調和のとれた\n真実の美"
seristr(3)="ブリゴー朝の如き朝焼けを目を細めつつ見やる\n誰にも邪魔をされない午後のひととき"
seristr(4)="ひとの命には限りがあるなんて誰が言ったのかしら?"
seristr(5)="ひとの命には限りがあるなんて誰が言ったのかしら?\nこの命の輝きは一瞬で永遠すらある"
seristr(6)="メナンドピア海には雄山羊が浮かび生気のない瞳で虚空へ"
a="":kazu=1:gosub *serihu
*main
wait 5:stick ky,0
if (ky&256) { kazu=kazu+1:gosub *serihu
;gosub *itee:gosub *owari
}
redraw 1:goto *main
*serihu
redraw 0
color 0,0,0:boxf 0,400,500,499
color 255,255,255:pos 10,410:mes a
if ( kazu<serinum ) { a=seristr(kazu) } else { a="" }
return

という様にするな。
自分で作るなら、さらに、メッセージ部分は別ファイルにしておいて、
ファイル読み込みで文字列配列seristrに取り込むが。
231名前は開発中のものです。:2008/03/25(火) 20:18:07 ID:cnZGJcf0
>>230
詳しい解説ありがとうございます
早速参考にさせてもらって色々やってみます
232名前は開発中のものです。:2008/03/29(土) 04:17:14 ID:dQA52jo3
レベルアップ時に一定確率でパラメータが上昇する仕組みを作りたいのですけど、
randomize : if rnd(振れ幅)<基準値 : パラ+=1
とすると何故か上昇率10割になってしまいます。
何が問題なのか教えてくださいorz
233名前は開発中のものです。:2008/03/29(土) 09:32:28 ID:ZO6EvyW8
そりゃ、基準値より振れ幅が低いからだろ
使ってる変数がどんな値をとってるか調べてみ
234名前は開発中のものです。:2008/03/29(土) 10:44:12 ID:dQA52jo3
振れ幅は10で固定、基準値は3〜8なんでそれはないです。
rnd値を変数に入れて
mes "check:"+(基準値-rnd値)
を書き出してみても、正負関係なくパラメータ上がってます。
235名前は開発中のものです。:2008/03/29(土) 13:10:16 ID:dQA52jo3
自己解決。
randmize : check=基準値-rnd(10)
if check>0 : パラ+=1
にしたら予期した動作になりました。

でもどうして先の結果になったのか未だに理解できませぬ
236名前は開発中のものです。:2008/04/02(水) 15:50:10 ID:HvPuU/FR
最近HSPをはじめてみて、とりあえずテトリスでも作ってみようと思ったものの
どのようにプログラムを書いていけばいいか、全く予想も出来ません…
おおまかな段取りで良いので、アドバイスをもらえないでしょうか?
237名前は開発中のものです。:2008/04/02(水) 19:06:45 ID:DeFVpiid
ゲーム画面の描画。
ランダムなり一定の順番でブロック投下。
ブロックを一定の間隔で落下。
着地するまでは左右(+下)とブロック回転操作。
着地の瞬間ブロックが横一列揃ったかどうか判定。
揃った場合ブロックを消去してそこより上のブロックをそのまま落下。
またブロック投下で以下ループ。

テトリスのルールはうろ覚えだけど、最低これくらいは
動作が必要だと思う。
テトリスがそのままサンプルとして載ってる本は無いかも
しれないけど、教習本は何かと参考にはなるので
見かけたら買っておくと吉。
段取りも分からないなら尚更。
まあ、自分も必要そうな物は何となく分かっても、
どう書けばいいかはさっぱりですけどね。
238名前は開発中のものです。:2008/04/03(木) 07:35:37 ID:6Atx+VSW
とりあえずネットに初心者向けのサイトがそこそこあるので
ググっとけ
239名前は開発中のものです。:2008/04/03(木) 17:26:51 ID:zWQu7jXF
>>237>>238
アドバイスありがとうございます。
全く予想も出来ない状態でしたが、
ブロックが落ちていきながら、左右に移動が出来るところまではなんとかできました。
ですが、回転の仕方と下まで落ちきったブロックがあることを認識させるスクリプトをどう書いていいのかわかりません…
これはどのように書いて表現すればいいのでしょうか…?
240名前は開発中のものです。:2008/04/03(木) 20:18:31 ID:98YeAVol
ブロックの回転パターンを全て登録しておいて、
回転キーを押すごとに変更させるとか。
落ちきったブロックは当たり判定のある背景
みたいな扱いにするとか。
241名前は開発中のものです。:2008/04/03(木) 21:30:45 ID:6v8TXmU/
HSPは思い付きでパパッと簡単にプログラミングできるから楽しい
その気になれば中規模開発も出来るしな
242名前は開発中のものです。:2008/04/03(木) 21:45:01 ID:6GZs8m66
7行テトリス…は参考にはならんよな。
243名前は開発中のものです。:2008/04/04(金) 02:42:49 ID:WA+Ov3ZK
>その気になれば中規模開発も出来るしな

中規模ってどのくらいのもの?
244名前は開発中のものです。:2008/04/04(金) 13:12:46 ID:uf7CfSwv
>>240>>242
回転パターンを全て登録することで、
回転しているように見せることぐらいなら出来そうな気がしました。
当たり判定は…なかなか自分には難しそうですが、
まず回転できることを目指してやってみたいと思います。
ありがとうございました。
245名前は開発中のものです。:2008/04/04(金) 20:07:21 ID:z3wb+Ur4
初めて作るならシューティングが無難だぞ
シューティングなら自機が動いて弾が出るだけで一応ゲームになるし
そこから少しずつ肉付けしていく楽しみがある
テトリスは初心者にはちょっと厳しいし、作ってもあまり報われない気がする
246名前は開発中のものです。:2008/04/12(土) 09:06:19 ID:eq1/vK6b
>>242-243
それ何てファンダム?
247名前は開発中のものです。:2008/04/26(土) 02:36:14 ID:4u5/pJhv
hsp3の質問です。
パレットモードで自作命令を使ってフェードアウトして、
画面を書き換えてからフェードインしたいんだけど、
パレットを1色にしたまま画面を書き換えると、
フェードインさせても画面がまっさらのままになります。
何かいい手段ないでしょうか。

hspdxfixにes_pafade命令があるのは知ってるけど、
256色フルに使ってるせいでウィンドウモードにできないから、
使う予定はないです。
248名前は開発中のものです。:2008/04/27(日) 08:45:29 ID:NampdhKa
野球とかゴルフなどの球技系スポーツゲーム作りを目論んでいます。
入門書を見てcircle文で座標を変化させてボールを動かせるようになりましたが
ボールを表現する方法としてはcircle文の他にボールを描いた画像を動かしたり
"●"などの文字を動かす方法もあると思います。
ゲームとして発展させるにはどの方法が適しているんでしょうか?
249名前は開発中のものです。:2008/04/27(日) 13:16:43 ID:mIdNKTkJ
3D
250名前は開発中のものです。:2008/04/27(日) 18:04:22 ID:0sAePLKQ
どんなゲーム作るかによるだろ
251名前は開発中のものです。:2008/04/30(水) 13:57:02 ID:pNi4Eofe
>>248
ゲームだとDirectXは使うのか?

HSPでDirectX使うと文字の描画が遅いうえにディザも目立つと思うので
文字を動かす方法は却下

circle命令単体だと単色になって立体感がないのでボールを表現するのには向いてない
重ねてcircle使えば陰影出すこともできるが、いちいち座標指定しながら複数回circleすると
処理が重くなるのでやはり却下
(バックバッファに前もって重ねcircleの画像を作っておくのはアリ)

つーわけで一番無難なのは自前画像を用意しておく方法かと
ぁ、3Dだと問答無用でモデル用意しておかないとダメ
252名前は開発中のものです。:2008/04/30(水) 14:52:29 ID:qAJAlErl
>>251
>ゲームだとDirectXは使うのか?
使わないとフルスクリーンに出来なくて非難囂々にならない?
253名前は開発中のものです。:2008/04/30(水) 15:55:28 ID:jsinLkPs
タイトルバーのドラッグ・ウィンドウのリサイズ・タイトルバー右クリック 等々で
wait/awaitのループが止まってしまうのが困る
精度を保ちつつ止まらないような方法はないのかね……
254名前は開発中のものです。:2008/04/30(水) 23:49:23 ID:pNi4Eofe
>>252
漏れは試したことないが
確かDirectX使わなくてもフルスクリーンにする方法はあったはず
描画速度が激遅らしいが

>>253
API叩いてwindowsタイマー使えばよかったような希ガス
記憶があやふやだから詳しくはぐぐってくれ
255名前は開発中のものです。:2008/05/01(木) 13:31:24 ID:D+jH3gcG
windowsメッセージが来てゲームが止まると何か困ることあるのか?
むしろそっちの方が都合がいいと思うんだが

まあHSPでなければスレッド作ってそこでゲームループ回すのが
一番スマートなんだけそれを言ってはry
256名前は開発中のものです。:2008/05/03(土) 13:04:27 ID:eQXLI2ie
>>255
たとえば、ネットワークを使っていてヘルス処理をしていると困ったりする
あと、リアルタイムアクションゲームとかだと困るかも
257名前は開発中のものです。:2008/05/05(月) 22:47:03 ID:nv4RCLDO
[参照]ボタンクリックして、自分で持ってる音楽を設定したらその音楽が流れるように
したいんだけど、
mmplayで流す→mmstopで止める
だと、途中からじゃなくなるじゃん?

で調べたらmmplayとかじゃ無理って分かったんだけど
dmmplayとかmciの使い方よく分からないから
だれか教えて・・・


windowsXpね
258名前は開発中のものです。:2008/05/05(月) 23:01:52 ID:hvT8ChJH
HSPでOSつくれますかな?
259名前は開発中のものです。:2008/05/06(火) 10:18:41 ID:XQMQqWJZ
OSはXPってことです
260名前は開発中のものです。:2008/05/06(火) 11:18:37 ID:XQMQqWJZ
screen 0,180,32,8
gsel 0,2
cls 1
objsize 60,32
pos 0,0:button gosub "再生",*m_play
pos 60,0:button gosub "一時停止",*m_stop
pos 120,0:button gosub "選択",*m_senntaku
repeat
wait 1
loop
*owari
mci "close all"
end
*m_stop
mci "stop music"
return
*m_play
mci "play music"
return
*m_senntaku
dialog "mp3;*wav",16,"音声ファイル":if stat=0:end
fname=refstr
mci "open \"" + fname + "\" alias music":if stat=-1:end
mci "status music length":m_length=stat
title ""+getpath(fname,9)+""
return


で再生して聴いているあとに選択押して違う曲選んだら終わってしまう理由は?
あと選択し終わったあとボタンが少しの間変になるのは?
261名前は開発中のものです。:2008/05/06(火) 11:37:12 ID:La7qhxzN
closeしてないから
262名前は開発中のものです。:2008/05/06(火) 19:14:07 ID:XQMQqWJZ
close・・・?
263名前は開発中のものです。:2008/05/06(火) 19:34:40 ID:La7qhxzN
*m_senntakuの最初に「mci "close music"」を持ってくるんだ

普通2chではこんな親切に教えてもらえないぞ
264名前は開発中のものです。:2008/05/06(火) 19:37:58 ID:Mo3zcRi9
何か知りたいことがあったら、思いつく限りの嘘八百を
自慢げに並べ立てれば、凄い勢いで突っ込みが入って
正しい知識を得ることができる、というコピペを思い出した。
265名前は開発中のものです。:2008/05/06(火) 19:46:35 ID:XQMQqWJZ
ありがとうございます!!
2chで親切にしてもらったのは、初めてです!あきらめかけてました!
266名前は開発中のものです。:2008/05/07(水) 01:02:21 ID:/xz8PrSv
マルチ氏ね
267名前は開発中のものです。:2008/05/09(金) 07:36:41 ID:2McxGs/b
MCIって抽象的すぎて逆に分かりにくかったりする
そのくせゲームには不向きという
268名前は開発中のものです。:2008/05/09(金) 18:55:58 ID:Q7tRs1X8
HSP3,1で育成シュミレーションみたいなのって作れますか?
何をどうしたら良いのかさっぱりで・・・
269名前は開発中のものです。:2008/05/09(金) 19:32:09 ID:brUArpPU
作れるよー\(^o^)/
270名前は開発中のものです。:2008/05/09(金) 21:00:28 ID:Q7tRs1X8
>>269
そうですかありがとう頑張って作ってみます参考資料が全然なくて大変だなぁいいえコッチの話でございます全然大丈夫元気元気です
271名前は開発中のものです。:2008/05/11(日) 06:42:23 ID:iHr/pVr1
RPGなどでの画面が暗くて見えないけど、
明かりの部分だけ見えるようにするってのはどうすればできる?
できれば四角じゃなくて丸や複雑な形で見えるようにしたいんだけども
272名前は開発中のものです。:2008/05/11(日) 15:38:07 ID:vklDrfpO
一旦、bufferに描画して、そこから抜き出す。
273名前は開発中のものです。:2008/05/11(日) 17:16:07 ID:TIFWMd0q
単純に円でいいなら一番上に●を反転させた画像を描画すればいい
壁の向こうに届かないような光を再現するなら少し工夫が必要
274名前は開発中のものです。:2008/05/13(火) 01:14:54 ID:PsHL11Ah
HSPからウィンドウズメッセンジャーを操作することが出来ますでしょうか?
届いたメッセージを変数に入れたり、入力した文字列をメッセンジャーで送ったりしたいんですが…
275名前は開発中のものです。:2008/05/13(火) 02:20:31 ID:ZbiqGT4h
アゲ
276名前は開発中のものです。:2008/05/13(火) 12:46:12 ID:ZLsrqB1E
>入力した文字列をメッセンジャーで送ったり
これはプロセスを捕まえてウィンドウメッセージ送るだけでできなくはないが

>届いたメッセージを変数に入れたり
これはAPIハックしないとできないんじゃまいか
277名前は開発中のものです。:2008/05/13(火) 20:21:43 ID:1eFjNTaa
アピたんとファックと聞いて飛んできました
278名前は開発中のものです。:2008/05/14(水) 02:04:16 ID:xk8VdnF8
>>276
APIの仕様が分からないとどうにもならないということでしょうか?
公式には無いんでしょうね…

>>277
ハァハァ

279名前は開発中のものです。:2008/05/14(水) 04:23:54 ID:Zi+/voG2
>>278
まぁクローズなのがMSだからAPIの仕様なんて公開しないだろうねぇ
つーかセキュリティにも関りかねんし
280名前は開発中のものです。:2008/05/16(金) 20:29:41 ID:NpuBZCr7
質問いいですか?

横スクロールアクション作ろうと考えていますが、スクロールがうまくできません
皆さんはどのようにしているのでしょうか。
教えてくれたら幸いです。。

これが問題のプログラムです
お手数ですがダウンロードしてもらってもよろしいでしょうか
http://a-draw.com/uploader/upload.cgi?mode=dl&file=638

pass hsp
281名前は開発中のものです。:2008/05/17(土) 09:20:39 ID:QCoyZPje
すみません
少し光が見えてきたので
もう少し考えてみます

282名前は開発中のものです。:2008/05/17(土) 09:34:15 ID:z8NAaMOM
>>280
1.redraw命令を使う
redraw0 → 画面消去(boxf塗りつぶし) → 描画 →redraw1 の流れで。
そのソースならwait3を挟むように置くといいかも。

  redraw1
  wait3
  redraw0

2.stick命令を描画ループの外に出す。

*draw
            ←ココへ
  repeat 10
            ←ココから
   repeat 14
   loop
  loop
goto *draw
283280:2008/05/17(土) 14:02:57 ID:QCoyZPje
ご親切にありがとうございます!
stick命令を外に出すのですね
それは思いつかなかったです

おかげで
滑らかに動くようになりましたぁ

284名前は開発中のものです。:2008/05/21(水) 01:52:34 ID:s7j9SVwC
USBゲームパッドのボタン数が80以上あるコントローラーを使いたいんだけど
それだけの多ボタンに対応してるプラグインってある?
285名前は開発中のものです。:2008/05/21(水) 01:54:11 ID:j/HEjOCw
モジュール作ればいいんじゃねえの
286名前は開発中のものです。:2008/05/21(水) 02:14:12 ID:s7j9SVwC
モジュールを作る…っていうのがちょっとまだ出来そうに無いというか・・・

もし作るとして悩みというか疑問なんだけどたいていのstick関連の命令って
同時押しに対応するために返り値が ボタン1=2 ボタン2=4 ボタン3=8ってどんどん増えていくじゃない?
80オーバーもあったら大変な数になるよね…

どうすればいいんだろ…
287名前は開発中のものです。:2008/05/21(水) 02:45:36 ID:j/HEjOCw
hmm.dllは使えないの?
288名前は開発中のものです。:2008/05/25(日) 11:20:26 ID:o7ioG73B
hspmathで

int(pow(2,3)) が7になるのはおかしい
pow(2,3)だけだと8.000000なのに
289名前は開発中のものです。:2008/05/25(日) 13:24:26 ID:Y18gimB2
mes strf("%.20f",pow(2,3))→7.9999999
なので、丸めは自分で四捨五入しないとダメぽ。
mes int( strf("%.0f",pow(2,3)) )
290名前は開発中のものです。:2008/05/25(日) 17:13:49 ID:kDeM8bWf
すみません質問です
配列変数に変数を使うことはできませんか?


 c=3
 a(c)=2

エラーが出てしまったのですが、これのせいでしょうか?
291名前は開発中のものです。:2008/05/25(日) 17:18:46 ID:SE/EozgX
dimで宣言した?
292名前は開発中のものです。:2008/05/26(月) 13:39:15 ID:jY1k2ik4
すみません
他のところに問題があったようです
ありがとうございました。
293名前は開発中のものです。:2008/05/29(木) 23:45:39 ID:Pf6Bpw3h
buttonを押した回数を数えたいのですがどうすればよいのでしょうか?
294名前は開発中のものです。:2008/05/30(金) 00:16:27 ID:o0nyLH/q
カウントしる
295名前は開発中のものです。:2008/05/30(金) 13:11:09 ID:AVO/iuCc
>>293
変数

これでわからんなら消防からやり直して来い
296名前は開発中のものです。:2008/05/30(金) 13:58:25 ID:yCet+L7E
>>294>>295
有り難うございました。解決しました
297名前は開発中のものです。:2008/06/01(日) 16:57:44 ID:4i3tZ0ay
>>284
USBパッドのモジュール作ったことあるけど、
1つのコントローラでボタンは最大32までだったはず。
80以上のコントローラなんてないよきっと。
298名前は開発中のものです。:2008/06/01(日) 17:03:31 ID:4i3tZ0ay
>>284
デバイス上3つとして認識する特殊なのだったら、
デバイスIDごとに押したボタンが分かるから、問題ない。
299名前は開発中のものです。:2008/06/01(日) 20:48:09 ID:sxVpkgND
そもそも80以上ってどんなコントローラなのか気になる。アコーディオンか?w
300名前は開発中のものです。:2008/06/01(日) 23:52:02 ID:LvwCAqAC
一つ質問したいことがあるのですが・・・

*top
cls
font "MSP ゴシック",50,21 : color r,g,b : mes "2ちゃんねる"
button "★色変え★",*irokae
stop
*irokae
randomize
r=rnd (256)
randomize
g=rnd (256)
randomize
b=rnd (256)
goto *top

上のようにしてランダムに文字の色を変更できるように
作ろうと思ったのですが、どうしてもモノクロにしかなりません。
変数もちゃんと初期化してあるはずなのになぜでしょうか?
301名前は開発中のものです。:2008/06/02(月) 00:03:11 ID:TquTWyR+
>>300
randomizeが多すぎw
randomizeは*topの上に1個だけでおk
302300:2008/06/02(月) 00:07:42 ID:ytkUioVA
>>301
randomizeを*topの上に置いたらできました。
ありがとうございました。
303名前は開発中のものです。:2008/06/02(月) 00:48:17 ID:HDL6myIg
ちょっと意味合いが違うかもしれませんが質問です。
皆さんはHSPでプログラム組んでて原因不明な不具合が生じた事ってないですか?
私はver2.61を使用していますが、過去何度かバグと思える現象に遭遇しています。

例えば、コンパイルには成功しているのに起動後強制終了したり、
エラーが出るので履歴で確認すると存在しない行が原因だったり、
一部命令が無視されたり(同行の別の命令は実行されている)、
挙げ句には削除した行を再コンパイル後にも実行し続けたり、
と、まあいろいろ(汗

無論ハード的な問題でもなく(複数のPCで同様の現象発生)、
プログラミングの問題でも多分ありません(間接的にはあるかもしれませんが)。

ただググって見てもそれらしいバグがあるとの記事もなく不思議に思っています、
何かそんな現象があったって人はいないでしょうか。
304名前は開発中のものです。:2008/06/02(月) 02:12:41 ID:C+VIH7qr
Humanエラーが多そうだな
305名前は開発中のものです。:2008/06/02(月) 02:13:01 ID:O21cG9po
行を変えてみたり引数に多次元配列を直接渡さないようにしてみたり、
変数の名前を変えてみたりとよく分からんことで回避出来たりはする。

変数は1000個くらいまでが山なのか。
多すぎるとコンパイルで落ちたりすることも。

プラグイン側の問題が影響している場合もあったりで
こういうのは再現のしようがないのでどうしようもないわ('A`)
306名前は開発中のものです。:2008/06/02(月) 07:31:01 ID:C+VIH7qr
原因特定できるようならバグ報告したらいいんでね?
307名前は開発中のものです。:2008/06/03(火) 02:13:39 ID:g8/4R6S3
すいません質問なんですが
格闘ゲームの処理でパッドから入力を読み取って必殺技などに置き換える
プログラムってだいたいどんな感じになるんですかね?

もし参考になるHPがありましたら教えてもらえたらうれしいです
よろしくお願いします

308名前は開発中のものです。:2008/06/03(火) 13:59:42 ID:KzAZ7sDC
>>307
1.配列変数などに方向キー入力状態(数回分〜十数回分)を保持
2.ボタン入力時に対応する技の条件を満たしているかどうか判定
あまりシビアに判定すると技が出にくくなりすぎるので、多少甘めに判定する工夫をしておく。
309名前は開発中のものです。:2008/06/03(火) 16:49:03 ID:JoNQNuF2

1フレごとにキー状態(ボタンと方向キー)を記録していって
判定は逆順つまり入力を遡ってやる。

例えば波動拳(236P)なら
Pを押したか? → 6を押したか? → 3を押したか? → 2を押したか?

実際の入力は P6663332と連続してるだろうし
途中ニュートラルが挟まる事もあるのでそこは工夫。
310名前は開発中のものです。:2008/06/03(火) 17:50:13 ID:KygUpK/t
アルゴリズムとしては、コマンド入力OK時間だけフレーム取り出して、
連続する数字は1つにして判定すれば良いということか。
311名前は開発中のものです。:2008/06/03(火) 20:03:14 ID:g8/4R6S3
308-310さんレスありがとうございます。

308さん判定を甘くするってのは309さんのレスにあるように
236Pの場合、[2]と[3]の入力の間に違う入力が入った場合許容するってことですよね

溜め系の必殺技の場合はどうなるんでしょうか?
たとえば5秒分の入力状態配列を用意したときに、
溜め時間が10秒だとすると5秒以前のデータが無いので困ると思います。
312名前は開発中のものです。:2008/06/03(火) 20:57:15 ID:c44VBYWK
五秒以前のデータが無いので困ると思います。


困るとわかっていて何故そこを工夫しない。アフォか。
313名前は開発中のものです。:2008/06/03(火) 22:03:13 ID:KzAZ7sDC
>>311
>>309の例では、違う入力を許容してるか??
その違う入力がニュートラルのことならそうだとも言えるが、なんか微妙だな。
まぁ、そのあたりは君のゲームをどうしたいかによるから好きにすればいい。

コマンド入力時間よりも長い溜め技を作りたい場合、溜め技専用の処理を用意した方が良さそうだね。
どういう処理がいいのかは俺もわからんけど、例えば…… 
 
方向入力がされていて、且つ変更が無い場合、”溜め時間”のカウントを増やしていく。
方向入力が変更され、且つ溜め時間が一定値を越えていた場合、溜めていた入力方向のフラグを立てる。
ボタン入力タイミングまでの遊びを儲けるため、溜めフラグと共に極短時間の制限時間をセット。
制限時間の間だけ溜めフラグが保持されるようにするとか。
314名前は開発中のものです。:2008/06/04(水) 12:55:13 ID:HUdUGhdo
時間計測というより
例えば 4を押したか? を30回繰り返すだけで30フレ溜めた、って事になるヨ

キーの記録は技の猶予時間より長く取れば良いだけ。
並の格ゲなら3秒、(dimにして180個)もあれば十分じゃないか。
315名前は開発中のものです。:2008/06/04(水) 13:35:41 ID:lkXI6NzZ
時間ってのは解りやすくする為の便宜上の表現であって、
時計確認しにいくわけでは無いので、やることは変わらんと思うのだがー。
ま、いいか。
316307:2008/06/04(水) 23:39:23 ID:gkjK2yDp
皆さんレスありがとうございます。
皆さんの意見を参考にして作ってみようと思います。
317284:2008/06/08(日) 07:46:28 ID:uHh3jCMt
遅レスすいません、いろいろ試してみましたが行き詰まったのでご意見をお願いします。

>>287
hmm.dllでは28ボタンまでしか取得できませんでした。実際には上下左右4個とただのボタン28個で32個です。
良くよく考えてみるとこれはあたりまえのことで同時押しに対応するために
ボタン1↑=2
ボタン2↓=4
ボタン3→=8
...としていくと
ボタン31=1073741824
ボタン32=2147483648
となりHSPの扱える10進数の限界を超えます。
ちなみに28ボタン目まではhmm.dllを使って検出できるのを確認しました。
なぜか28ボタン目は代入される数が-2147483648になってしまったのもなぞです。
使用したスクリプト

#include "hmm.as"
diinit
*main
digetjoystate joys,0
if joys!0 {mes joys : goto *s}
wait 10
goto *main
*s
stop

続きます
318284:2008/06/08(日) 07:47:12 ID:uHh3jCMt
>>297
最大32までというのはゲームコントローラーの規格かなにかがあってそれで定められているという意味でしょうか?
出来れば紹介していただければ助かります。
まだ複数のデバイスIDを扱っているかどうかというはどのように調べれば分かりますでしょうか?
コントロールパネル→ゲームオプション→コントローラIDでは一つしか割り当てられていないように見えましたが...

もしかすると私が扱っているのはゲームパッドとは違うものなのかもしれません...

>>299
PCダーツという商品名のエポック社から発売されているダーツボード型ゲームコントローラーです。
専用のソフトウェアが付属しておりそれで遊ぶものなのですが、通常のゲームパッドとしても使えるので自作ソフトウェアも開発できるようです。
ダーツボードというのは二十分割された円の中にそれぞれ四つの得点枠があり20x4で80+操作用ボタンで83ボタンということになります。

ネット上の有志の方が提供してくれた情報に

DIJOYSTATE2構造体のBYTE rgbButtons[128]

DIJOYSTATE2 data
data.rgbButtons[0x00] & 0x80 -> 20 SINGLE INNER
data.rgbButtons[0x01] & 0x80 -> 12 SINGLE INNER
...省略
data.rgbButtons[0x51] & 0x80 -> BULL OUTER
data.rgbButtons[0x52] & 0x80 -> 0x52 DOUBLE
data.rgbButtons[0x58] & 0x80 -> UP
data.rgbButtons[0x59] & 0x80 -> DOWN
data.rgbButtons[0x5a] & 0x80 -> PLAYER CHANGE/ENTER

というメモがあったのですが私の知識ではこれを有効活用できませんでした...

319名前は開発中のものです。:2008/06/08(日) 08:58:49 ID:lZRpD0vC
それC++の構造体
HSPでもむりくり実装しようとすればできんことはないが
読んで理解できんのなら今はまだ無理だと思う

HSPを諦めてC++に行くか
そのパッド使うのを諦めるかって感じじゃないかな
320名前は開発中のものです。:2008/06/09(月) 07:47:39 ID:jvBRjSCV
>>318
調べたところ、そのDIJOYSTATE2使うにはDirectX使わないといけないから、
HSPだとCOM使わないといけないと思うし激しく面倒だと思う。

>ゲームコントローラーの規格
winmm.dllのjoyGetPosEx関数使った場合に32ボタンまでしか取得できない。
321名前は開発中のものです。:2008/06/23(月) 10:30:44 ID:OqPrV6Ye
#module機能使うとその中の変数はデバッグウィンドウに表示されないのですか?
322名前は開発中のものです。:2008/06/23(月) 11:51:54 ID:vsQGYcac
デバッグウィンドウの「モジュール」チェックボックスをチェック。

モジュール内の変数は名前の後ろに"@(モジュール名)"という印が付く。
名前を付けていない場合は、"@m?" (?は数字)という印が付く。
323名前は開発中のものです。:2008/06/23(月) 14:21:31 ID:OqPrV6Ye
>>322
レスどうもです
何故なのかかうちの環境ではそのチェックボックスが表示されてませんでした(HSP3.1)
インストールしなおしてみます
324名前は開発中のものです。:2008/06/23(月) 14:41:46 ID:OqPrV6Ye
やっぱりチェックボックスが出ない
デバッグウィンドウの下が少し切れて表示される
うーん、xpアップデートしてみようかな
325名前は開発中のものです。:2008/06/23(月) 18:27:28 ID:OqPrV6Ye
うーん、デスクトップでは問題ないのにノートではダメだ
もう諦めたorz
326名前は開発中のものです。:2008/06/23(月) 20:18:43 ID:hHjzd3O5
あ、表示がずれてるのね。
フォントの大きさだと思うが、変更すると全てに影響出るんだよなw
327名前は開発中のものです。:2008/06/23(月) 21:20:47 ID:OqPrV6Ye
うーん、フォントは変えてないんだけどなぁ?
ちなみにこんな状態です
パスは「hsp」

http://www2.uploda.org/uporg1500052.jpg.html
328名前は開発中のものです。:2008/06/24(火) 00:52:29 ID:E5TmR4f+
404
せめて数日持つところにあげろよ
329327:2008/06/28(土) 11:02:02 ID:hSwkXd9E
違うところにうぷしてみました
パスはhsp

http://www.dotup.org/uploda/www.dotup.org13778.jpg.html
330名前は開発中のものです。:2008/06/30(月) 19:55:54 ID:nJdeES3T
HSPでOSって作れますか?
331名前は開発中のものです。:2008/06/30(月) 20:16:17 ID:xlH6Htfc
HSPでつくるメリットが無いんじゃね?
332名前は開発中のものです。:2008/06/30(月) 20:33:36 ID:vo7/Jx6p
原理的には最低限のブートストラップやメモリ管理をアセンブラやCで
組めばできますが、事実上現代的な実用OSをHSPで作るのは無理です。
333名前は開発中のものです。:2008/06/30(月) 22:44:01 ID:czQ0Gieg
つーか、流行の言語でOS作れるか?って聞いても同じような回答でしょw
334名前は開発中のものです。:2008/07/01(火) 00:25:49 ID:5+hsu8PC
>>330
ムリ。理由は、HSPSDKでも見てください。

ただし、OS上で動くOSっぽいものなら作れます。
335名前は開発中のものです。:2008/07/01(火) 01:25:20 ID:IG9Ksw02
HSPで自作言語作るのと同じくらい無意味だな
336名前は開発中のものです。:2008/07/01(火) 07:17:08 ID:VJwRxY2z
VBで言語自作してた奴いたけどW
337名前は開発中のものです。:2008/07/01(火) 11:54:57 ID:RwZ1OqL9
HSPでも独自スクリプトぐらいなら普通に作るよな
338名前は開発中のものです。:2008/07/04(金) 19:41:01 ID:sNfc4Ee2
repeat-loopの中でgoto文を使うのはよくないのかどうか疑問です
教えてください
339名前は開発中のものです。:2008/07/04(金) 19:49:20 ID:sNfc4Ee2
じゃなくて、
gosubで飛んだところでgoto文使うことがあるんだけどこれはネストしたことになるのかな?
最終的にメインには戻るんだけど
問題はないんでしょうか?
340名前は開発中のものです。:2008/07/04(金) 20:05:04 ID:uv03eKwE
return使って戻らないとダメ
341名前は開発中のものです。:2008/07/04(金) 20:51:09 ID:sNfc4Ee2
*a
if f=1:gosub b
return
*b
gosub a
return
f=1であればまた*aからの処理に入りたいんです
gosub aをgoto aじゃまずいかな
落ちゲーで連鎖がある限り次に連鎖しているか判定する処理に入るようにした
いんです
f=1であれば*aのreturnには入らず*bにいき*aの先頭にいく。f=0ならreturnでメイン
に戻る
なんかおかしい感じがして・・・
342名前は開発中のものです。:2008/07/04(金) 22:13:50 ID:HojzndU6
gosub使って複雑なことやるとすぐに破綻しそう。ラベル増やすとかして
gotoだけで行った方がいい悪寒
343名前は開発中のものです。:2008/07/04(金) 22:42:52 ID:94H5v/2T
最初からネストが深すぎる場合はともかく、サブルーチンは状態によらず
完全に行って帰ってくることが保証されてれば問題ない。

サブルーチン内でのgoto文も完全に閉じてるなら問題ない。
344名前は開発中のものです。:2008/07/05(土) 10:24:00 ID:LS9dMB1n
なんつーか、いまどき言語仕様が化石すぎなんだよなあHSPって
おにたまの懐古趣味を満足させるという欲求だけで
古めかしいBASICに固執するのはユーザの利益に反するわけで、
互換性は保ちつつも3で完全に構造化言語に移行すべきだったのではと思う
345名前は開発中のものです。:2008/07/05(土) 10:53:14 ID:2Vo8LEl2
描いてるうちに変数のスコープが謎めいてきて
カウンタ変数iたちがうじゃうじゃいるという事態に
346名前は開発中のものです。:2008/07/05(土) 10:53:45 ID:2Vo8LEl2
もとい、書いてる
347名前は開発中のものです。:2008/07/05(土) 14:10:35 ID:LqzB2TKn
>>344
でおまいは何信者なわけ?
ちなみに漏れはRubyもPythonも使ったことは無いけど断言できる
RubyはPythonよりカスであると
348名前は開発中のものです。:2008/07/05(土) 14:38:03 ID:+jHVM16c
>互換性は保ちつつも3で完全に構造化言語に移行すべきだった
しったか乙、もしくは日本語不自由者乙
「構造化言語に移行」して、どうやって前Verから互換性保つんだよwww
349名前は開発中のものです。:2008/07/05(土) 15:18:55 ID:c62bHmFI
完全に移行しちゃったらマズいだろ…
gosubに取って代われるクラスとかローカル変数とかあればいいんだが
350名前は開発中のものです。:2008/07/05(土) 17:20:10 ID:Njua00bQ
モジュール使えば変数の管理なんていくらでもできるからいいだろ。

HSPのモジュールみたいな泥縄な解決法は大好きだw
351名前は開発中のものです。:2008/07/05(土) 17:48:42 ID:qMKEHul3
まぁゲーム用、初心者用が売りの言語?なんだから今のままでいいでしょ
HSPは構造化言語に移行しろ、なんて原付に125cc以上のエンジン乗せろって言ってるようなもんだ
352名前は開発中のものです。:2008/07/05(土) 17:53:49 ID:vn+5ious
ハイブリッドにすればOK
353名前は開発中のものです。:2008/07/05(土) 22:09:34 ID:EfItbRH6
つーかさ、HSPに多言語と同じ事を望む人たちが
何故にHSPに固執してるのかがまったく理解できない
354名前は開発中のものです。:2008/07/05(土) 22:11:43 ID:EfItbRH6
>>353
多言語→他言語だった
355名前は開発中のものです。:2008/07/05(土) 23:13:07 ID:aGAA/Y1Y
構造化したスクリプト言語の需要はRubyが満たしている。
Rubyは完璧だ。
Rubyに任せろ。
356名前は開発中のものです。:2008/07/06(日) 07:26:49 ID:F2V2oQb7
Ruby厨のふり乙
357名前は開発中のものです。:2008/07/06(日) 15:55:12 ID:bFEB3g4O
>>355
それなんてRubyコンプ?
358名前は開発中のものです。:2008/07/16(水) 14:48:45 ID:A14iXZWE
*main
screen 0,800,600,4
title " "
position = 0
gosub *Opening

*Opening
gosub *DataLoad

picx = 0 : picy = 0
posx = 30 : posy = 210
pos 0.0
repeat 6
 redraw 0
 pos posx,posy
 color 0,0,0
 gmode 4,,50
 gcopy 2,picx,picy,picx+198,picy+49
 picy = picy + 50
 redraw 1
loop
return

*DataLoad
if(position == 0){
buffer 2 : picload "chip1.bmp"
}
else{}

としたんですが画面が真っ白なままです。画像がbuffer2から転送されてくれない
画像はきちんと用意しているし範囲内にもあるのに、なぜこうなるのかわかりません
359名前は開発中のものです。:2008/07/16(水) 14:52:51 ID:A14iXZWE
あげ忘れすまそ
360名前は開発中のものです。:2008/07/16(水) 16:03:05 ID:OgAikto8
*dataloadをreturnしてなくない?
361名前は開発中のものです。:2008/07/20(日) 23:55:13 ID:ySoYZ2tH
else{} ってなんじゃ?
362名前は開発中のものです。:2008/07/21(月) 13:34:12 ID:gs/fNrKp
3になってnotemaxの代わりになにを使えばよろしいんですの?
363名前は開発中のものです。:2008/07/21(月) 14:08:18 ID:2OLSAFoJ
notemaxでおk
364名前は開発中のものです。:2008/08/10(日) 21:19:44 ID:iMmenOLz
hsp3.1&hspdxfixでウィンドウモードのゲームを作っています
ウィンドウサイズを640×480を超えるサイズに設定する方法を教えてください

es_screen 800,600,16,,1,0

などと書いてみたのですが解像度が変わり縮小されるだけでウィンドウは640×480のままでした
ヘルプはもちろんHSPDXFIX.TXT内のウィンドウモードに関する制約は目を通したつもりです
wikiやgoogle先生で調べたのですがフルスクリーンが前提での解説や640×480のサンプルしか見つかりませんでした
どうかよろしくお願いします
365名前は開発中のものです。:2008/08/10(日) 22:00:03 ID:2njtsEMZ
width
366名前は開発中のものです。:2008/08/10(日) 22:54:16 ID:iMmenOLz
ありがとうございます
widthとscreenで出来ました
以前に試した時はes_screenとは別に新しいウィンドウが作成されてしまい使えないものと思い込んでました
今思えばウィンドウIDを間違ってただけかもしれません・・・
きっと初歩的な事なんでしょうが本当に助かりました
367名前は開発中のものです。:2008/08/31(日) 13:29:20 ID:bV2d4pM3
oncmdのメッセージID一覧ってどこに乗ってるんでしょうか?

http://lhsp.s206.xrea.com/hsp_mouse.html#4

ここみて勉強してるんですが、右クリックのメッセージIDが分からなくてorz
368名前は開発中のものです。:2008/08/31(日) 17:04:48 ID:XaTo56MG
じゃあまずは "WM_LBUTTONDOWN" から検索してみようか。
369名前は開発中のものです。:2008/08/31(日) 18:13:20 ID:NfWI9IJK
横スクロールアクションのゲームを作りたいと思うのですが、これについて解説が載っている本はありますでしょうか?
370名前は開発中のものです。:2008/09/03(水) 00:35:18 ID:wT7NnjQd
HSPでスレッドを作るにはどうすればいいんですか?
僕の使ってるrubyという言語ではThread.newという命令でスレッドを生成できるのですが
HSPではどうやればいいかわかりません
371名前は開発中のものです。:2008/09/03(水) 03:11:46 ID:U5YhRJ/k
HSPは1スレッドしか起動できません
メモリマップトファイルとか使ってがんばれ
372名前は開発中のものです。:2008/09/06(土) 23:49:02 ID:/LwKRYcY
MSXみたいなもんだ
ゲーム作りの楽しみさえ覚えられればあとはどこへでもいける
373名前は開発中のものです。:2008/09/06(土) 23:51:13 ID:/LwKRYcY
すまん、誤爆
374名前は開発中のものです。:2008/09/20(土) 18:03:24 ID:lLS+baTj
今ゲームを作成しています。
LANで通信対戦をする方法を教えてください。
サーバー1機、クライアント4機を予定してます。
取り扱う情報は、文字と数値です。
サーバーとクライアントと相互通信ができればOKです。クライアントから直接別のクライアントへ通信はしません。すべてサーバー経由です。
よろしくおねがいします。
375名前は開発中のものです。:2008/09/20(土) 21:40:22 ID:lkC+AzAJ
>>374
ttp://www.pcbsoft.net/

今月で消えるみたいだから、早めにいっとけ。
376名前は開発中のものです。:2008/10/13(月) 18:16:27 ID:bE2D2PNX
すいません。質問させてください。
シューティングを作成してるのですが、次のことがわからないので教えてください。

1
line命令で光線を発射するのですが、相手機と交わってるかを判定するにはどうすればいいですか?

2
ifで1から10の間みたいに変数の値がaからbの間にあるかを判定するにはどうすればいいですか?

3
機体は全部文字(◆)で管理してますが、font命令を使わない場合、縦と横のサイズはどのくらいですか?
377名前は開発中のものです。:2008/10/13(月) 19:18:35 ID:Mzl/WEiY
基本的なことだから、もうちょっと自分で調べたほうが
自分の力になる、と思うけど…

1.レーザーみたいなものかな?
先端と後端の座標の範囲内に相手機の座標が入っているか判定する。

2.書き方は色々あるけど、例えば、変数aが1〜10だったらって場合は
if a>=1 & a<=10 :どうのこうの

3.質問の趣旨がイマイチわかりかねるけど、font命令でサイズを指定しない場合の
デフォルトの文字サイズということなら、18だったと思う。
でも18*18だと文字によっては、見た目上当たってないのに当たったことになるかもしれない。


たぶん、公式掲示板のほうが丁寧に答えてくれる確率は高いよ。
378376:2008/10/13(月) 20:27:22 ID:bE2D2PNX
>>377
2について
if (a >= 1 & a <= 10) & (b >= 5 & b<= 20)
みたいな使い方って可能でしたっけ?

3について
ifで当たり判定を作成するときに、posで指定したものと比較すると、レーザーに当たっているのに反応しないことがあるので、当たり判定をより正確にするために文字のサイズを知りたいんです。
379名前は開発中のものです。:2008/10/13(月) 20:44:20 ID:m62dWd/7
>>376
3について
ginfo_mesx
ginfo_mesy
380376:2008/10/13(月) 20:56:21 ID:bE2D2PNX
>>379
>>377

ありがとうございました。
381名前は開発中のものです。:2008/10/13(月) 20:56:36 ID:Mzl/WEiY
>>378
2.可能。わかりやすいから付けといてもいいけど、この場合別にカッコは要らない。
if b<=20 & a<=10 & b>= 5 & a>=1 こういうふうに順番も別にどうでもいい。
要は、その条件を満たしていればいい、というだけだから。

3.>>379さんの命令で調べられます。補足どうも。

>レーザーに当たっているのに反応しないことがある
あと、コレはもしかしたら別の要因かもしれない。
382名前は開発中のものです。:2008/10/13(月) 21:20:15 ID:DImhgLtJ
>>376
文字で悪いとは言わないが、グラフィック表示してもそれほど覚えることは増えないと思うのだがー。
まぁ、がんばれ。
383376:2008/10/14(火) 16:19:20 ID:/fohrPfw
>>382
グラフィック表示も考えたんですが、文字のほうが動作が軽いので文字にしました。
384名前は開発中のものです。:2008/10/14(火) 16:59:43 ID:nIT63VDw
レーザーが斜めにもなるんなら
衝突判定ちょっと面倒じゃね
385名前は開発中のものです。:2008/10/14(火) 18:46:18 ID:t4ZmnBBf
>>383
それは描画方法とか何か別の原因がありそう。
386名前は開発中のものです。:2008/10/19(日) 22:09:02 ID:hEJ0UAXc
HSPってwindowsの操作が出来るんですか?
387名前は開発中のものです。:2008/10/19(日) 22:40:28 ID:9h1+TQQb
>>386
質問の意味不明。
具体的にどんなことがしたいの?
388名前は開発中のものです。:2008/10/19(日) 23:21:25 ID:hEJ0UAXc
>>387
キーボードから操作できないソフトをキーボードから操作できるようにできないですか?
あるソフトを自動操作させたいんですけど
自動ツールは色々試してみたんだけど
マウス操作は位置とタイミングを覚えさせるだけなのでエラーになりやすいです
具体的にはブラウザのFirefoxを監視して
ページが読み込み完了と同時に動作させたいんですけど
読み込み完了は日時や混み具合によって変わります
レスポンスから文字列を取得して
そのツールのテキストウィンドーを書換えてから動作させたいです
ブラウザが読み込み完了したかはwindowsでわかるはずなので
読み込み完了と同時にそのツールを動作させたいです
389名前は開発中のものです。:2008/10/20(月) 00:04:02 ID:iKRF6iwW
>>388
俺のカンによると、HSPじゃ無理とでた。
Javascriptでやった方がいいんじゃね。
390名前は開発中のものです。:2008/10/20(月) 00:44:47 ID:qqXxvQzI
Firefoxアドオンでやれ
391名前は開発中のものです。:2008/10/20(月) 00:57:44 ID:55T8RhPE
>>389
javaスクリプトで出来そうなんですね
情報ありがとうです

>>390
そのFirefoxのアドオンなんですよ
動かしたいソフトってのは。^^;
392名前は開発中のものです。:2008/10/20(月) 01:12:48 ID:icRtLazz
>>391
ああ、俺のカンがJavascriptでも無理かもしんないって叫んでる。
Javascript的にはFirefoxのアドオンの操作は対象外な気がする。
393名前は開発中のものです。:2008/10/20(月) 02:41:33 ID:JfalNOku
質問です。
自作メディアプレイヤーに、『現在再生してる曲が終了したら次の曲を再生』
っていう機能がほしいんですけど、ググっても詳しく教えてくれるとこがないんです。
どんな命令を入れれば、次の曲を再生してくれるか わかる人はおりませんか?

それと、できれば音量の変更もつけたいです。
394名前は開発中のものです。:2008/10/20(月) 09:28:50 ID:kugXDCR4
>>393
公式掲示板でmciの事教えてもらってるのに、わからないとは如何に?
『hsp mci』でググってもみなかったのか?
それとも試行錯誤が面倒なだけか?

そんな面倒臭いやつはzgpswでも使ってろ。
395名前は開発中のものです。:2008/10/26(日) 20:29:47 ID:wH9Os8R+
文字を表示させた後その文字を消すのはどうやるのですか?
396名前は開発中のものです。:2008/10/26(日) 21:46:57 ID:jWFuac68
>>395
文字の背景による。
単色なら塗りつぶすのが楽。
背景があるなら、その位置だけ同じ画像をバッファから持ってきて再描画。
397名前は開発中のものです。:2008/10/27(月) 19:12:34 ID:BTloFuwx
>>395
もう少し初心者向け講座やってみるといいかも。
398名前は開発中のものです。:2008/10/29(水) 13:21:00 ID:vrDlfpI6
いくつかの変数の中から一番大きな数字が入ったものを
選択したいんですけど、どうすれば上手くいきますか?
399名前は開発中のものです。:2008/10/29(水) 13:56:11 ID:txbYv3tE
ひとつひとつ比較していけばいいんだけど、
「HSP ソート」とかでググってみれば出てくるんじゃない?
並べ替え(ソート)までは必要無いのかな?
400名前は開発中のものです。:2008/10/29(水) 14:37:59 ID:NGRr16/i
>398
質問の仕方を変えないと、欲しい答えが出てこない希ガス
401名前は開発中のものです。:2008/10/29(水) 15:27:58 ID:p+8U8df2
>>398

変数a,b,cがあったとして、一番大きい値がbiggestに入るとすると、

biggest = a
if ( a > b ) & ( a > c ) then biggest = a
if ( b > a ) & ( b > c ) then biggest = b
if ( c > a ) & ( c > b ) then biggest = c

402名前は開発中のものです。:2008/10/29(水) 16:04:13 ID:V00EYpYV
>>401
一行目要らん希ガス
つーか変数100ヶだったらどうするつもりだw

まぁ考え方としてはかなりイイ線逝ってるはずだから
>>398の参考になったらいいなと思うが
403名前は開発中のものです。:2008/10/29(水) 17:00:50 ID:vrDlfpI6
>>399>>400>>401

ありがとうございます。とりあえずソートを調べて、考えてみます
404名前は開発中のものです。:2008/10/29(水) 20:25:29 ID:ojPnDR9R
>>402
1行目無いと等しいものがあるときどうなるよ?
405名前は開発中のものです。:2008/10/30(木) 01:35:52 ID:8D8AFAkS
>を>=に変えれば無問題
406名前は開発中のものです。:2008/10/30(木) 01:41:38 ID:8D8AFAkS
というか、逐次比較は有効だと思うんだわ
複数の変数じゃなくて配列変数だったら、
ループでcnt使えばかなりソースの省略になるし
問題は、いちいち1ヶ1ヶ比較していってることかな

1次元配列変数a.nの各配列に代入されている数の中から
一番大きいものを変数biggestに代入するだけなら

repeat n
    if biggest <= a.cnt {
    biggest = a.cnt
    }
loop

これだけでよくなる
407名前は開発中のものです。:2008/10/30(木) 09:59:36 ID:dGM5jGL5
>>406をヒントにして、>>401のバグ取り&改造版(配列でない場合を想定)

biggest = a
if ( a <= b ) then biggest = b
if ( b <= c ) then biggest = c
if ( c <= d ) then biggest = d

...( 以下同様に続く )
408名前は開発中のものです。:2008/10/30(木) 14:46:00 ID:BNKKR64Z
data=a,b,c,d,e,f,g
biggest=0x80000000
repeat 7
    if biggest<data.cnt :biggest=data.cnt
loop
409名前は開発中のものです。:2008/11/06(木) 17:39:17 ID:TrhTz1eZ
背景 人物 メッセージウインドウの順で描写しているのですが、
他所をいじらずに人物だけを変えたい場合はどうすればいいでしょうか
410名前は開発中のものです。:2008/11/06(木) 18:19:25 ID:4oKcS3Ek
透過?
411名前は開発中のものです。:2008/11/06(木) 18:21:04 ID:EXB7KWwr
gmode命令のモード2とか。
人物データの輪郭線の色は0,0,0にならないよう注意。

背景が変わらず決まった位置に人物が表示されるなら、初めから背景込みの画像データにしておく手もある。
412名前は開発中のものです。:2008/11/06(木) 18:24:59 ID:spWXzcBe
>>409
redraw 0
いじらない背景 いじった人物 いじらないメッセージウインドウ
の順で再描画。
redraw 1

でいいんでないの?
413名前は開発中のものです。:2008/11/06(木) 18:36:40 ID:2wXBLnHO
背景、メッセージウィンドウの画像の再描画(あるいは再転送)をせずに
人物の画像だけを変更したいというキチガイ的な要求だと読み取って、
イラッときた
414名前は開発中のものです。:2008/11/06(木) 19:08:30 ID:haddXs8f
多少重くなるが
背景、人物、メッセージをそれぞれ別のバッファに描いておいて
最後にまとめて表にコピーしてくる様になっていれば
変更のあるバッファを書き換えるだけで良い。
415名前は開発中のものです。:2008/11/06(木) 22:44:15 ID:TrhTz1eZ
>>410-414
ありがとうございます。
人物をアニメーションさせたかったのですが、表示毎のメッセージウィンドウ再描写+gmodeで解決できました。
かなり初歩的な事で申し訳ないです。
416名前は開発中のものです。:2008/11/11(火) 19:25:57 ID:DSbOPPfq
hspでbmpじゃなくてgifでほぞんしたいんだあけどできないのかえ?
417名前は開発中のものです。:2008/11/11(火) 19:53:44 ID:uO/BZAPl
できるけどおまえのたいどがきにいらないしじぶんでけんさくもできないくらいばかなのかえ?
418名前は開発中のものです。:2008/11/11(火) 20:04:40 ID:DSbOPPfq
ばかだからきいいてるんだすお?
419名前は開発中のものです。:2008/11/11(火) 20:09:05 ID:URbXVlll
sage忘れに気付いてsage直すあたり釣りだろjk
420名前は開発中のものです。:2008/11/11(火) 20:22:50 ID:DSbOPPfq
じゃあ検索語句をおしえてちょ
421名前は開発中のものです。:2008/11/11(火) 20:56:53 ID:V5IeJ51d
自分で正解言ってるだろ?
422名前は開発中のものです。:2008/11/11(火) 21:06:28 ID:DSbOPPfq
「HSPでは画像ファイルの作成出力保存が可能な拡張プラグインや汎用ライブラリを利用するのが一般的です」
てでたお ( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
失礼しましたうんこうんこうんこっこーーーーーーー
423名前は開発中のものです。:2008/11/12(水) 19:53:31 ID:NOGsUxAC
ウンコチンチーン
424名前は開発中のものです。:2008/11/20(木) 00:20:02 ID:rOCxAXHs
HSPでネットワーク対人対戦ゲームを作りたいのですが、
いいサイトありませんでしょうか?無料で見れる。
425名前は開発中のものです。:2008/11/20(木) 00:30:55 ID:rOCxAXHs
あと、
無料ツールでゲームプログラミング HSP編
を持ってる方にお聞きしたいのですが、
この本は、本にそっていけば、対戦ゲーム(簡単なものでも)丸ごと1つが作れるようになっていますかね?
426名前は開発中のものです。:2008/11/20(木) 17:43:34 ID:0HXSDpKU
>>対人対戦ゲーム
せめてどんな種類のゲームか書け。
トランプの対戦作りたいのに格ゲーのサイト紹介されたって困るだろ?
まぁ、通信の仕方を参考にするなら関係ないが。

あと、ネットに接続するのにどのプラグインを使っているのか書け。
何でもいいなら何でもいいと、書いてくれ。
そうでないと望んだ答えは得にくいぞ。
427名前は開発中のものです。:2008/11/22(土) 23:22:12 ID:+ifm36Hd
質問です
hspdxfixなんですが
スプライトの反転表示ってできますか?

es_excopyで画像を表示して、同じ座標に透明のスプライトを表示させることは考えたのですが、
それだとアニメーション設定ができなくなってしまいます。

できない場合はやはり反転した画像を用意する必要があるのでしょうか?
428m(425:2008/11/23(日) 00:17:57 ID:5UEPlA/k
>>426
まったくの素人で、来年あたりから本格的に始めようと思っているものなので、
よく分からないのですが、
ネットに接続するプラグイン?は何でもいいです。
あるマップで複数のキャラクターが動けるようにしたいんです。
シミュレーションのネトゲーみたいな。
429名前は開発中のものです。:2008/11/23(日) 10:58:58 ID:7aNUjbh6
>>427
es_effectで回転角を変えれば出来るんじゃね?
430名前は開発中のものです。:2008/11/23(日) 13:05:32 ID:RVzqkNaw
>>427
表示サイズをマイナスにすればおk。
x軸をマイナスにしたら横に反転。
y軸なら縦に反転。
両方なら完全な反転。
431名前は開発中のものです。:2008/11/23(日) 13:12:02 ID:Y5LLDyRY
>>429
おおー!できました
ありがとう
es_effect は回転だけできるのかと思ってました。
p4で縦、p5で横が設定できるのですね。
432名前は開発中のものです。:2008/11/23(日) 13:18:46 ID:Y5LLDyRY
>>430
すみません
リロードしてませんでした。
p1、p2の表示サイズの変更してもできるのですか!
どちらを使っても同じですよね

詳しい説明ありがとうございます。
433名前は開発中のものです。:2008/11/24(月) 23:45:39 ID:awzuc6ga
>>428(425)
とりあえず、シミュレーション作り方は自分でググってくれ。
検索ワード「シミュレーションゲーム HSP」

プラグインについてだが、何でもいいとのことなので、
いくつか紹介するから、自分で好きなもん選んで、
マニュアルと睨めっこしながらがんばってくれ。

□O2 System
ttp://o2.zener.co.jp/
非リアルタイム向け。サンプル付き。
大規模な(MMO)ネットワークゲームは無理。

□pcbnet2
ttp://www.sharkpp.net/hsp/plugin.html
非リアルタイム向け(多分。詳細は俺は知らん)。サンプル付き。
リンク先は、本家のweb活動終了に伴う再配布。
よってリンク先では質問しないように。

□gDP
ttp://sky.geocities.jp/f_the_darudaru/
DirectPlayのラッパープラグイン。サンプルあり。


あと、
>>無料ツールでゲームプログラミング HSP編
だが、俺は持ってないから知らん。
434名前は開発中のものです。:2008/11/29(土) 08:38:48 ID:dBPMkeYD
やさしいなお前
435名前は開発中のものです。:2008/12/03(水) 14:15:41 ID:PKdL5ZPx
質問です
bsaveで保存したデータは1byteに255まで入るのであってますか?
例えば アクションゲームで使うマップでは255まではしっかり表示できて、256では1にされてしまいます。
もし256個以上のチップを使う場合は1チップに2byte用意する必要があるのでしょうか?

まだこの辺の仕組みが理解できてなくて頭が混乱しております・・
説明へたくそですみません。。
436名前は開発中のものです。:2008/12/03(水) 15:13:33 ID:fAWA/Tgt
1byteが何を意味するのか調べてみたらいいと思うよ。
この先損にならないし。
437名前は開発中のものです。:2008/12/03(水) 16:24:35 ID:PKdL5ZPx
ありがとうございます
だんだんわかってきました。
bsaveで保存されるデータは一桁の10進数ではなくて二桁の16進数なのですね!
メモ帳で開くと化ける理由がわかりました。
ということは 1byte=二桁の16進数=256個の要素ということですか!

あとマップチップを257個以上使う場合は2byteずつのファイルを1つだけ用意するのでなくて、1byteずつのファイルを二つ用意してみます。
(上層、下層みたいにレイヤーっぽく)
438名前は開発中のものです。:2008/12/03(水) 17:34:50 ID:yCe4F4Dv
まぁおよそそれで合ってるが、
1byte = 8bit = 2進数8桁 = 8進数2桁
なのを忘れてはいけないよ
439名前は開発中のものです。:2008/12/03(水) 17:35:31 ID:yCe4F4Dv
ぁぁ最後ミスった
16進数2桁ね
わかってると思うが
440名前は開発中のものです。:2008/12/03(水) 18:44:13 ID:PKdL5ZPx
ふむふむ
詳しくありがとうございます
やっぱりプログラミングするとこういう知識も必要になってくるのですね
441名前は開発中のものです。:2008/12/12(金) 00:45:12 ID:ifena6Mi
この情報社会、学校で教えるべきだとおもわんか。
442名前は開発中のものです。:2008/12/12(金) 00:59:58 ID:6/iJyMTo BE:582958073-2BP(808)

専門学校で教えても無駄な現実を直視しようよ。
443名前は開発中のものです。:2008/12/12(金) 16:49:52 ID:SlkbXXu7
高校の必修科目です
444名前は開発中のものです。:2008/12/12(金) 20:47:48 ID:QNHzUh0O
fi x.7=1:mmstop:mmplay 1

これをループ内で使うとカクカクします
どうすればいいんでしょうか?
445名前は開発中のものです。:2008/12/12(金) 20:53:47 ID:ekGSbisk
mmloadのモードは何で指定してる?
446名前は開発中のものです。:2008/12/12(金) 20:58:10 ID:QNHzUh0O
>>445
モードは0です
447名前は開発中のものです。:2008/12/12(金) 21:37:56 ID:QNHzUh0O
説明不足な様ので追加します
ループ内で

getkey x,32
if x=32:mmplay 1
でキーを連打してると(1回押すだけだと音は最後まで出る)音が出なくなったので、キーを
連打しても音が鳴るようにmmstopを追加してみたんです

getkey x,32
if x=32: mmstop :mmplay 1
そしたら今度はキー連打しても音が出るんですけど
キー押したときに実行画面で(処理が)カクカクするように
なったんです
つまり、キーを連打しても音が鳴るように、カクカクしないようにできればいいんです
448名前は開発中のものです。:2008/12/13(土) 00:04:12 ID:l1khfFl2
いまいちよくわからんが、1フレーム毎に停止&再生してるからじゃないかな?
449名前は開発中のものです。:2008/12/13(土) 01:34:03 ID:z2U8V+g5
鳴らした後、xの値はクリアされているんだろうか?
450名前は開発中のものです。:2008/12/13(土) 02:27:53 ID:sjGWnXh8
hmmあたりを使ってください
451名前は開発中のものです。:2008/12/16(火) 21:23:55 ID:zJAoCtSY
解決したんだろうか? (´ー`)y-~~
452名前は開発中のものです。:2008/12/25(木) 20:46:42 ID:lTYGyE3i
横スクロールアクションゲームを作りたくて
スクリプトプログラミング 逆引きテクニックという本を購入し2日ほど練習しているのですが
マップの作り方がさっぱり思いつかず、まだ上下左右への移動程度しか出来ていません。

当たり判定とかも全く分からず参ってしまっています。
ステージマップはどの様に作るのが楽なのでしょうか?
453名前は開発中のものです。:2008/12/25(木) 21:16:00 ID:X50OKcB6
>>452
「HSP 横スクロール」でぐぐる
454名前は開発中のものです。:2008/12/25(木) 21:44:01 ID:lTYGyE3i
>>453
ありがとうございます。難しいですが頑張ってみます。
455名前は開発中のものです。:2008/12/31(水) 13:56:06 ID:x7nG6xa1
HSPなんて糞言語使う奴はヴァカ。
玉葱に洗脳されてるんだろ。
456名前は開発中のものです。:2009/01/04(日) 20:17:57 ID:D9+tkeKP
グラディウスのオプションの動きどうやっているのでしょうか?

457名前は開発中のものです。:2009/01/04(日) 20:26:54 ID:XfHKL7Uk
自機の座標をストックしておいて、何個か置きに持ってきてるだけじゃね?
458名前は開発中のものです。:2009/01/04(日) 22:07:02 ID:9lklfsu+
過去数十フレーム分の自機座標もってるだけだろうな
実装方法はリングバッファが楽だと思う
459名前は開発中のものです。:2009/01/05(月) 03:22:00 ID:1s0U4Ns1
元々がアセンブリ言語で作られてるのにそんな手法使うだろうか
自機&オプションが連結リストになってれば座標の履歴なんぞいらないだろうに
460名前は開発中のものです。:2009/01/05(月) 03:22:30 ID:1s0U4Ns1
そういえばHSPスレだったなここ
461名前は開発中のものです。:2009/01/06(火) 02:01:44 ID:FSx47qwP
グラディウスのオプションって自機のトレースだよな?
だったら自機座標の履歴がなければ絶対無理じゃん
462名前は開発中のものです。:2009/01/06(火) 15:56:48 ID:XbNbFFJV
横スクロールの背景の当たり判定ってどうやってるの?
ボスキャラとかはif使いまくってるんだけど背景とか
いちいちif〜とか書くのめんどくさい
どうすればいいの?
463名前は開発中のものです。:2009/01/06(火) 16:35:09 ID:UozvWyya
>>462
キャラごとにifであたり判定するのをやめて、
配列に各キャラの座標と大きさ(と形)を入れてforかrepeatでループしながら
判定するのが良いのではないでしょうか。

例:
dim hairetu_x, teki_no_kazu
dim hairetu_y, teki_no_kazu
dim hairetu_width, teki_no_kazu
dim hairetu_height, teki_no_kazu
dim hairetu_hitpoint, teki_no_kazu
repeat HAIRETU_OOKISA
  if hantei( cnt ) == ATARI then atarisyori
loop
464名前は開発中のものです。:2009/01/06(火) 22:39:33 ID:ZEXXIndO
linuxでhsp3まだー?
465名前は開発中のものです。:2009/01/07(水) 08:52:01 ID:yKUbxh1Y
>>461
頭悪いな…
466名前は開発中のものです。:2009/01/07(水) 12:32:55 ID:IwHpEthg
>>465
頭良い人が連結リストでどう処理してるのか気になるな。
どこかスレ違いにならないところで教えて欲しいものだが。
連結リストを使う場合でも、座標情報をノードに確保するわけじゃないのかね?
467名前は開発中のものです。:2009/01/07(水) 14:24:25 ID:DPWvleLf
>>466
>座標情報をノードに確保する

>>461では自機座標の履歴って言ってたのにww

自機停止中にオプションが勝手に移動し続けるような仕様ならともかく、
グラディウスはそうじゃないから履歴は不要
あとは高校1年生の数学がわかるならできるだろ
468名前は開発中のものです。:2009/01/07(水) 14:39:48 ID:Q+lfAszt
なんかもうわけわかめ
469466:2009/01/07(水) 14:52:37 ID:IwHpEthg
いや、おれ>>461じゃないし。
グラディウスのオプションって自機の過去位置を辿ってくるから、
結局その為に持つ位置情報って、自機座標の履歴と同じことなんじゃね?
470名前は開発中のものです。:2009/01/07(水) 18:05:50 ID:DPWvleLf
>>469
レスするなら脊髄反射しないでちゃんと読んでくれないか

>結局その為に持つ位置情報って、自機座標の履歴と同じことなんじゃね?
ぜんぜん違います
471名前は開発中のものです。:2009/01/07(水) 18:36:45 ID:IwHpEthg
>>470
違うなら違うでいいから、どうしてるのかを教えて欲しい。
説得力ないし。
472名前は開発中のものです。:2009/01/07(水) 18:41:43 ID:IwHpEthg
ついでに言わせて貰えば
 
違う違ういうだけならアホでもできますので、頭の良さを生かして解るように説明してくださいよ。
言葉足らずすぎてさっぱり解らんよ。 そっちこそちゃんと読めといいたいのだが。
配列使う場合でも実現可能な処理だし、そこまで連結リストにこだわるのはなんでよ?
グラディウスのオプションが解ってないとかいうオチもカンベンして欲しい。
473名前は開発中のものです。:2009/01/07(水) 23:05:58 ID:DPWvleLf
こだわってはいないし、スレも読んでないでしょ?

>>456は読んだ?どうやっているかの話だったわけで
こだわっているのは絶対無理といってる>>461

>そっちこそちゃんと読めといいたいのだが。
どこを?
>いや、おれ>>461じゃないし
あなたはもうこの時点でそこまでの話に噛み合わないレスをしてるわけ

456に対する回答として、履歴なしでの実装は可能といっているのに
>結局その為に持つ位置情報って、自機座標の履歴と同じことなんじゃね?

これが的外れなレスだってわからないかな…

そのフレーム中の自機・オプションの位置はバッファ取らずとも取得できる。
ブレゼンハムしか知らない人でもなければあとはどうにでもなる。
これでわからないなら俺は投げるよ。

むしろどこがどう同じなの?

>配列使う場合でも実現可能な処理だし
見た目が同じならどんな実装だろうと同じ論なら、なぜネチネチと・・・
474名前は開発中のものです。:2009/01/07(水) 23:50:10 ID:Nx9LPkSM
そりゃ、頭悪いなんて言うからだよ
降りかかる火の粉じゃなくて、自分で火に足突っ込んだだけ

と解説してみる。
475名前は開発中のものです。:2009/01/08(木) 00:38:18 ID:4sBQ+VSz
オプションって自機に引っ張られるんじゃなくて軌跡トレースでしょ?
自機とオプションの2点の座標からは、自機の過去軌跡情報は抽出できないと思うんだが……

例えば
▲自機 ●オプション

+------+ ルート1
{ |
▲   ●
| |
+------+ ルート2

現在の自機とオプションの座標のみ得られた場合
ルート1とルート2のどちらをオプションがたどればいいのかわからないだろ?
476名前は開発中のものです。:2009/01/08(木) 00:39:23 ID:4sBQ+VSz
ぎゃー、スペース省略されるの忘れてた
全角スペース使って修正
図だけ再カキコ

+-----+ ルート1
{     |
▲   ●
|     |
+-----+ ルート2
477名前は開発中のものです。:2009/01/08(木) 01:02:13 ID:OUBabP47
>>473
とりあえず>>475の回答くれ。
自分の言いたいことは先に言われてしまった。(>>474含め)
478名前は開発中のものです。:2009/01/08(木) 01:18:27 ID:QR1OgIvZ
>>473
お前グラディウスのオプションの動き知ってる?
てか、ちゃんと説明できないなら回答者気取りでレスすんなや
479名前は開発中のものです。:2009/01/08(木) 11:14:57 ID:SDdqBMcb
コナミコマンドも知らないくせにwwwww
480名前は開発中のものです。:2009/01/08(木) 23:36:08 ID:QR1OgIvZ
結局473は反応無しかよw
脳内で勝手に出来たと思ってただけなんだな

>>配列使う場合でも実現可能な処理だし
>見た目が同じならどんな実装だろうと同じ論なら、なぜネチネチと・・・
お前がまともな回答しないからだろwwwww
481名前は開発中のものです。:2009/01/09(金) 00:28:50 ID:RTr7fGUL
普通に考えりゃ458で正解だよね
というかアセンブラで作られてる事とリングバッファ使わない事の
関連性がさっぱりわからない
482名前は開発中のものです。:2009/01/09(金) 22:45:13 ID:v60N5SIL
バカを晒しとこ

467 名前: 名前は開発中のものです。 [sage] 投稿日: 2009/01/07(水) 14:24:25 ID:DPWvleLf
>>466
>座標情報をノードに確保する

>>461では自機座標の履歴って言ってたのにww

自機停止中にオプションが勝手に移動し続けるような仕様ならともかく、
グラディウスはそうじゃないから履歴は不要
あとは高校1年生の数学がわかるならできるだろ
483名前は開発中のものです。:2009/01/09(金) 23:16:51 ID:/pQBXfm1
うんこ
484名前は開発中のものです。:2009/01/10(土) 02:12:32 ID:OY/YDp71
ひょっとしてオプションが自機に向かって
最短距離で近づくと思っているのかな
485名前は開発中のものです。:2009/01/10(土) 02:16:03 ID:+sFNwYFI
>>472
まさかのオチだったな
486名前は開発中のものです。:2009/01/10(土) 02:42:08 ID:edsCuQ4m
ここまでHSPのコードなし
487名前は開発中のものです。:2009/01/10(土) 08:49:55 ID:OY/YDp71
ゼータクばっかり言いやがって
screen 0,256,192
step=2:myx=50:myy=50:index=0
optionnum=4:delay=10
poslog=optionnum*delay
dim x,poslog+1:dim y,poslog+1
repeat poslog+1:x.cnt=myx:y.cnt=myy:loop
repeat
stick k,0xf
if k&1:myx=limit(myx-step,0,256)
if k&2:myy=limit(myy-step,0,192)
if k&4:myx=limit(myx+step,0,256)
if k&8:myy=limit(myy+step,0,192)
if k&128:end
x.index=myx:y.index=myy
redraw 0:cls
pos myx,myy:mes ">"
repeat optionnum,1
optindex=(cnt*delay+index -1)\poslog
pos x.optindex,y.optindex:mes "o"
loop
redraw 1
if k&0xf:index=(index+poslog-1)\poslog
wait 1
loop

ほいよリングバッファ
488名前は開発中のものです。:2009/01/10(土) 16:20:11 ID:T6zFJxB9
通りすがりだが、
オプションの動きは履歴があれば楽に出来る。

履歴を持たなくても1フレーム内で
if 自機が移動しようとしたら {
 repeat 自機から遠いオプションから開始
  自分の一つ前に居るオプションの位置に移動(最後のオプションは自機位置になる)
 loop
 自機移動
}
とかすれば出来る。

違ったらスマン
489名前は開発中のものです。:2009/01/10(土) 16:28:53 ID:WtR6vOrh
>488
初期状態で、自機とオプションが重なっていることを考えると
そのアルゴのままで実装すると、
自機、各オプションの間隔がほぼ密着状態になるんじゃないかと思うのだが
490名前は開発中のものです。:2009/01/10(土) 16:40:59 ID:T6zFJxB9
>>489
わお。確かにそうだ。
結構間隔あったよな。
とするとダミー=履歴は必須か。
491名前は開発中のものです。:2009/01/10(土) 17:45:56 ID:WtR6vOrh
;自機、各オプションとの間に速度差があればイケるんじゃないかと思ったが

screen 0,800,600,1:palette 4,0,0,200,0:palette 255,255,255,255,1
sw=800<<8: sh=600<<8: dw=792<<8: dh=582<<8 ;・内部値256倍
opnum=4: opdim=opnum+1 :dim xd,16: dim yd,16 ;・偽オプション個数
repeat 16:xd(cnt)=((cnt&4)> 0)-((cnt&1)> 0):yd(cnt)=((cnt&8)> 0)-((cnt&2)> 0):loop;・方向-増分変換
dim opx,opdim: dim opy,opdim: dim ops,opdim:sdim opstr,64,opdim
dup myx,opx(0):dup myy,opy(0):myx=400<<8:myy=300<<8
a=4<<8:repeat opdim:a=a*77/100:ops(cnt)=a+(a<1):opstr(cnt)="o":loop:opstr(0)=">" ;・速度とキャラ
*main:wait 1:stick st,-1:sd=st&15 ;・キー入力
redraw 0:palcolor 4:boxf:palcolor 255 ;・画面掃除
if sd { ;入力あれば〜
myx=limit(myx+ops(0)*xd(sd),0,dw):myy=limit(myy+ops(0)*yd(sd),0,dh) ;・自機移動
repeat opnum,1: s=ops(cnt) ;・偽オプション移動
d=opx(cnt-1)-opx(cnt): a=abs(d): if a { if (a>s) {opx(cnt)+= (d/a)*s} else {opx(cnt)+=(d/a) } }
d=opy(cnt-1)-opy(cnt): a=abs(d): if a { if (a>s) {opy(cnt)+= (d/a)*s} else {opy(cnt)+=(d/a) } }
loop
}
repeat opdim:pos opx(cnt)>> 8,opy(cnt)>> 8:mes opstr(cnt):loop ;描画
redraw 1:goto *main

;…ダメくさいな
492名前は開発中のものです。:2009/01/10(土) 20:11:03 ID:NkQ4eu85
むしろ勝手に移動し続けるオプションの方が履歴要らんよな…

これは>>473に期待するしかない。
493名前は開発中のものです。:2009/01/10(土) 21:23:21 ID:/Yb0R9py
そういや本物でオプション取った瞬間ってどこに出たっけ?
それでオリジナルのアルゴリズムは推測できるハズw
494名前は開発中のものです。:2009/01/11(日) 00:02:14 ID:u3q9P9of
>>493
簡単に調べただけだから間違ってるかもだけど・・・
PCエンジン版  1個目=自機の真後ろ(噴射炎の辺り)、2個め以降=最後のオプションに重なって出現。
FC版1・2  自機をトレースした座標に出現。(出現前からトレースしてる?)
オリジナルは多分PCEと同じだったはず。
495名前は開発中のものです。:2009/01/11(日) 00:14:07 ID:rlLuP4KF
>>493
グラディウスって全部オプションの動き違うんじゃね?
初代は2目も一個目が出た位置(自機の後ろ)、グラ2は3個目なら二個目の現在位置に出現

初代ACグラディウスだけど経歴だけじゃなかった気がする
動き続けてる時はトレースのように追尾するけど、一度止まる(一定時間?)と
何処を通ったか忘れて二個目以降も次に動き始めた座標に向かう(直接自機を追ってるかもしれない)
だからスピード上げてもオプション固めたままちょっとずつ移動出来た(グラ2は出来ない)

グラ2は普通にトレースしてる感じ
グラ3はまた違う感じだったけど覚えてないw
496名前は開発中のものです。:2009/01/11(日) 01:27:54 ID:KzN2icHA
最近ちょうどそれっぽいの作って遊んでたので該当部分だけ抜粋で。
o_traceという配列で64フレームぶん時機の座標を記録。
ちなみにmvflagの判定を削除するとツインビー方式の追尾になります。

*trace ;オプション追尾記録
es_get dx,990,3:es_get dy,990,5
if mvflag==1{
o_trace(trc,0)=myx:o_trace(trc,1)=myy
trc++:trc=trc\64}
mvflag=0
return

*chr_blt ;マイキャラ表示
es_pos 990,myx,myy
repeat max_chr-1,1
es_pos 990+cnt,o_trace((trc+63-cnt*16)\64,0),o_trace((trc+63-cnt*16)\64,1)
loop
return
497名前は開発中のものです。:2009/01/11(日) 01:28:41 ID:KzN2icHA
ageてしまった、すいません。
498名前は開発中のものです。:2009/01/11(日) 19:07:32 ID:pF5Y/3CY
>>495
いやグラディウスはオプション固めたままちょっとずつ移動は出来ない
出来るのは沙羅曼蛇。あれはオプションに慣性が付いてる

てゆうかちょっと待って論点がおかしい
別にグラディウスのオプションを忠実に移植したい訳じゃないでしょw
雰囲気だけなら>>487でいいんじゃないの?
あとは>>473さんが独自のアルゴリズムを提示してくれれば解決という事で
499名前は開発中のものです。:2009/01/11(日) 19:32:01 ID:aMs5TeZT
凄いアルゴリズム期待してる。
500名前は開発中のものです。:2009/01/11(日) 20:22:19 ID:rlLuP4KF
>>498
>いやグラディウスはオプション固めたままちょっとずつ移動は出来ない
できるよw
5速でもオプション同士が半分ぐらい重なってる感じで移動できる
本当にちょっとずつじゃないと直ぐに離れるがw

>別にグラディウスのオプションを忠実に移植したい訳じゃないでしょw
まぁ、グラディウスのオプションって言っても一つじゃないって事が言いたかっただけだw
基本はトレースでいんじゃね?

501名前は開発中のものです。:2009/01/17(土) 18:50:48 ID:E1zYrqsQ
HSPをダウンロードしたらアンチウイルスソフトに引っかかりましたがどういうことですか?
さっきからソフトが何度も反応しているんですが。
502名前は開発中のものです。:2009/01/17(土) 19:35:09 ID:r0wr2sqZ
503502:2009/01/17(土) 19:35:39 ID:r0wr2sqZ
スマン。 安価ミス
>>501
504名前は開発中のものです。:2009/01/17(土) 19:36:17 ID:4OeIP/Km
>>501
AVGならその内対応される、それ以外なら公式で教えてやってくれ。
505名前は開発中のものです。:2009/01/20(火) 14:47:52 ID:R0mBGuVC
質問します。
HSPで任意の画像の特定色を半透明化させるにはどうすればいいですか?
506名前は開発中のものです。:2009/01/20(火) 16:03:14 ID:CBWrNds3
gmode
507名前は開発中のものです。:2009/01/20(火) 16:13:03 ID:oSLTWufG
・指定色を透明
・全体を半透明
はデフォルト命令で出来るけど

・指定色を半透明
は工夫しないとむずいな
508名前は開発中のものです。:2009/01/20(火) 19:09:37 ID:sr7RmDMn
特定色と透明色だけで構成した別画像を用意するとか(w
509名前は開発中のものです。:2009/01/20(火) 19:19:26 ID:sr7RmDMn
バッファに置いた画像データをドット単位で判定しながら、特定色のときのみ半透明でコピー。
 
実現だけなら難しくないけど、もっとスマートに処理できんかな。
510名前は開発中のものです。:2009/01/20(火) 20:58:40 ID:sr7RmDMn
ごめん。 >>509じゃ駄目だな。

まず画像をバッファに確保。
ドット単位で色を判定(pget)しながら別のバッファに表示用データ生成。
  a.普通に表示する色と透明色データ(半透明のところを透明色に置き換えたデータ)
  b.半透明色と透明色のみのデータ(普通に表示する色を透明色に置き換えたデータ)
実際に表示するときは生成した画像データを使う。
  a.の画像データは透明色ありで普通に表示
  b.の画像データは半透明で重ね合わせ

こんな感じでどうか。
511名前は開発中のものです。:2009/01/20(火) 21:31:45 ID:oSLTWufG
ていうかgmode 7なんてあったのか。
始めて知ったわ
512510:2009/01/20(火) 23:18:57 ID:sr7RmDMn
>>511
あったんだな、そんなの……。
>>510で組んで動作確認しちまったぜ orz
 
gmode 7の場合はブレンド率指定用グレースケールこみで画像データを用意しないといけないのかな?
まぁ、元画像から『指定色だけ半透明にするグレースケール付データ』を自動生成させるルーチンでも作ればいいか。
513名前は開発中のものです。:2009/01/20(火) 23:24:55 ID:mUJiXnhV
指定色が1色なら
半透明矩形描画(gsquare等)した上に
特定色を抜き色にしてコピーすれば行けるんじゃない。

コレをバッファ内でやって、後は普通の抜き色コピー。
514名前は開発中のものです。:2009/01/21(水) 03:27:34 ID:Pi7ulMB8
結局506がどんな使い方するか具体的に言わないと
あれこれ方法書いても意味無いかもな・・・
515名前は開発中のものです。:2009/01/21(水) 08:12:42 ID:pNBU/zRa
フリーズした時はどうしてますか?
エラーの場合は行数が出るので原因特定は容易ですけれども、
操作を受け付けない場合は切っていくしかないですかね
516名前は開発中のものです。:2009/01/21(水) 10:11:38 ID:mZu4rC08
フリーズはなったこと無いな。
どっかで無限ループになってるんじゃね?
517名前は開発中のものです。:2009/01/21(水) 12:26:31 ID:u29q+9pw
>>515
ループにウェイトを入れ忘れた(or誤って削った)ときくらいかなぁ。
基本的にメインだけループで廻して、各処理に飛ばす構造にしてる。
518名前は開発中のものです。:2009/01/21(水) 14:52:50 ID:u29q+9pw
>>515
デバッグ用の表示処理入れておいて、どの処理までは進んでいるのか確認するとか。
デバッグモードonの時だけ働くような情報表示つけとくと、いろいろと便利。
519名前は開発中のものです。:2009/01/21(水) 16:31:51 ID:pNBU/zRa
>>516>>517>>518

番号を振っていったら、原因を特定できました。
条件次第で無限ループになっていたようです。
ありがとうございました
520名前は開発中のものです。:2009/01/22(木) 23:27:26 ID:cnVyaD4Q
age
521名前は開発中のものです。:2009/01/24(土) 23:01:35 ID:IVDogjYM
>>487のオプションで個別個別に弾を出せますか?
522名前は開発中のものです。:2009/01/25(日) 01:10:31 ID:gzTooa9v
>>521
そりゃ、出せる。
各オプションの座標も解るんだし、なにか問題でも?
523名前は開発中のものです。:2009/01/25(日) 02:10:07 ID:dLO15tCd
>>各オプションの座標も解るんだし
わかりません
524名前は開発中のものです。:2009/01/25(日) 08:34:17 ID:gzTooa9v
>>523
まずは>>487の処理の流れを追って、どういうことをしているのか理解しようよ。
オプションが表示されている以上、その座標もプログラムの中で指定されている。
オプションの表示と座標指定している行は簡単に見つかるはずだよ。
その直前でリングバッファのどこから情報を持ってくるか決めているから確認。
その式に実際に数字を当てはめて、どういう結果になるか調べてみたらいいと思うよ。
525名前は開発中のものです。:2009/01/25(日) 13:05:24 ID:dLO15tCd
1つだけわかりません

optindex=(cnt*delay+index -1)\poslog

\poslog
はどういう意味ですか?
これをつけるとどう替わるんですか?
526名前は開発中のものです。:2009/01/25(日) 14:08:51 ID:DsbLY1Pc
あまりおもとめるといういみです
たとえば

b=a\4

としたとき、aによんがはいっていたらbにわぜろがだいにゅうされます。
さんのときわさんわるよんわぜろあまりさんなので、さんがだいにゅうされます。
かうんたーのりせっとにしようしたりします
527名前は開発中のものです。:2009/01/25(日) 14:26:50 ID:5Jat8uVP
マニュアルとかちゃんと読め
マルチ氏ね
528名前は開発中のものです。:2009/01/25(日) 14:55:12 ID:gzTooa9v
>>525
poslog=optionnum*delayで、optionnum=4:delay=10だから、poslogは40。
\poslogでどう変わるかといえば、(cnt*delay+index -1)を40で割った余りがoptindexに入る。
要はoptindexに0〜39の値をとって欲しいんだよ。
529名前は開発中のものです。:2009/02/07(土) 14:43:34 ID:6A7E7lZ/
HSPで文字の表示を縦書きにしたいのですが、どうすればいいでしょうか?
ノベルゲームを作っていて、やはりノベルゲームなら縦書きだろうと思ったので…。
530名前は開発中のものです。:2009/02/07(土) 17:17:13 ID:rXHVy/qx
mesとposとstrmidを駆使してがんばるしかない
通常のフォントは横書き用だから無理矢理縦書きにしても
句読点や三点リーダーは正しく表示できないが
531名前は開発中のものです。:2009/02/07(土) 17:56:33 ID:c2k4kyrb
文字コードチェックして、独自グラフィックフォントに置き換えて表示するといいかも。
サイズも揃うし、三点リーダーもOK。
532名前は開発中のものです。:2009/02/07(土) 18:03:32 ID:6A7E7lZ/
ありがとうございました。
強引にやるしかないんですね…
533名前は開発中のものです。:2009/02/07(土) 18:10:12 ID:rXHVy/qx
ひらがな、カタカナ、記号、常用漢字だけで1000文字以上ある
個人で作れる量じゃないし既存のフォントを画像化して切り分けて
使用するのはほとんどのフォントで規則違反
534名前は開発中のものです。:2009/02/07(土) 18:15:16 ID:D7SLhg+9
フォント名の最初に@付けて("@MS ゴシック")、
一旦どこか別の場所に表示して、それを回転コピーすればできるw
535名前は開発中のものです。:2009/02/07(土) 18:31:31 ID:gIqdQQEe
>>529
ttp://www.vector.co.jp/soft/win95/prog/se326986.html
プラグイン使うよかは?(サンプルが修正しないと3.2bじゃ動かなかったけどDLL自体は使えた)
縦書きフォントは半角文字が横書き用しかないからその辺は対処が必要だが・・・

後はAPI使うか・・・
grotate系の精度が良ければ標準命令で縦書きホント使えるが・・・
(まぁ、多少ずれるの気にしなければ使える)

横書き用のフォントで標準命令だけでやるなら句読点三点リーダとかだけグラ用意が楽かもな
536名前は開発中のものです。:2009/02/18(水) 10:04:59 ID:Pe8CIU4k
HSPってなんで構造体使えないのでしょうか?
使わないことでどれだけのメリットがあるのでしょう?
537名前は開発中のものです。:2009/02/18(水) 11:43:10 ID:0lGMputp
おにたまに聞けよ
538名前は開発中のものです。:2009/02/18(水) 11:46:02 ID:27LkavAb
>>536
知ってる限りでは
・昔のBASIC的な手軽さを追及した。
・最初に覚えることを少なくしたかった。
・C風な言語仕様にはしたくなかった。
あとは互換性維持のため大幅な仕様変更を急速には出来ない等の理由もある。

誤解している人も多いが、HSPは何でも簡単に出来る言語ではない。
あくまでも絵や音を簡単に扱えるのが売りの言語、それ以上の事は
より相応しい言語を使ってくれとおにたま氏も言っている。
539名前は開発中のものです。:2009/02/18(水) 12:45:32 ID:ikpCCvtM
構造体はないけど実はモジュール変数という名前の
クラスもどきがある
540名前は開発中のものです。:2009/02/19(木) 20:40:00 ID:S+XQ7S0Z
HSP2.5のころに標準命令セットで2Dシューティングもどきとか作って遊んでたレベルの人間なんですが、
現在HSPで3Dゲームを作ろうとしたとき、hgimg3とE3Dどちらのプラグインを用いるのがお勧めですか?
hgimg3で作られた棒作品の完成度の高さを目の当たりにして、あの頃のhgimgとは事情が変わっているんだなと感銘を受け、
何か自分にも作れないだろうかと思いたった次第です。
率直な感想をお願いします。
541名前は開発中のものです。:2009/02/20(金) 21:25:05 ID:1HXCggw/
質問スレの方で訪ねたのですが、解答が頂けないようなので、こちらのスレの方が話題としては適切かな?と思い転記させていただきます。

HSP2.5のころに標準命令セットで2Dシューティングもどきなどを作って遊んでたレベルの人間なんですが、
現在HSPで3Dゲームを作ろうとしたとき、hgimg3とE3Dどちらのプラグインを用いるのがお勧めですか?
hgimg3で作られたとある作品の完成度の高さを目の当たりにして、あの頃のhgimgとは事情が変わっているんだなと感銘を受け、
何か自分にも作れないだろうかと思いたった次第です。
率直な感想をお願いします。
ちなみにTHE地球防衛軍のような一騎当千系アクションシューティングゲームを作りたいと思っています。
コンテスト作品を見てもE3Dを用いたもので、3Dアクションゲームとして完成度が高いと言い切れるものは少なかったので
テキストやノウハウは充実していても、大規模な開発には向かない仕様なのかな、と思っています。
542名前は開発中のものです。:2009/02/20(金) 21:34:13 ID:1HXCggw/
連投、誤爆すみませんでした……
543名前は開発中のものです。:2009/02/21(土) 11:51:59 ID:5xA/zN+D
>>541
FPS系のゲームを作るなら今はEasy3Dの方を薦める。
HGIMG3は構造上フィールド型の3Dを作るにはまだ色々と不便な点が多いと思う。
某作品(同じかどうかは判らないが)はHGIMG3の特性を知り尽くした上で
綿密に表示をコントロールしてあの表現に至っている。
(それでも機能不足に作者も嘆いている)

開発に関してもEasy3Dの方がコミュニティが充実しているので
周りの助言も得やすい(開発者も回答してくれるし)し
ある程度のハードスペックがあればEasy3Dでもかなり満足できる表現が
出来るので、現状ではEasy3Dを使うことを推奨する。
544名前は開発中のものです。:2009/03/01(日) 21:00:27 ID:f4ozM3Y/
>>543
諸事情で返信が遅れたことをお詫びします。
最新のテスト版で様々な便利な機能がサポートされ始めて、hgimgもE3Dに拮抗するように思えたのですが、
やはりノウハウの蓄積という点ではe3dに一日の長がありそうですね。
ただ、問題なのは私のハードのスペックではE3Dがやたら重いことなのです。
コンテスト作品など起動さえしないものも多々ありましたし。
hgimgに比べて重いプラグインだということで、自分のPCのスペックで開発することにはかなり不安はあります。
とりあえずはE3Dに手を出して、hgimgの安定動作や普及を待ちつつ、PCの買い替えを狙っていきたいですね。
545名前は開発中のものです。:2009/03/02(月) 11:32:31 ID:4UCaIvNO
>>544
E3Dが重いのはDirectX9用だからだろうね(hgimg3はDirectX8)
D8は多少古いグラボでもある程度の速度が出るけど、D9はグラボが古いと
かなり表示が重くなるみたい。
E3Dで起動しないのはグラボが対応していない機能を使ってるからだけど
どの道今の環境では3Dは厳しいだろうね。

ちなみに3Dプラグインの選択肢としてZGPも挙げておく。
HSP2時代のプラグインだがD8用なのでE3Dよりは軽い。
(ちなみに機能的にはhgimg3と同じくらいかちょっと応用範囲が広いくらい?)
興味があったら検索してみてくれ。
546544:2009/03/02(月) 16:45:31 ID:XihqTDR2
>>545
 やはり安物の一体型PCでは3Dゲームにはグラボを始めとするグラフィック関連のスペックが貧弱すぎましたかね。
時代的にはシェーダを利用した表現がブームなのでしょうが、開発環境で動かないものは仕方がないですね
 ZGPのことはすっかり忘れておりました。
2007年のコンテストでZGP作品を見つけることができて、スムーズな動作にポテンシャルを見出すことはできました。
ですがもう随分下火ですので、今から勉強するのは苦労するでしょうね……。
547名前は開発中のものです。:2009/03/08(日) 04:16:31 ID:ypL3UZcf
経路探索の考え方を教えてください。
マスで区切られている場合はなんのとか出来るのですが、
そうでない場合はどうすればいいですか?
548名前は開発中のものです。:2009/03/08(日) 13:26:01 ID:BIfem8GW
マスで区切る。
549名前は開発中のものです。:2009/03/26(木) 20:26:19 ID:DUM5jk26
経路探索でぐぐっては
というのは酷ですから、ロボット・メカトロニクス関連の書籍を読んではいかがでしょうか
550名前は開発中のものです。:2009/03/31(火) 04:15:35 ID:iNvfvhMe
csvstr命令でデータを入れる配列を100文字以上で指定すると、文字化けするんですがなぜですか?
551名前は開発中のものです。:2009/04/04(土) 00:05:13 ID:GTpOTjXe
ロックマン風の2Dアクションを作りたいんですが参考になるソースかサイト無いですか?
552名前は開発中のものです。:2009/04/04(土) 03:16:20 ID:dTRksUpw
香ばしい香具師のワード一覧
〜出来ますか
〜出来ません
〜はありますか
うまくいきません
どうやって〜ですか
どこが〜でしょうか
分かりません
〜みたいなゲームを作りたいんですが
アクションゲームで
シューティングゲームで
ドラクエ(ry
553名前は開発中のものです。:2009/04/05(日) 06:01:59 ID:PAXCq+I5
>>552に当てはまる香ばしい質問ですが・・・

どうしても分からないので質問させて下さい。

画像のような感じにするにはどうすればいいでしょうか?

詳しく言いますと、

・キャラ1(青)は普通にシューティングの自機のような動き。
・キャラ2(赤)はZXどちらかのキーを押している間は、ずっとキャラ1の周りをグルグルと回る。
その間キャラ1も同時に操作可能。キャラ1とは常に一定の距離を保つ。
・黒い線の円形ラインは非表示。

という感じです。
3Dで言えばキャラ1がキャラクターでキャラ2がカメラと思って頂けたら良いと思います。

本当、これだけで一週間考えてるんですが、一向に答えが出ません・・・
無学でも分かるように説明して頂きたいと思います。是非お願いします。

http://www.dotup.org/uploda/www.dotup.org24840.jpg
554名前は開発中のものです。:2009/04/05(日) 06:16:52 ID:8aNQ6VU+
青の位置x、yを基点とする、赤の位置の差分を配列かなんかでもっておけば?

配列(0) x=0、y=−1
配列(1) x=1、y=−1
配列(2) x=1、y=−0
配列(3) x=1、y=1
配列(4) x=0、y=1
配列(5) x=−1、y=1
      ・
      ・

上のは大雑把な例、もちろんもっと細かく刻んで入れておけば、より円運動に近くなる
で、配列を昇順に読んで位置を決めるか、降順に呼んで位置を決めるかで、回転・逆回転ができそう。
555名前は開発中のものです。:2009/04/05(日) 06:38:10 ID:PAXCq+I5
>>554
おはようございます、さっそくお答え感謝です><

正直な所、ん?(;゜д゜)ってなりましたが
だんだん理解してきました。なるほど、なんか出来そうだ!

しかしfps=60とかで、ゆったりスムーズな回転をさせるには
結構な情報量が必要になりそうですね^^;

色々試行錯誤させて頂きます。本当ありがとうございました!
556名前は開発中のものです。:2009/04/05(日) 09:01:50 ID:w0eN0heH
青の座標と赤の角度だけもっとけばよくね?
557名前は開発中のものです。:2009/04/05(日) 09:18:08 ID:PAXCq+I5
>>556
で、できましたらもう少し具体的に優しくお願いします。。
こういう場合角度ってどうやって出すんでしょうか・・・
もちろん、聞きすぎなのでウザかったら無視して下さい自重します。
558名前は開発中のものです。:2009/04/05(日) 10:05:15 ID:w0eN0heH
考え方が逆で角度を元に赤のx,yを計算したほうが楽ってこと。

青のデカルト座標(x, y)と赤の極座標(theta)を変数に持っとく
黒い円の半径を100.0、1フレームごとに1度回転するとすると

if (Zが押されてる) : theta += 3.14159264 / 180
if (Xが押されてる) : theta -= 3.14159264 / 180

赤のx = 100.0 * cos(theta) + x
赤のy = - 100.0 * sin(theta) + y
559名前は開発中のものです。:2009/04/05(日) 10:28:32 ID:rnf6IZMl
夜光
560名前は開発中のものです。:2009/04/05(日) 10:43:33 ID:PAXCq+I5
>>558
詳しくありがとうございます!
サイン、コサインなどはチンプンカンプンなので、ググる前に
教えていただいたのをそのままコピペして←→キーにして実行してみました↓
winx=640 : winy=480
screen 0,winx,winy
x1=300.0 : y1=300.0
*main
redraw 0
stick key,5
color 255,255,255 : boxf 0,0,winx,winy

if key&1 : theta += 3.14159264 / 180
if key&4 : theta -= 3.14159264 / 180

x2 = 100.0 * cos(theta) + x1
y2 =-100.0 * sin(theta) + y1

color 0,0,255:pos x1,y1 : mes "●"
color 255,0,0:pos x2,y2 : mes "●"

pos 0,0 : mes "赤x="+x2 : pos 0,17 : mes "赤y="+y2
redraw 1
await 1
goto *main

実行!!!!!!


反応なし\(^o^)/
ここまで教えてもらって分からないとか・・・
勉強を先にした方がいいっぽいですね・・・
561名前は開発中のものです。:2009/04/05(日) 11:08:44 ID:xw4lxjls
ちょっと惜しかったな。
オレが改良してやった、コレなら動くぞ
winx=640 : winy=480
screen 0,winx,winy
x1=300.0 : y1=300.0 : theta =0.1
*main
redraw 0
stick key,5
color 255,255,255 : boxf 0,0,winx,winy

if key&1 : theta += 3.14159264 / 180
if key&4 : theta -= 3.14159264 / 180

x2 = 100.0 * cos(theta) + x1
y2 =-100.0 * sin(theta) + y1

color 0,0,255:pos x1,y1 : mes "●"
color 255,0,0:pos x2,y2 : mes "●"

pos 0,0 : mes "赤x="+x2 : pos 0,17 : mes "赤y="+y2
redraw 1
await 1
goto *main
562名前は開発中のものです。:2009/04/05(日) 11:20:49 ID:PAXCq+I5
>>561
うおおおおおおおおおおおおおおおお!
動いてるううううううううううううううううう!

変数thetaに小数点を入れておかないとダメだったんですね!
どこが自分のと違うのか分からなかったw

>>554さん、>>556さん、>>561さん
御三方のお陰で出来ました!><本当に感謝します。
ありがとうございました!

ですがぶっちゃけ完全に理解した訳ではないので
教えて頂いたことを一つ一つ整理して勉強して覚えますね
本当にありがとうございました(^-^)


しつこいですが、ありがとうございました!!本当に嬉しい
563名前は開発中のものです。:2009/04/07(火) 15:55:41 ID:VWRvyuhL
かなり初歩的な質問かもしれません。
input命令を実行したとき、
すでにメッセージボックスの中に0という数字が入ってしまっています。
この0を消す方法はありませんか?
564名前は開発中のものです。:2009/04/07(火) 17:32:40 ID:g8Sr7f29
>>563
 ヘルプに書かれてるけど、あれは文章が分かりづらいかもしれず。
 HSPの独自仕様だけど、変数をいきなり記述すると数値型として扱われるので、
文字列型にしてから扱ってください。

a=""
input a
565名前は開発中のものです。:2009/04/07(火) 23:28:06 ID:VWRvyuhL
>>564
ありがとうございました。解決することができました。

そしてもう一度質問で申し訳ないのですが、
現在クイズゲームを作っているのですが、
不正解なのに正解と表示されてしまっています。
原因はなんなのでしょうか?
プログラムはこんな感じです。

dim b,100
dim c,100
以下略  
mes "2009年4月現在の総理大臣は?"←問題文です。
b(0)=""
input b(0)
c(0)="麻生太郎"←正しい答えです。
if b(0)=c(0) :mes "正解"
if b(0)!c(0) :mes"不正解"
以下略
566名前は開発中のものです。:2009/04/07(火) 23:50:26 ID:CDU2fBKL
HSPは文字列の比較ができないんじゃなかったけ?

http://www005.upp.so-net.ne.jp/h-masuda/hsp30/kiso/hspk039.html

↑これを参考にしてみて。
567名前は開発中のものです。:2009/04/07(火) 23:58:44 ID:xkQ9z4//
最近HSPやってないんで知らないけど、HSPのifも
==とか記述しなきゃいけないんじゃないの?
568名前は開発中のものです。:2009/04/08(水) 00:50:11 ID:rEfiWK8o
>>565
それだけじゃなんとも言えんが
dim じゃなくて sdim なんでは
569名前は開発中のものです。:2009/04/08(水) 03:40:07 ID:yLKq3WFS
>>566
出来るよ

>>565
b="麻生太"
c="麻生太郎"
if b=c {mes "正解"}else{mes"不正解"}
不正解になるぞ

そんな中途半端の見せられても
そこに問題なきゃ意味無いだろ
input命令で入力されるまでスクリプトが停止する訳じゃないのに
そのスクリプトでどうやって入力したのを判定するんだ?


>>568
でも565のじゃ文字列型に再初期化されてるから訳分からん
570名前は開発中のものです。:2009/04/12(日) 22:19:25 ID:BEpywC1p
#include "hspdxfix.as"
wx=640:wy=480
es_ini:es_screen wx,wy,16,0,0
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2
goto *start
*dderr1
dialog "DirectXの初期化に失敗しました",1:end
*dderr2
dialog "スクリーンの初期化に失敗しました",1:end
*start
gsel 0:gmode 1
es_cls:es_sync
wait 100
buffer 1:picload "○○○.gif":es_buffer 1,0
buffer 2:picload "×××.gif":es_buffer 2,0,-1
a=100:x=100:y=150
repeat
if(200<=a){
pos 0,0:es_copy 1,0,0,640,480 ;背景画像
pos x,y:es_copy 2,0,0,254,197 ;動かすキャラ画像
a=0
x=x+10
}
a++
es_sync
await 0
loop

このスクリプトをフルスクリーンで実行すると、
画面がものすごくちらつくのですがなぜでしょう?
スクリプトの問題では無くPCの問題でしょうか?
571名前は開発中のものです。:2009/04/12(日) 23:57:13 ID:2IQWXqio
>>570
フルスクリーンの場合表示用のDX用スクーンバッファAとBを切り替えて表示してる
だからAにしかコピーされないタイミングでコピーした場合Bは真っ白(初期化の状態による)

if(200<=a){
pos 0,0:es_copy 1,0,0,640,480 ;背景画像
pos x,y:es_copy 2,0,0,254,197 ;動かすキャラ画像
a=0
x=x+10
}

a=200でコピーの場合なら偶数フレームでしかコピーされてないので
初期状態のスクリーンBとコピーしたスクリーンAが交互に描画され全体がちらついてる
DXを使ってる場合は画面に変化が無くても毎フレームスクリーンバッファに必要な物をコピーする必要がある

if(200<=a){
a=0
x=x+10
}
pos 0,0:es_copy 1,0,0,640,480 ;背景画像
pos x,y:es_copy 2,0,0,254,197 ;動かすキャラ画像

みたいにする

後、○○○.gifに透明色が含まれている場合最初のes_clsでは一つのスクリーバッファしかクリアされて無いので
es_syncの後もう一度es_clsするか背景には透明色を使わない必要がある
572570:2009/04/13(月) 00:10:24 ID:lEOUcEGc
>>571
なるほど、DirectX使用の場合は毎回画像を描写する必要があるのですね。
おっしゃる通りにifの外にes_copyを置いたら、ちらつきが無くなりました。
ありがとうございました。
573名前は開発中のものです。:2009/05/06(水) 18:13:41 ID:Ce/bv1Ct
HSPの本買ったのですがRPGとかシューティングの作り方は乗っていて
これらについてはわかるのですがアクションゲームについては書いていなかった
ので独学でやってみようと思いましたが行き詰りました・・・

アクションゲームの基本、ジャンプなどのソースコード等は割りと流れている
のですがこういうサンプルは大体●で自機が表示されていますね。
この自機を●ではなくちゃんとした画像を使おうとすると表示されなくなってしまいます。
シューティングの時はちゃんと表示されたんですが・・・

どなたかご教授お願いします
574名前は開発中のものです。:2009/05/06(水) 20:13:04 ID:DZdBwUvJ
ソースの内容を理解せず丸写しだからそういう事が起こる
575名前は開発中のものです。:2009/05/07(木) 22:50:16 ID:1WDAD3A7
放物線って2乗したらいいと思ってたんだけど
なんかかくばる・・・どうすれば・・・
576名前は開発中のものです。:2009/05/08(金) 00:34:37 ID:TPahtTiC
交点の密度が足りないか、計算で端数を切り落としてるんじゃないの
577名前は開発中のものです。:2009/05/08(金) 19:13:09 ID:MytmUjUF
>>573
表示されてるのを改造したら表示されなくなったってんなら、
どこがおかしいのかはスグわかるだろ?
578名前は開発中のものです。:2009/05/09(土) 12:41:55 ID:Kdsee0dr
>>575
やりたいこととバグり方の詳細を書け
そもそもU字にならないのか、軌道は正しいっぽいけど
予想した地点にいかないのかでぜんぜん対処法が違うだろ
579名前は開発中のものです。:2009/05/11(月) 07:20:22 ID:EYy9K7EA
アニメーションみたいにキャラをうごかしてみようと思って試したら
―を|をアニメーションしたら−→+という感じで表示されてしまう
|が表示されている時─を消す方法をどうすればいいかどなたか教えてください
580名前は開発中のものです。:2009/05/11(月) 09:57:25 ID:etTs2I34
|が表示される時は―を表示しなけりゃ良いじゃん。なんなのこの子。
581名前は開発中のものです。:2009/05/11(月) 10:14:10 ID:D9pynzyG
前のを消してないんだろう
582名前は開発中のものです。:2009/05/11(月) 12:06:29 ID:aqlhxaRY
cls
583名前は開発中のものです。:2009/05/13(水) 08:29:41 ID:4o1qU/50
>>579
やだっこの子可愛い
584名前は開発中のものです。:2009/05/14(木) 17:07:11 ID:/kDGIL4D
dim aitem,1
aitem(1)="a"

でやるとエラーがでるですけど、何故ですか?
585名前は開発中のものです。:2009/05/14(木) 18:01:20 ID:WQ+lp/Kh
>>579
ゲームの場合基本的にフレーム毎にウィンドウ全画面を背景で初期化して
その後にキャラを並べてく
初期化っつてもclsはダメな画面以外も初期化されるから
背景画像とかまだ使わないならcolor:boxfでいい
redraw 0 //毎フレーム描き変える時のやりかた
画面書き換え(描画命令は全部ここで)
redraw 1
await 15

>>584
---------------------------
Error
---------------------------
#Error 31 in line 2 (???)
-->異なる型を持つ配列変数に代入しました

---------------------------
OK
---------------------------
文字列型と整数型は別物って事分かる?

dim aitem,1で確保されるのはaitem(0)だけな
同じ型なら自動で拡張されるけど、この場合違うからエラーで教えてくれてるんだよ

aitem=""
aitem(1)="a"
なら自動拡張される

dim aitem,2
aitem="a"
だとエラーは出ないがaitemの要素数も一つに初期化される
586584:2009/05/15(金) 12:51:25 ID:gycVf1qF
>>585
ありがとうございます。次に進めました
587名前は開発中のものです。:2009/05/20(水) 17:15:10 ID:93edynX1
モジュール内の変数の取り回しについて思いついたこと。
;/−−−−−−−−−−−−−−−−−−−−
#module sample
#deffunc df_mapload str FileName
  ;// 省略:bufにファイル読み込み等
  mapMaxUnitX=lpeek(buf,8)
  mapMaxUnitY=lpeek(buf,12)
  ;// 省略
    ;// ↓ 配列のみスクリプト内で直接グローバル指定
  dim mapData@,mapLayerSize,mapMaxUnitX,mapMaxUnitY
  ;// 省略:mapData配列にデータ格納

;// 最後に、外部からも参照したい主要変数をグローバルに引き渡し
  mapMaxUnitX@=mapMaxUnitX
  mapMaxUnitY@=mapMaxUnitY
  ; mapData@=mapData
    ;// 配列はメモリ浪費するしそもそも渡せないのでスクリプト内で直接指定
return
#global
;/−−−−−−−−−−−−−−−−−−−−

  df_mapload "filename" ;//マップデータを配列に読込み

    ;// ↓擬似的にモジュール内の変数を参照できる
  mes "mapMaxUnitX=" + mapMaxUnitX
  mes "mapMaxUnitY=" + mapMaxUnitY
    layer=0 : posX=11 : posY=22 ;//適当な位置指定
  mes "地形コード=" + mapData.layer.posX.posY
stop
;/−−−−−−−−−−−−−−−−−−−−
588名前は開発中のものです。:2009/05/20(水) 17:17:34 ID:93edynX1
……と、↑こんなやり方を思いついたんだけど
これなら必要な変数だけ外部から手軽に参照できて、記述も管理も楽な気がする。
変数を浪費する以外、どんなデメリットがある?
それとも普通に誰でもやってるとか、もっと上手い方法があるのかな
589名前は開発中のものです。:2009/05/20(水) 18:08:30 ID:3nxzoz6M
よくある手法の一つだよ
デメリットは上のモジュールから下のモジュールの関数を読み出せないこと
ファイルサイズがでかくなってモジュールが増えてくるとどの順番に定義するかに
気を使わないといけなくなることと
新しいマップを読み込むと古いマップデータが消えるから関数を使いまわせなくなること
590名前は開発中のものです。:2009/05/21(木) 08:40:33 ID:7nLNLUBu
XP環境では起きない症状なのですが
Vista環境でhmm.dllを使用しているとend命令を使ったときに
「hsp3.exeは動作を停止ししました。」とでてしまいますが右上の×ボタンでプログラムを閉じたときにはでません

終了の処理が違うのでしょうか?
またこの件を回避したいのですがどうしたらよいのでしょうか?

Google先生で検索したのですが他のDirectXを扱うプラグインでも起きるみたいです
591590:2009/05/21(木) 08:55:20 ID:7nLNLUBu
違った

明示的にhmmendなどの命令を呼び出すとエラーになってしまうみたいなんですが
onexitなどにこのような解放処理はしなくてもいいんでしょうか?
hspが自動でやるのとあわさるとエラーになってるんでしょうか?
592名前は開発中のものです。:2009/05/23(土) 16:39:53 ID:f77opk2z
画像を読み込んで描画させるとやけに点滅します・・・・
redraw命令を使っているのに・・・なぜでしょうか?
593590:2009/05/23(土) 19:59:46 ID:Mw4Jwpw6
自己解決
594592:2009/05/25(月) 17:05:25 ID:oA2a7sNf
自己解決しました
595名前は開発中のものです。:2009/06/07(日) 15:54:08 ID:sdLn5was
すっごい初歩で申し訳ないんだが
a=1.5
mes a
みたいにやると

1.500000

って表示されるんだが、小数点1位までの表示するにはどうすればいいか教えてくれ。
ヘルプのどこにあるかわからん。
596名前は開発中のものです。:2009/06/07(日) 16:22:28 ID:qBDIf9Z9
a=1.5
mes strf("%.1f",a)
597名前は開発中のものです。:2009/06/07(日) 16:47:03 ID:sdLn5was
>596
ヘルプ見ても%の意味がよくわからなかったけど。できた。アリガトン
598名前は開発中のものです。:2009/06/17(水) 07:28:51 ID:WUqQFtiN
こういうのをつくってみたんだが、
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0440zip.html

表のようにきれいに見せるようにすればどうすればよかですか。
数字の大きさでずれてしまうのできれいにならない。
あとこうやったらもっとすっきりするとかのアドバイスがあったら教えてください。
599名前は開発中のものです。:2009/06/17(水) 12:07:54 ID:mmaMJt1q
色々方法はあるだろうけど
>mes "" + strf("%.1f",長打力(cnt)) + " " + strf("%.1f", 選球眼(cnt)) + " " + strf("%.1f",ミート(cnt)) + " " + strf("%.1f",合計(cnt)) + ""
の部分を

pos_y=cnt*18
strfdat=strf("%.1f",長打力(cnt)),strf("%.1f", 選球眼(cnt)),strf("%.1f",ミート(cnt)),strf("%.1f",合計(cnt))
repeat 4
pos 80+60*cnt+(6-instr(strfdat(cnt),0,"."))*8,48+pos_y
mes strfdat(cnt)
loop

に置き換え

「 . 」の位置を基準にするからinstr(strfdat(cnt)で「 . 」の位置を収得して、それを元に座標を決めてる

他にも↓みたいなのもある
pos 100,30 :mes "長打力"、 pos 160,30 :mes "選球眼"がx座標が+60じゃなく文字の大きさで割り切れる移動量なら

mes strf("% 6.1f ",長打力(cnt)+strf("% 6.1f ", 選球眼(cnt)) 
みたいに出来る
変換データが指定した文字数に足りない時には、%の次にスペースとか0を指定してる場合それが足される(↑の場合「 . 」を含めた文字数が6未満ならスペースが足される)
600名前は開発中のものです。:2009/06/17(水) 16:13:01 ID:mwxNmeAY
自分だったらposをいじると、もしフォントサイズが変わった時に面倒だから、
各変数を算出した直後にstrlenで字数を調べて
一定のn文字に足りない分だけスペースを追加して表示用文字列にする

それから基本だけど rpeat 5 みたいなのはマジックナンバーといって
あとで何の数字だったか分からなくなるから変数を使うクセをつけ方がいい
初期設定で menber=5 にしておいて、repeat menber みたいな

あとは一カ所に処理を詰め込まないで
計算のルーチンは計算だけ、表示のルーチンは表示だけって分ける
601名前は開発中のものです。:2009/06/17(水) 17:46:28 ID:mmaMJt1q
>自分だったらposをいじると、もしフォントサイズが変わった時に面倒だから、
フォントサイズの設定から表示位置を決めるようにすればいいだけだけどな
↑のは"長打力"とかの表示位置が文字サイズとは関係なく決められてからposの方をいじった
(文字並べるだけだと微妙にズレル)

>一定のn文字に足りない分だけスペースを追加して表示用文字列にする
mes strf("% 6.1f",12.3)
strlen使わなくてもstrf()の機能だけで出来る
602名前は開発中のものです。:2009/06/20(土) 03:15:46 ID:Xj1G2uPj
gotoとかgosubのラベル指定って文字列変数で指定できないの?
そうすればmainルーチンにgosub置いて文字列変数の値を書き換えるだけで
タイトルシーンからメニュー処理へ行こうするのも簡単に云々
つまり
goto *label_1

ln = "*label_1"
goto ln
見たいにする事ってできないの
できないんだね
603名前は開発中のものです。:2009/06/20(土) 03:45:12 ID:Xj1G2uPj
できたわ

ln = *label_1
gosub ln
stop

*label_1
mes "成功"
return

で上手くいった
lnはポインタになるのかな
mes ls
ってやったらエラーになった
604名前は開発中のものです。:2009/06/20(土) 03:47:08 ID:DCEqKNm1
ラベル変数と言うのがあってだな

ln = *label_1
goto ln

って出来る

j=1
on j goto *a,*b,*c
ってやるのを↓みたにも出来る

labc=*a,*b,*c
j=1
goto labc(j)
ってやれば*bに飛べる
onはラベルの数が増えると重くなるけど、こっちは関係ない(ラベルが代入されてない所を指定しないようにする必要はあるが)

どのバージョンからラベル変数が使えるようになったかは忘れた

って、書いてる内に自分でやってたかw
605名前は開発中のものです。:2009/06/21(日) 08:20:53 ID:AwNfvW4G
突然失礼します。
根本的に理解が足りないとは思うのですが、ちょっとお力を貸してください。

2Dメインのゲームを作っていて、画面上に3Dのアクセント(と言うか、マスコット的なキャラクター)
を表示させたいのですが、どうやるのが一番現実的でしょうか??

つまり2Dと3Dの共存なんですが、全て3Dで処理しないとダメですかね?
2D部分のものは全てスプライト使うとか。

試しにHGIMGのhgcaptureを使ってバッファの内容を持ってきてはみたんですけど
やっぱり遅くて実際に使うのは無理だなぁ、という感じでした。

あー考えるほどに泥沼にはまるので、一旦仮眠します。
606名前は開発中のものです。:2009/06/21(日) 11:38:54 ID:PV/sWhN4
ちょいキャラだけならリアルっぽい爆発エフェクトとかと同じで、
3DCGっぽい出力画像をフレーム枚数分用意してアニメさせればいいだけでは?
Officeの邪魔臭いイルカとかと一緒。
607名前は開発中のものです。:2009/06/22(月) 01:09:05 ID:xMlOa/W6
と言うかですね、動的にテクスチャを変えたいんですよ。
608名前は開発中のものです。:2009/06/24(水) 13:16:19 ID:Ks4j703T
だからー、どんな変化だろうと1フレーム分ずつコマ絵にしておくことはできるでしょ。
どんな状況でどのコマを表示するかはいくらでもプログラムできる。
ゲームでカーソルにあわせてキャラの向きが変わったり、ダメージをうけて色や絵が変わるのは
動的な変化じゃないの?
それをリアルなグラフィックにすればいいだけじゃん。
609名前は開発中のものです。:2009/06/24(水) 14:59:51 ID:rgOWtwRp
例えば10000パターン考えられるとして10000パターン作っておかないとダメってことか・・・。

任意の文字列(アルファベットの大文字4文字なら26^4)を1文字ずつテクスチャにして
それを正四面体にランダムな並びで貼り付けて回転させる、と言う場合はかなり難しいですな。
610名前は開発中のものです。:2009/06/24(水) 15:29:56 ID:Ks4j703T
>>609
その通りだけど本当にそれだけの数が必要なの?馬鹿なの?
レンダリングだって計算を簡略化して近似値ですませるのがアルゴリズムの工夫ってもんだろ。
いちいち一万回ずつ反射計算するのかよ。

その例なら絶対いるのは回転中共通で数フレーム+最後の4面だけ。
よりリアルにするため回転終わりを個別に作ってもたかが知れてるが、それでダメな理由は?
611名前は開発中のものです。:2009/06/24(水) 15:42:27 ID:nPmFbZfQ
普通にモデル作って表示させろよ
612名前は開発中のものです。:2009/06/24(水) 15:47:26 ID:Ks4j703T
あ、ちょっと勘違いしてたけど、文字が毎回違うなら最後の4面じゃなくて
代わりにアルファベットのフォントテーブルだな。
613名前は開発中のものです。:2009/06/25(木) 00:47:00 ID:JIXXZ6ko
>599-601
規制に巻き込まれて遅くなってしまったがアリガトン
599の最初の方法は自分の理解不足もあって斜めに表示されてしまい、
なんか駄目だったけれど、スペースを入れる方をつかって、
上の表示も調整して、ほぼ理想どおりになった。
>600のアドバイスは今後の参考にいたします。
まぁちっちゃいのしか作れんから大丈夫だけど
大きいのだと変数多すぎて分けわかんなくなったりしないもんなんかね。


不要なのも入っているけどこうなりました。ありがとうございました。
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0443zip.html
614名前は開発中のものです。:2009/06/25(木) 01:02:50 ID:z94t9AJX
>>611
ええ、まぁ、そのつもりなんだけど、
2D画面との共存を考えた場合は
どう言った方法がより現実的なのかな、
と言う所なんですよ。
615名前は開発中のものです。:2009/06/25(木) 01:33:49 ID:0Ufdy6gn
>>614
その3Dキャラが一枚絵を加工アニメーションさせるだけじゃ表現出来ないなら
速度的にゲーム自体をD3Dで作るしかないだろうな
今のPCならD3Dでテクスチャ使った方が2Dやる分にも軽いだろうし

hgimg3はスプライトの優先度設定が廃止されてるから廃止前のを使うか自前でソートしてID入れ替えするしかない
ただ、2Dスプライトの表示優先度は解決できても、3Dオブジェクトとオブジェクトの間に表示する事は出来ない

Easy3Dなら3Dとの融合もできる(hgimg3より重いかもしれない)

hgimg3はなんで2Dスプライトの優先度を完全に無くしたんだろうな
使ってた人の事全然考えて無い・・・
616名前は開発中のものです。:2009/06/25(木) 02:54:58 ID:z94t9AJX
>>615
なるほど。やはりhgimg3ではちょっと扱いづらそうですね。
Easy3Dで進めることを検討してみます。
非常に参考になりました。どうも、ありがとうございます。
617名前は開発中のものです。:2009/07/03(金) 17:46:49 ID:8bjFy0JX
こんにちは。

[HSP]+[Easy3D]で3D格闘ゲームを作成しているゲーム初心者です。
「CGグラフィック」の事で質問です。
僕はメタセコイアとROKDEBONE2で3Dモデルとモーションを作成しています。

ただどうしても作れないものがあるんです。

・回復する時にキャラクターの周りを緑のラインがぐるぐる回るエフェクト
・滝の細かな水しぶき
・モノが爆発するときに爆風が広まる感じのエフェクトモーション

これらを3Dモデルで作るとなると3Dモーションを”いくつも”作らなければならずどうしたらいいかわかりません。

僕としてはBMPで描き表示させるという方法も考えましたが、やはり3Dという性質や爆発などのモーションの場合は拡大、縮小という概念を考えるとうまくできません。
よく某ゲームでは「本物の爆発モーション」のごとく爆風の拡大、煙の湧き上がり方、どす黒い色から灰色などの色の変化を表現しています。
あんな感じのCGグラフィックを作ってみたいです。
HSPに対応する「ファイル形式」でできればお金がないのでフリーで作れるソフトってありますか?



618こういち:2009/07/03(金) 20:26:58 ID:8bjFy0JX
参考までにこんな感じの者が作りたいというのを張っておきます。
HSP対応のファイル形式で作れるソフトを探しています。

http://www.youtube.com/watch?v=BVbDQdYbduo

よろしくお願いします。
619名前は開発中のものです。:2009/07/03(金) 20:31:38 ID:8bjFy0JX
>>617−618

名前入力しているものとしてないものがありますが・・申し訳ないです。
他スレではこの名前を使っているのでそのまま書いてしまったらこんな結果に。
ここでは名無しで統一しますので・・お願いします。
620名前は開発中のものです。:2009/07/03(金) 20:55:10 ID:rTRM5md3
・回復する時にキャラクターの周りを緑のラインがぐるぐる回るエフェクト
・滝の細かな水しぶき
・モノが爆発するときに爆風が広まる感じのエフェクトモーション

アニメートスプライトで表現するのが一般的、チープではあるが
「緑のラインがぐるぐる回る」別のモデルで作って、コードで動かすのも有り
「滝の水しぶき」パーティクルを使って煙と同じ効果を作る
「爆発」半透明の球を作って拡大する、ポリゴンが割れて飛散するアニメを作っても良い
処理スピードを考慮すると連続したスプライトが良いと思う
621名前は開発中のものです。:2009/07/04(土) 09:55:16 ID:GWzdI9Ol
自機から出る弾(BMP)を表示させて飛ばしてみたんですが
移動しつつ点滅しちゃいます
>>592さんと同じ症状だと思います‥‥
622名前は開発中のものです。:2009/07/04(土) 20:00:18 ID:SDBX5qTm
>>620

すごく参考になりました。
もう一度チャンレンジしてみます。
ありがとうございました!
623名前は開発中のものです。:2009/07/04(土) 20:12:00 ID:CmkD0aF8
逆コンパイラで画像抜きにくくしたいのですが、何か方法ありますか?
624名前は開発中のものです。:2009/07/04(土) 23:50:20 ID:U99m4Zi6
>>621
どこでもいいからゲーム製作講座のHPのひとつくらい見てみろよ
基本中の基本すぎるから
625名前は開発中のものです。:2009/07/19(日) 21:24:11 ID:gnxLCthw
すいませんHGIMG3の2Dスプライトの半透明処理とカレントカラーを透明に。
などの方法を教えてください。
お願いします。
626名前は開発中のものです。:2009/07/20(月) 11:22:23 ID:AZ2kzgg6
>>625
まずHGIMG3のドキュメントを読みつくせ
基本を覚えずにやりたい事だけできるほどプログラムは楽じゃない
逆に言えば基本さえ覚えればHGIMG3はそんなに難しくない
627名前は開発中のものです。:2009/07/20(月) 11:38:55 ID:AZ2kzgg6
マルチだったか・・・
628名前は開発中のものです。:2009/07/20(月) 14:50:33 ID:pXmevGcS
画面端のy座標200〜300からrnd関数使って敵を出現させるのは可能ですか?
629名前は開発中のものです。:2009/07/20(月) 15:16:23 ID:4ATGfUHx
>>628
rnd関数がどういうものか理解すればやり方もわかる
まずはrndのヘルプを読もう
630名前は開発中のものです。:2009/07/20(月) 17:52:51 ID:4hwl4dq0
>>626さん
すみませんマルチ質問はモラル違反でした...

基本がなってないといけないですよね。がんばって基本を熟知できるようになります。
631名前は開発中のものです。:2009/07/22(水) 06:02:57 ID:/HRsqK5g
>>628
それは画面の座標とか関係なく0〜100の値を収得出切ればいんじゃないのか?
200に0〜100の値を足したら幾つからいくつになる?
632名前は開発中のものです。:2009/07/25(土) 13:15:52 ID:9z421+SD
マニュアル読め、とかのレスは、はっきり言っていらなくないか?
まぁ初心者にも程がある、と質問とすらいえないようなものもあるかも知れんけど。
633名前は開発中のものです。:2009/07/27(月) 05:55:43 ID:InYHtg0h
HSPコンテスト、今年は盛り上がる?
634名前は開発中のものです。:2009/07/27(月) 15:00:20 ID:TPttfUHg
>>633
そんな事わかるはずなかろう、それに何を以って盛り上がったとする?
まぁ盛り上がる事を期待したいのなら、まずは自分が動く事だな

とりあえず俺は数点応募するつもりだが・・・
635名前は開発中のものです。:2009/07/28(火) 18:15:41 ID:ONfmwPux
去年と違って今年はグロいホラーゲーム作ろうと思ったりしたけど
絶対弾かれるよな?
636名前は開発中のものです。:2009/07/29(水) 05:16:22 ID:FXMLplVE
>悪意があるもの。不快な思いをあたえるもの。
>利用者に損害を与えるもの。または不安を煽るもの。

結構曖昧だよね・・・
637名前は開発中のものです。:2009/07/29(水) 09:55:27 ID:lDbcAmwS
>>635
ニッチではあるけれど、そういったニーズもあるわけで、
ゲーム開始時に『当作品はグロテスクな表現を用いて〜』とか注意書きありゃいいんじゃね?
作品紹介にも注意書きつけたり配慮してあれば案外大丈夫そうな気がする。
心配なら運営に問い合わせるとか。
638名前は開発中のものです。:2009/07/29(水) 10:58:11 ID:3vZDLwUp
>>636
>2.悪意があるもの。不快な思いをあたえるもの。
>  (上記の解説・補足)利用者に損害を与えるもの。または不安を煽るもの。

って事だから、ウィルスやトロイ、他人への誹謗中傷・政治的な扇動が目的
みたいな物がダメなんだろう

一応ルール上は18禁ゲームもOKみたいだなw
内容にもよるだろうが・・・
639名前は開発中のものです。:2009/08/01(土) 05:05:12 ID:2Ajc516Y
HSPでイベントシーン(RPGでいうキャラが会話しながら動いたりしてるような)を作るのはちょっと厳しい?
640名前は開発中のものです。:2009/08/01(土) 10:41:54 ID:sFzdIDNo
RPGツクールなどの専用ツール以外、何で作っても大差ない
641名前は開発中のものです。:2009/08/01(土) 10:57:53 ID:2Ajc516Y
ありがとう
じゃあ気合いか
642名前は開発中のものです。:2009/08/02(日) 00:30:18 ID:c9ae5K6X
アクションゲーム作ってるんですが
wait 16
だと動作がスローモーションかかったみたいになるんで
wait 3
にしたところ、スラスラ動くようになりましたが‥‥

これって後々問題になってくるかなぁ?
643名前は開発中のものです。:2009/08/02(日) 00:38:47 ID:v4tzvdGV
hgimg3について質問です。
外積というので旋回の左右を判断したいのですが、
p1はプレイヤー1、p2はプレイヤー2、p1yは高さですが、一定です。


fvset gaiseki , p1x , p1y , p1z
fvouter gaiseki , p2x , p1y , p2z


プレイヤー1の回転に合わせて外積も回転させたいのですが、どうしたらいいでしょうか。
644名前は開発中のものです。:2009/08/02(日) 01:28:31 ID:wN0SBTin
>>642
wait?
awaitじゃなくて?
645名前は開発中のものです。:2009/08/02(日) 04:28:56 ID:8ihHQxTU
getkey 〜〜〜・・・・

こっちが押しっぱなしでも一回の入力としてカウント

stick  〜〜〜・・・・

これだと押してる間、入力状態ですよね?
ボタンを押して左右に移動
ボタンを離すと正面を向いた状態にしたいんですが
どうにも正面を向いてくれない
ボタン入力が無かったら〜〜〜 って条件をなんとか作れませんかね
646名前は開発中のものです。:2009/08/02(日) 04:44:52 ID:c9ae5K6X
awaitでした
ごめんなさい
解決しました
647名前は開発中のものです。:2009/08/02(日) 10:04:17 ID:VqA+GE3g
>>645
ifにはelseがある

getkeyは押している間入力状態
stickは押しっぱなしでも一回の入力にする事もできる
648名前は開発中のものです。:2009/08/02(日) 12:43:12 ID:8ihHQxTU
>>647
ありがとうございます
そういやHSPにもelseあったなぁ・・・
649名前は開発中のものです。:2009/08/02(日) 16:16:34 ID:Pc+SdHiH
角度ごとに画像を変えるってできませんか?
45度を向いてたらこの画像を出すとか
650名前は開発中のものです。:2009/08/02(日) 16:30:23 ID:ozvzhhhF
できる。
651649:2009/08/02(日) 22:04:04 ID:Pc+SdHiH
角度ごとに画像を変えるって
if a>0.00 and a<0.12:gcopy〜
if a>0.12 and a<0.24:gcopy〜
if a>0.24 and・・・
とかでいちいち指定してると重くなりますよね
もうちょっとシンプルなやり方ありませんか?
652名前は開発中のものです。:2009/08/02(日) 23:29:05 ID:5PdeyiCm
試してないから適当だけど
int(a * 100 / 12) で switch〜case とか
653名前は開発中のものです。:2009/08/03(月) 00:23:51 ID:W+QRVO38
スプライト使ったらあかんの?
654名前は開発中のものです。:2009/08/03(月) 00:25:11 ID:W+QRVO38
ああ、多分勘違いしてた
655名前は開発中のものです。:2009/08/03(月) 01:16:49 ID:KCZZWD+T
角度が0〜255とかで返ってくれば楽なんだけどな。
+16して、32で割って、スプライトのサイズを掛けるだけ。

a=atan(y,x)
a=128+a/3.1415*128 +64&255

x=a+16>>5 &7
gcopy 2,x*64,0,64,64 ;画像は横に並べる

とか
656643:2009/08/03(月) 03:25:22 ID:5xZfsrHm
>>643ですが、結局、外積を使わないようにして解決しました。
657名前は開発中のものです。:2009/08/03(月) 08:32:57 ID:ittqPJry
HSPコンテスト、活気はどんな感じになるかなぁ・・・
658名前は開発中のものです。:2009/08/03(月) 20:05:59 ID:ittqPJry
と思ったらもう作品公開されてる・・・
学生なのにすげぇの作る人いるなぁ
659名前は開発中のものです。:2009/08/03(月) 20:13:07 ID:5/cTfw5X
やたら10代が多い気がする‥‥
そのうちもっと凄いの作るんだろうな
660名前は開発中のものです。:2009/08/04(火) 02:29:00 ID:L8bcuoZS
横スクロールアクションを作っているのですが
主人公の歩行アニメーションがうまくいきません


if (→を押しているなら){
 2枚の絵を切り替えrepeat
}

if (←を押しているなら){
・・・・・・


こんな感じで可能ですよね?
661名前は開発中のものです。:2009/08/04(火) 03:34:02 ID:xDl4o5Rt
そんな一部だけ見せられてどうしろと?
どう、うまく行かないかも書いてないしよ・・・
うまくいかないってーのにも色々あるだろ
それまで推理して答えろってか
662名前は開発中のものです。:2009/08/04(火) 04:26:54 ID:Qjg+gs6d
repeat とか入れちゃってる辺り、
多分アニメーションの仕組み自体分かってない。

hspdxとかスプライト機能のあるプラグイン使った方が楽。
663名前は開発中のものです。:2009/08/04(火) 08:07:26 ID:L8bcuoZS
>>662
ありがとうございます
664名前は開発中のものです。:2009/08/04(火) 15:20:00 ID:nVS/+Wrm
画面を一旦全部消してだね、で、もう一回書き直しなさい
665名前は開発中のものです。:2009/08/04(火) 18:43:49 ID:SM8VOFr4
せめて裏で一から描いて表にコピーするぐらいはがんがれ
666名前は開発中のものです。:2009/08/05(水) 11:07:54 ID:K6/wwRv5
>>660
そのまま動かすと一瞬で絵が上書きされてるだろうからアニメに見えないだろうな
アニメの基本は一定時間表示した物を変更するって事だから
そこら辺をちゃんと作らないとアニメにならない
667名前は開発中のものです。:2009/08/05(水) 13:38:00 ID:kKe8KF+L
アニメーションしないブロック崩しとかだとそういうの一切考えなくていいよな・・・
668名前は開発中のものです。:2009/08/05(水) 21:46:20 ID:9uvGEL87
多関節とかは?
使ったことないけど
669名前は開発中のものです。:2009/08/06(木) 17:17:46 ID:pivOXP58
http://codezine.jp/article/detail/692

>gcopy 1,anim/4\8*200 ; 画像を描画する

この仕組みがよく分からんのぉ・・・
50*50の画像を一列に並べて
xの100までは右に向かって歩く2枚、100から200まで左に向かって・・・って感じに置いてるけど
左向き用の座標をどう指定すればいいのか・・・
670名前は開発中のものです。:2009/08/06(木) 20:37:22 ID:mW6N2O2g
左向き用の画像を用意
座標の指定方法は右向きも左向きも同様
671名前は開発中のものです。:2009/08/06(木) 20:44:06 ID:npCsC9dl
>>669
>xの100までは右に向かって歩く2枚、100から200まで左に向かって・・・って感じに置いてるけど
そんな画像どこにある?
ログインしないと見れないのか
てか
>gcopy 1,anim/4\8*200 ; 画像を描画する
これ見る限りそんな仕様にはなってないぞ
同方向のアニメパターンは横200ずつの8個になってる
672名前は開発中のものです。:2009/08/06(木) 20:53:21 ID:npCsC9dl
あぁ、自分で作った画像が50*50って事か

>gcopy 1,anim/4\8*200 ; 画像を描画する
これと同じようにやるなら

stick key,15 ; キー入力を行う
if key&1 { ; 左のキーならば{}内を実行する
x=x-2 : anim=anim+1
patx=100
}
if key&4 { ; 右のキーならば{}内を実行する
x=x+2 : anim=anim+1
patx=0
}
gcopy 1,anim/4\2*50+patx,50,50
673669:2009/08/07(金) 03:01:12 ID:f2ywf3OV
アドバイスありがとうございます
なにやら左右に動くと画像が表示されなくなり・・・

>gcopy 1,anim/4\8*200

>gcopy p1,p2,p3,p4,p5
をどう当てはめればいいのかよく分かりません
「1」はp1でウィンドウIDなんですが、「anim/4\8*200」の部分はどうなるんでしょうか?
もしp2となるんであれば、今yには0が入ってる、ならば好きなy座標を入れればいい
って訳でもない感じがします
674669:2009/08/07(金) 03:07:59 ID:f2ywf3OV
すいません解決しました
675名前は開発中のものです。:2009/08/08(土) 10:01:42 ID:DMSKjlHz
特定のキーを押すと2秒間移動できないようにしたいんですが
どういう風にすればできますか?
676名前は開発中のものです。:2009/08/08(土) 12:57:31 ID:B9Z1QcS2
1最大16msぐらい(環境とawait設定によるが)遅れるけど
1フレームぐらいだから大丈夫だろう
repeat
redraw 0
color 255,255,255:boxf:color
stick st,$ff
if st&128{end}
if stp=1 {
msb=gettime(7);現在のmsを収得(0〜999)
msc=msb-msa;今回から前回のmsを引く
msa=msb
if msc<0{msc+1000};前回の方が大きかった場合-になるので+1000
msd+msc;経過時間蓄積
pos 0,0
mes "ms="+msd
if msd>=2000{stp=0:msd=0:title ""};2000=2秒 経過でストップ解除
}
if stp=0 {
if (st&16)>0 {msa = gettime(7) :stp=1:title "ストップ中"};スペースでストップ、1/1000秒を収得
if st&1{x-}
if st&4{x+}
}
pos x,100
mes "○"
redraw 1
await 15
loop
677名前は開発中のものです。:2009/08/09(日) 01:10:28 ID:FSuqbnXl
>>676
分かりやすい!
助かりました
678名前は開発中のものです。:2009/08/10(月) 02:58:50 ID:oGoxyVU4
cls以外で部分的にinputやbuttonを消すにはどうしたらいいの?
screenを二つ使って表示させるんなら、なんとなくできるような気がするんだけど、
一つのスクリーン上ではできないのかな?
679名前は開発中のものです。:2009/08/10(月) 03:03:23 ID:EPAtm/pI
オブジェクト 消去
でヘルプ内検索
680名前は開発中のものです。:2009/08/10(月) 03:14:01 ID:oGoxyVU4
できた。アリガトン
ただID番号調べ方がよくワカラン。上から数える以外あるの?
681名前は開発中のものです。:2009/08/10(月) 03:26:29 ID:EPAtm/pI
あぁ、まだヘルプに記載されてないのか
オブジェクト配置時にはシステム変数statにIDが返る
682名前は開発中のものです。:2009/08/10(月) 03:29:21 ID:EPAtm/pI
objprm p1,p2

p1=0〜(0) : オブジェクトID指定
p2 : 変更するパラメータの内容解説
button命令やinput,mesbox命令などで画面上に配置したオブジェクトの持つ内容やパラメータを変更します。

p1には、オブジェクトIDを指定します。オブジェクトIDは、 0から順番に画面上に表示したオブジェクト1つ1つに割り当てられていく番号です。
オブジェクトIDは、オブジェクトを配置する命令実行後にシステム変数statに代入されています(通常置いた順番に0,1,2…の番号が割り当てられます)。


一応ヘルプにあったは
683名前は開発中のものです。:2009/08/10(月) 04:05:52 ID:oGoxyVU4
そこは一応目を通してはいたけど、
ようするにstatをオブジェクトのあとに表示させればわかるってことでいいのか?
システム変数自体きちんと理解してないからなぁ。
statはなんか色々使って数字が変わってしまうイメージがあるんだけど。
684名前は開発中のものです。:2009/08/10(月) 04:14:50 ID:iksSFUdt
if stat=1

とかやってると思わぬバグに遭遇する罠。

a=stat
とかなるべく変数に入れようね。
685名前は開発中のものです。:2009/08/10(月) 04:28:33 ID:EPAtm/pI
statは特別は変数(通常は読み取り専用)
命令実行後に命令が成功したか等を数値で返してくる
オビジェクトを配置して成功したらオブジェクトIDがstatに入ってるから
自分で他の変数(配列)に保存してやればいい

input a,32,16
inputid=stat
button gosub "A",*label
buttonaid=stat
button gosub "B",*label
buttonbid=stat
button gosub "input",*label
buttontid=stat
stop
*label
id=stat
if id=buttonaid{title "A"}
if id=buttonbid{title "B"}
if id=buttontid{title str(a)}
return
686名前は開発中のものです。:2009/08/10(月) 04:37:34 ID:oGoxyVU4
そうかそうか。変数を別に組めばいいのか。なるほどなぁ。勉強になります。
そういった変数は別に独立させたほうが、一手間だけどわかりやすいな。
そういう風にヘルプも読めばいいわけか。
687名前は開発中のものです。:2009/08/15(土) 07:39:23 ID:K6XX1i7T
button内のフォントの大きさはどこで変えればいいんじゃ。
ボタン大きくしてみても文字が小さいままじゃな。
688名前は開発中のものです。:2009/08/15(土) 09:09:08 ID:tqc6CSnb
ヘルプ内を
オブジェクト フォント
で検索
689名前は開発中のものです。:2009/08/16(日) 06:55:34 ID:hpG4s320
HSPで多重スクロールは厳しいですかね?
690名前は開発中のものです。:2009/08/16(日) 09:04:43 ID:IDjJirtT
>688
みつかった。アリガトン
というか、俺がやったら0件だったのに、コピペしたらでてきた。
半角スペースと全角スペースで違うのか。
691名前は開発中のものです。:2009/08/16(日) 09:48:47 ID:mUJcX4L/
ありがと~ん
692名前は開発中のものです。:2009/08/16(日) 09:55:20 ID:l4QOFrS1
>>689
PC性能と書き換える範囲、gmodeによる
3年前ぐらいのPCでも標準命令で3枚ぐらいならどうにかなるかな
半透明は二倍ぐらい重くなるから描画範囲が大きいと厳しい

>>690
全角スペースじゃ全角スペースを含めた一つの文として検索される
693名前は開発中のものです。:2009/08/16(日) 12:35:14 ID:mUJcX4L/
そうなの
694名前は開発中のものです。:2009/08/16(日) 14:53:43 ID:uqq1XyZK
普通にDirectX使えよ
695名前は開発中のものです。:2009/08/17(月) 17:17:40 ID:DLjNo+PY
アニメーションさせると動きがゴキブリみたいなカサカサって感じになるんですが
もう少しズシン・・・ズシン・・・って感じにアニメーションさせられないでしょうか?
696名前は開発中のものです。:2009/08/17(月) 18:09:13 ID:OaXLykVo
イミフ
697名前は開発中のものです。:2009/08/17(月) 18:54:32 ID:DLjNo+PY
アニメーションが早送りみたいになるので
もっとゆっくりにする方法はないでしょうか、ってことです
698名前は開発中のものです。:2009/08/17(月) 19:01:37 ID:L3sfcw6h
>>697
画面書き換えごとにアニメパターンを変更するのではなく、
数回同じパターンが表示されるようにすればいいと思うよ。
 
とりあえず実際どうやってるのか見せてみ
699名前は開発中のものです。:2009/08/17(月) 19:08:44 ID:4oWVvhdK
>>697
アニメーションのパターンが少ないか、移動量が大きすぎるのだと思うが
700名前は開発中のものです。:2009/08/18(火) 01:07:26 ID:oIO5tzSw
確かに、もっさりした動きを表現したいならアニメパターン多めでないと厳しいな。
701名前は開発中のものです。:2009/08/20(木) 20:30:33 ID:4Sdqa/VQ
敵がまだ出てない時は普通の動きなのに
敵が表示された途端に自機の動きがめちゃくちゃ速くなる
こんなことってありえるの・・・・・・・?
702名前は開発中のものです。:2009/08/20(木) 21:15:13 ID:+p+heXmD
自機の移動処理を敵が呼び出してるでFA
703名前は開発中のものです。:2009/08/20(木) 22:42:39 ID:rd4YMT11
考え方が逆だよ。
現に速くなってるんなら、その事実をまず受け入れろ。
話はそれからだ。
704名前は開発中のものです。:2009/08/21(金) 01:26:27 ID:L/iycVgI
>>702
そうではないです・・・

time++
if(time \ 1000) = 0{・・・

これがいけないんでしょうか・・・
705名前は開発中のものです。:2009/08/21(金) 03:40:19 ID:ukzTWKzQ
ソース晒してみたら?
706名前は開発中のものです。:2009/08/21(金) 05:02:10 ID:KWX4CY8U
バグは「そうではない」と思っているところにあるもんだからなあ
とりあえず表示が原因なのか敵の出現が原因なのかを切り分けるために
画像表示関連の部分をboxfに変えてみたら
707名前は開発中のものです。:2009/08/21(金) 08:21:55 ID:u6ZbOicr
敵移動処理にreturn書き忘れてそのまま自機移動に流れてるとかw
708名前は開発中のものです。:2009/08/21(金) 09:35:53 ID:BqCTyeyQ
HSPコンテスト、作品に対するコメントが全然ないけど
もしやこれがデフォ?
寂し過ぎじゃね
709名前は開発中のものです。:2009/08/21(金) 11:38:58 ID:H6WEq+Az
>>708
他人に求めるな、自分が書くんだ・・・とは言っても既に書いてる奴ならダメか・・・

理由1 : コメント登録制の為、自分の素性が割れるのが嫌w or 作品が出来てないからコメントできない
理由2 : コメントつけたいソフトが無い or ゲーム少ねぇぞゴラァ
理由3 : コメント書く奴が少ないから書き込み難い or 誰かコメント書いてください(他人任せ)

こんな所だな、大半1か2だろうけどw

ま、匿名で好きな事が言いたいならこっちに書いとけ↓
意外に見てる奴多いから

>HSPコンテスト専用2
>http://pc12.2ch.net/test/read.cgi/tech/1221701297/

ガキに荒らされるくらいなら超辛口批評の方が100倍マシだからな
ただし個人攻撃はウザイからすんなよ、あくまで作品の批評な
710名前は開発中のものです。:2009/08/21(金) 13:00:27 ID:vr+sbnhh
>>704
そんな部分だけ切り取られたって何の事だか解らないよ。
具体的な答えが欲しいならソース出せば誰かが答えてくれるんじゃない?

もう一度言うけどな、まず事実を受け入れた上で考えろ。
速くなってるんなら、速くなる要因が必ずあるんだよ。
敵が現れて速くなるなら、敵が現れた時に自機に影響を与える処理をしてる可能性がまず考えられないか?
そうしたらその辺の処理がどうなってるのか考えるんだ。
711名前は開発中のものです。:2009/08/21(金) 13:27:45 ID:u6ZbOicr
もしや敵と自機の変数がごっちゃになってるんじゃあるまいか
712名前は開発中のものです。:2009/08/21(金) 14:14:19 ID:vrVKVPUr
>>708
登録制になったから急激に減った
採点無しなら無登録でコメできるとかしない限り増えないだろう

HSPプログラムコンテスト2007 ユーザー評価
現在の最新コメ 2009/07/21 15:16:13

HSPプログラムコンテスト2008 ネット審査員による評価
現在の最新コメ(製作者以外) 2008/11/28 19:05:05

登録が必要ないときのは数年に渡ってコメが来たりする
713名前は開発中のものです。:2009/08/21(金) 15:06:08 ID:rAKBWLdi
HSPってmikotoのモーションデータ使えるの?
どこみてもRDB2とかkeynote使ってるから不安になった
714名前は開発中のものです。:2009/08/21(金) 15:46:40 ID:dAUho4WH
HSPてかhgimg3とかe3dがだろ
何を使うにしてもmkmは直接読めないだろうからRDB2とかでxファイルにエクスポートする事になるんじゃね

mkmファイルの読み込み方
http://www5d.biglobe.ne.jp/~ochikko/rdb2_ldmkm.htm
RokDeBone2 ver4.0.2.5からmkm読み込み機能が付きました。
mkmとはmikotoというソフトが出力するモーションファイルのことです。
715名前は開発中のものです。:2009/08/21(金) 18:03:40 ID:rAKBWLdi
そっか、なるほどな
ありがとう
716名前は開発中のものです。:2009/08/21(金) 19:22:41 ID:aNK/2H99
すにゃんソフトはまだ生きてるのだろか
717名前は開発中のものです。:2009/08/23(日) 23:44:06 ID:G7YrcOaf
すにゃんはまだやってる
エロゲはやめたのかな
http://hp.vector.co.jp/authors/VA022330/hsp/
718名前は開発中のものです。:2009/08/24(月) 00:16:05 ID:a0/svTHg
つまり更新はあるか、って事じゃないか?
719名前は開発中のものです。:2009/08/26(水) 09:17:00 ID:v2o+io9D
シューティングゲームを作ってるんですが
敵を多数表示させることはできたんですが
当たり判定があるのが1機だけという結果になりました
画面内に出てくる敵が2機だとすれば最初の1機にしか当たり判定がありません
まさか画面内に出現する敵の数だけフラグ作らないとダメ?
720名前は開発中のものです。:2009/08/26(水) 10:42:36 ID:XTqeurRf
どんな処理の仕方してんだ、それ?
721名前は開発中のものです。:2009/08/26(水) 11:46:31 ID:bm7kR0BR
>>719
とりあえず配列って奴を覚えろ
722名前は開発中のものです。:2009/08/26(水) 13:11:58 ID:v2o+io9D
精進が足りんかったようです
出直してきます・・・
723名前は開発中のものです。:2009/08/26(水) 14:44:17 ID:XTqeurRf
ソース晒してくれたら、具体的なアドバイスできるかもしれん。
「こうなりますけど何故ですか?」とか聞かれても、「そうなるようにプログラムしてるからだね」としか答えようがないんだよ。
724名前は開発中のものです。:2009/08/26(水) 17:52:22 ID:05EYfMzk
プログラムは嘘をつかない
725名前は開発中のものです。:2009/08/26(水) 19:02:22 ID:qA/4fDS6
おにたまさんもコンタクトなんだろうな。きっと・・ウフフ・
726名前は開発中のものです。:2009/08/27(木) 08:46:12 ID:h3LXyW/9
>>722
配列変数を覚えたらrepeatとcntの使い方も調べてみ。
727名前は開発中のものです。:2009/08/27(木) 11:19:37 ID:0iKQ6vS3
UPキーを連続押しでダッシュさせるような
キーの連続入力で別の処理をさせたいのですが
詰まっております
良い方法がありましたら教えていただけませんか?
728名前は開発中のものです。:2009/08/27(木) 12:11:56 ID:xW3orgS0
10フレ?以内に連続押しでダッシュ扱いなら


メインループ中に

renzoku--
if (renzoku >0)&(renzoku <10) :ダッシュ
if renzoku < 0 :renzoku =10 :歩行

とか書けばいいんじゃね?
729名前は開発中のものです。:2009/08/29(土) 10:52:41 ID:5u3vnwSx
敵を多数表示させた際、重ならないようにするにはどうすればいいんでしょうか?
プレイヤーが画面端から出れないようにするのと同じ感じ?
730名前は開発中のものです。:2009/08/29(土) 11:45:12 ID:becCXhLm
>>729
どんな仕様のゲームでの話?
731名前は開発中のものです。:2009/08/29(土) 19:58:54 ID:Dcr9OIa0
座標が一致しないようにすればいいじゃん?
732名前は開発中のものです。:2009/08/29(土) 21:35:48 ID:9/1/3bsC
敵の数の二乗分の計算が要るぞ
733名前は開発中のものです。:2009/08/29(土) 22:32:47 ID:becCXhLm
二乗はいらないと思うが
734名前は開発中のものです。:2009/08/30(日) 02:36:45 ID:OhkOYQwB
(敵数-1)*敵数
だから二乗よりは少ないな
でも、ギリギリまで動かしたい場合「全部の敵と判定」して一番近いやつに合わせる必要がある
当たったら止めるなら動いたら当たるかどうかだけでいいが・・・

弾と違って敵なら10個程度だろうからなんとかなるか
数が多いと一つ増えただけでコストの増え方がアレだが・・・
735729:2009/08/30(日) 18:24:09 ID:Uz4rju+H
自機が一番下にあり、真上から落ちてくる敵を避けるゲームです。
敵が登場する場所(画面端のx座標ランダム、y座標0)を被らないようにするのが理想です。
画面内に登場して落下を始めた敵の真上(y座標が違ってx座標が同じ)には敵を作れる、ってのもやりたいんですが
結構難しい気が・・・
敵の座標同士を比べ、重ならない時に敵を作るといった具合にやるんでしょうか?
736名無しさん@そうだ選挙に行こう:2009/08/30(日) 18:52:55 ID:jsC6GS0U
ちょっと条件を付けて
縦一列には敵が一機だけとする。
最上位行において、敵が発生する。最下段で敵が消滅する。
乱数で敵位置を作って、その列に敵が存在したら、乱数を再計算する。
もし、縦一列に複数の敵を持つとするなら、敵の存在フラグを最下段でなく
真ん中くらいに設定する(敵の大きさによるだろう)。
737名前は開発中のものです。:2009/08/31(月) 14:06:46 ID:H/aMmZKL
enemy_x.cnt-=1

敵の移動速度は1以下にはなりませんか?
0.5等小数点は使えませんでした
738名前は開発中のものです。:2009/08/31(月) 16:44:27 ID:9ke5Rweg
小数点使えない? まぁ、使わなくてもできるけど。
 
移動速度は実数のまま、移動距離を1/100とかにして使う手がある。
ドット単位の移動で速度を0.5にしたいなら、速度50でカウントしていって100を越える毎に1ドット進むようにする。
739名前は開発中のものです。:2009/08/31(月) 16:53:19 ID:VMQs31/g
ddim使えばいいんじゃないの。
一通りマニュアルには目を通しておけと。
740名前は開発中のものです。:2009/08/31(月) 16:56:52 ID:H/aMmZKL
>>738
ありがとうございましたm(_ _)m
741名前は開発中のものです。:2009/08/31(月) 17:36:49 ID:iatttM/b
面倒なことしなくても
enemy_x.cnt-=1+mcnt\2 (mcnt=1フレームごとに増加する数値)
これでいいじゃん
問題は1から0.5までの数に応用がきかないことだが
742名前は開発中のものです。:2009/08/31(月) 17:55:23 ID:VMQs31/g
それはいくら何でも応用効かなすぎ。
256倍とかの方がまだ楽。

pos enemy_.cnt>>8,enemy_y.cnt>>8
743名前は開発中のものです。:2009/09/05(土) 07:51:57 ID:Kc4MWuqe
HSPでキャラ同士の会話とかイベント的なムービーを作るとなると
移動先の座標とか台詞の表示とかもいちいち書く必要がある?
それともそれ用にツールみたいなのを作るべき?
744名前は開発中のものです。:2009/09/05(土) 10:35:49 ID:xA+r6Nqy
HSPじゃなくてもプログラムから組むんならそうだろ
745名前は開発中のものです。:2009/09/05(土) 12:25:18 ID:TphJhJK0
OBAQで速度の速いオブジェ同士当たり判定をうまく取る事は出来ますか?
多少めり込んでも弾いてくれればそれでいいんだけど、合体しちゃうんだわ。
746名前は開発中のものです。:2009/09/05(土) 19:55:09 ID:ffOV7xvs
縦スクロールSTGつくるとして背景を10画面分用意するとします。
バッファの確保は640*4800で確保しても問題ないですか?
747名前は開発中のものです。:2009/09/05(土) 20:17:03 ID:QKxxqo7m
それで確保して問題なかったら問題ない
とりあえず最低限、自分の環境で試すぐらいはしろ
748名前は開発中のものです。:2009/09/06(日) 11:07:06 ID:tC6LKB8j
>>745
qexecは1ループ内に何度でも使用可能
qexec : qexec : qdraw
なら表示が倍速になる、という事は・・・?
749名前は開発中のものです。:2009/09/06(日) 11:57:08 ID:P9wgKozZ
画像データはいきなりビデオカードのVRAMには読めないみたいだな
まずメインメモリーに読んでからVRAM転送するらしい
750名前は開発中のものです。:2009/09/06(日) 15:06:13 ID:dErEUCs4
背景に雲があるんですがなぜかキャラと重なってしまいます・・・
先にbufferする以外に解決方法ありませんか?
751名前は開発中のものです。:2009/09/06(日) 15:13:39 ID:7eZktMz/
もう少し詳しく。
現状はどうなっていて、本当はどうしたいの?
752名前は開発中のものです。:2009/09/06(日) 15:14:48 ID:P9wgKozZ
キャラのほうを後に描くのはどう?
753名前は開発中のものです。:2009/09/06(日) 21:25:14 ID:xhWk4bge
>>748
あ、なるほど!
考え方はわかったので試行錯誤してみます。
ありがとう!
754750:2009/09/07(月) 05:57:55 ID:ZRk108rW
buffer 1,400,320
picload "haikei3.bmp"
buffer 2,80,40
picload "PK.bmp"
buffer 3,25,15
picload "kumo.bmp"

こんな感じに読み込んでるんですが
この場合だとbuffer3の雲がbuffer2の主人公よりも手前に表示されます
雲を先に読み込むというのが一番の解決方法なのだと思いますが
それ以外に方法はありませんか?
読み込んだ後でも場面によっては手前に表示したり・・・とか
755名前は開発中のものです。:2009/09/07(月) 07:25:29 ID:So0NR65h
それ読み込んだだけじゃん
どっちが手前とか関係ないところだろ

2Dなら表示順は奥のものから順番に描画するしかない
その手段が楽な言語はあるが理屈はそれ以外にない
756名前は開発中のものです。:2009/09/07(月) 09:27:54 ID:Sfo6q6bX
>>754
どこまで知っているのか分からないけど、
とりあえず、gcopyを使うようにすればいいんじゃないかな。
先にgselで描画するウィンドウを指定してからね。
757名前は開発中のものです。:2009/09/07(月) 09:47:21 ID:/O8s0UjG
>>754
buffer と picload が、
何をどうする命令なのかわかってるのか?
わからなかったらf1を押してヘルプを読め。
758名前は開発中のものです。:2009/09/07(月) 09:50:24 ID:jBW5qaKE
主人公の方を雲より後に描画させる
あとは要のソース見せてもらわないと…
759名前は開発中のものです。:2009/09/07(月) 10:43:38 ID:CGi4hHkF
どのレベルの質問をしたら怒られるのか
ROMっててようやく分かりかけてきた
760名前は開発中のものです。:2009/09/07(月) 17:43:16 ID:cEuYkIlC
>>754
gcopyするときにバッファ2のほうを一番最後にかけばいい
*main
gcopy 1,
gcopy 3,
gcopy 2,
goto *main

761名前は開発中のものです。:2009/09/07(月) 18:29:02 ID:Rc0lpNzC
bufferに読む込むだけで画像を表示できると思ってるヤツに
gcopyとか言っても理解できないだろ?
762名前は開発中のものです。:2009/09/07(月) 20:28:09 ID:o2lnCto6
HSPのジャンプの速度はどうなんでしょうか?
763名前は開発中のものです。:2009/09/07(月) 20:52:21 ID:IKu5WVRR
指定した通りにジャンプします
764名前は開発中のものです。:2009/09/07(月) 20:52:56 ID:So0NR65h
HSPってジャンプするの?
765名前は開発中のものです。:2009/09/07(月) 21:33:17 ID:o2lnCto6
他言語に比べてHSPのGOTOのスピードはどうでしょう?
766名前は開発中のものです。:2009/09/07(月) 22:52:04 ID:So0NR65h
GOTOってBASICぐらいにしかないんじゃないの?
767名前は開発中のものです。:2009/09/08(火) 04:34:23 ID:mzy3swfS
>>761
質問スレにもう来ない方がいいよ(笑)
768名前は開発中のものです。:2009/09/08(火) 09:13:59 ID:yEitQA4w
Cにもgotoはあるよ。むしろない方が珍しい
769757=761:2009/09/08(火) 13:52:58 ID:cNelIz9x
>>767
>>754読んでみろよ。
サンプルか何かを改造してて>>754のように思ったのかも知れないが、
使ってる命令の意味さえわかってないからこういうトンチンカンな事を書くんだ。
今、gcopyと言ったところで理解できるはずがない。
だからまずこの子に教えるべきなのはf1の使い方なんだよ。
770名前は開発中のものです。:2009/09/08(火) 17:16:14 ID:TXjjjQ9R
HSPでファイナルファイトのようなゲームは作れますか?
771名前は開発中のものです。:2009/09/08(火) 19:50:33 ID:/P9XhpkW
スーパーファミコンに移植されてる程度のものは
作れると思うぜ
772名前は開発中のものです。:2009/09/08(火) 20:02:20 ID:I+vUAxAp
>>770に作れるかという質問ならわからないが正解だけどね
773名前は開発中のものです。:2009/09/08(火) 22:19:22 ID:yEitQA4w
お馬鹿な>>772は挫折したんだね。かわいそうに、成仏しろよ
774名前は開発中のものです。:2009/09/09(水) 01:41:19 ID:otABlsOv
他人を馬鹿にできるほど出来の良い作品を完成させ、残している人物なら
>773のような発言をする資格があるのだろうが、
HSP界でそのような作品にお目にかかったことはない。

だが、仮に、出来の良い作品を残していたとしても
その作者が>773のような発言をしているのだとしたら
作者の品位を疑われることになる。

>768のCうんぬんという発言から、
ID:yEitQA4wが、現在HSP使いではないと答えるのなら、
このスレに来て煽りレスを入れている行為の意味が問われる所であるし。

つまり
「馬鹿っていう奴が馬鹿」現象。
775名前は開発中のものです。:2009/09/09(水) 09:14:50 ID:uo197+V9
どんだけ顔真っ赤にして悔しがってるんだよ
776名前は開発中のものです。:2009/09/09(水) 09:28:57 ID:9qytcOmg
真っ当な意見と思うけどね
777名前は開発中のものです。:2009/09/09(水) 09:48:20 ID:1L+UCsUJ
770ですが
単純にスーファミレベルのアクションゲームは技術的に可能かどうか気になります
HSP製でそんな作品は今までありました?
778名前は開発中のものです。:2009/09/09(水) 10:50:16 ID:LjYi2rWL
HSP側は問題無い
作り手の技術と根性次第
779名前は開発中のものです。:2009/09/09(水) 11:41:09 ID:8S4fTPsY
>>777
OBAQのおかげで初心者でも簡単に
アクションゲームが作れるようになった気はするから試してみれば?
780名前は開発中のものです。:2009/09/09(水) 19:27:07 ID:2UdYeiek
初心者は突き放すのがこの世界だな うむ
781名前は開発中のものです。:2009/09/09(水) 20:08:13 ID:ClC6/NSd
>779
そうか、OBAQ使うのって物理シミュ的なゲームしか考えてなかったけど
固定画面重力ありのアクションゲーとか
マリオ系の横スクロールアクションが
より簡単にできるようになったんだな。

まてよ、てことは対戦格闘なんかも・・・
782名前は開発中のものです。:2009/09/10(木) 15:54:08 ID:8eUceXPh
>>777
プレステレベルでも可能だし他言語より簡単に作れる。
ただ、各命令速度計測して高速化のための書き方と組み合わせを日々考える根性が必要。
でないとクソ遅い。

まあ作品が少ないのはそういうことだ。
783名前は開発中のものです。:2009/09/10(木) 17:58:41 ID:Z56rLd0v
書き方変えて体感できるほど速度が変わったことが無い……
784名前は開発中のものです。:2009/09/10(木) 20:20:30 ID:xDB5NakS
思考ルーチン作るとかなり違いが出る。
STGなんかでは貴重な1msが稼げることもままある。

そんなことより
ルーチン見なおしたり、DLLに投げちゃった方がよっぽど効果あるけどな…
785名前は開発中のものです。:2009/09/11(金) 16:07:18 ID:905Az91K
理屈ではファイナルファイトクラスの処理ぐらいなら全然問題ない筈なんだけど
このタイプのアクション作ってる人ってHSP以外でも見た事ないなぁ
やっぱキャラパターンが多いから手を出しにくいんだろうか?

これ以外なら大抵のジャンルのゲームはHSP製で見た事あるんだけど・・・
786名前は開発中のものです。:2009/09/11(金) 20:32:46 ID:uBQHwuw6
画面がスクロールするってだけでプログラムの難易度が思いっきり上がるような気がする
787名前は開発中のものです。:2009/09/12(土) 03:03:30 ID:Ce8ShsVi
俺もそう思ってたけど、やってみたらそうでもなかったよ
788名前は開発中のものです。:2009/09/12(土) 16:22:06 ID:cdWhbrAp
横スクロールする事よりステージ構成や敵配置を考える方が難しいんかね
789名前は開発中のものです。:2009/09/13(日) 04:27:44 ID:9VxjT2mp
て言うか、なんでもバランスとるのがめんどいよね
790名前は開発中のものです。:2009/09/13(日) 17:17:48 ID:/diulQ8A
バランスとるレベルまでいったらたいしたもんだよ
791名前は開発中のものです。:2009/09/13(日) 22:36:55 ID:b+0u6CM7
プログラム的、技術的な問題点はほとんど無いってことだもんな
792名前は開発中のものです。:2009/09/14(月) 01:18:17 ID:XeID8FVQ
まぁ、ないよ
793名前は開発中のものです。:2009/09/14(月) 17:43:11 ID:JyJv+qnm
個人の問題だな
PSレベルのゲームをひとりやふたりで作れるものじゃない
794名前は開発中のものです。:2009/09/16(水) 09:15:31 ID:SA0XjCsU
http://codezine.jp/article/detail/692
すまん、上の方に上がってたこのサイトを参考にしてるんだけど

pos x,y:gcopy 1,anim/4\8*200 ; 画像を描画する
いまだにこれの見方がよく分からん
アニメーションカウントを割ってどうするん?
795名前は開発中のものです。:2009/09/16(水) 10:54:11 ID:fjUbWcqB
¥は余りを出す
anim=50なら
anim/4=12
12\8=4
4*200=800


anim=50
gcopy 1,anim/4\8*200
x座標800、y座標0の位置から画像をコピー
796名前は開発中のものです。:2009/09/16(水) 13:41:01 ID:f/6vabNy
animはフレームカウントだな。

4で割れば、4フレで一コマ進むってわけ。
797名前は開発中のものです。:2009/09/16(水) 13:44:02 ID:SA0XjCsU
>>795-796
ありがとうございましたm(_ _)m
798名前は開発中のものです。:2009/09/17(木) 19:14:14 ID:7YxtY9M/
動いてる敵の動きを止める→攻撃してきてまた動く


停止フラグ立ったら攻撃フラグ
攻撃終わったら移動フラグ・・・みたいな?
799名前は開発中のものです。:2009/09/23(水) 09:30:44 ID:wPxYdb/J
入れ込んでやってると目が辛くて死にそうになった
800名前は開発中のものです。:2009/09/23(水) 11:25:41 ID:wPxYdb/J
animがマイナス値になったら困るよね
だから anim=anim+1\50 が必要じゃない?
801名前は開発中のものです。:2009/09/23(水) 11:53:35 ID:+eC94KU3
オーバーフローするのは784日後だな。
802名前は開発中のものです。:2009/09/26(土) 03:19:49 ID:3AWNGTbT
キャラ移動させた時に残像?みたいなのが僅かに見えてしまいます
他の人のゲームでは綺麗さっぱりに描画出来てるのになんででしょうか・・・
やっぱフレームの問題?
803名前は開発中のものです。:2009/09/26(土) 03:45:18 ID:ma636Wp+
redrawの説明読んでください
804名前は開発中のものです。:2009/09/29(火) 16:17:44 ID:GSbznqBN
hspogg.asでoggを鳴らしながらwavを重ねたいんですが、
wavを重ねるとoggがおかしくなります。
これは仕様なんでしょうか?
805名前は開発中のものです。:2009/09/29(火) 17:46:57 ID:fejiaAcW
仕様です
諦めてください
806名前は開発中のものです。:2009/09/29(火) 18:00:13 ID:8UVoEFdr
音の重ねはDirectSoundが使えるプラグインが必要だよ
807名前は開発中のものです。:2009/09/29(火) 18:38:05 ID:GSbznqBN
ああ、やっぱダメなのかこれ…
dmmloadやdmmloopのパラメータもoggはヘルプの説明と違うようだし予感はしてた。
oggとwavは同時に鳴らせないと明確に書いといてくれればいいのに…
回答ありがとね。
808名前は開発中のものです。:2009/09/29(火) 18:53:55 ID:U0ZG5FSB
電子レンジで動物を乾かそうとして殺したばあさんの話を思い出した
809名前は開発中のものです。:2009/09/30(水) 00:35:44 ID:QGYuB22N
死ねばいいのに
810名前は開発中のものです。:2009/09/30(水) 17:28:19 ID:ZxSS1DlO
電子レンジで死ねばいいのに
811名前は開発中のものです。:2009/09/30(水) 22:25:13 ID:P2FiYT4w
はやく
812名前は開発中のものです。:2009/10/02(金) 15:00:23 ID:MBeJ581I
はやく!
813名前は開発中のものです。:2009/10/02(金) 18:33:52 ID:t/fVm1oz
電子レンジで動物を乾かそうとして殺したばあさんの話を思い出して
電子レンジで死ねばいいのに
814名前は開発中のものです。:2009/10/02(金) 18:41:54 ID:JalN/C5Q
落ち着け>>807
815名前は開発中のものです。:2009/10/02(金) 18:42:47 ID:t/fVm1oz
電子レンジで動物を乾かそうとして殺したばあさんの話を思い出して
電子レンジで死ね
816名前は開発中のものです。:2009/10/02(金) 18:45:59 ID:t/fVm1oz
電子レンジで動物を乾かそうとして殺したばあさんの話を思い出して
電子レンジで死ね
817名前は開発中のものです。:2009/10/02(金) 20:52:18 ID:cTi0ZP6Q
大切な事だから3回ぐらい言いました
818名前は開発中のものです。:2009/10/02(金) 23:53:21 ID:CfxWuJp3
スクロールアクションもののゲーム作ろうと思ってるんだけど
Direct3D使うとして、背景はいちいち小さな正方形テクスチャで分割してやらないといけない?
一般的にはもっとうまい手法ある?
819名前は開発中のものです。:2009/10/03(土) 04:48:42 ID:3lfhcC5s
アクションゲームツクール
820名前は開発中のものです。:2009/10/03(土) 13:57:26 ID:dStJvG4P
なにそれこわい
821名前は開発中のものです。:2009/10/04(日) 19:52:35 ID:VQdDtAQU
一定時間ごとに敵を出現させたいのですが
敵の出現カウントを1ずつ加算、10になったら敵を出現
その後カウントを0にしてまた最初から加算・・・っていう方式でやれば
一定時間ごとに敵が出てくると思うのですが
if 敵の出現カウント=10
{敵出現フラグ=1}

としているためカウントを0に戻すと敵のフラグも0になってしまいます
この方法では無理がありますかね・・・?
822名前は開発中のものです。:2009/10/04(日) 20:01:09 ID:R+imuMQ3
なんで?
その場合カウントを0に戻しても敵出現フラグは1のままだと思うが
823名前は開発中のものです。:2009/10/04(日) 20:22:55 ID:LGl3GDDU
等号の<と≦を間違えて出現カウント9で0に戻してるとか
出現フラグ=1にする前にループを抜けてしまってるとか
そういう凡ミスじゃないの
824名前は開発中のものです。:2009/10/04(日) 23:16:03 ID:jvIjzfqp
ソース晒そうよ
825名前は開発中のものです。:2009/10/05(月) 01:09:47 ID:iy7DLy1M
その必要はなかろう
826名前は開発中のものです。:2009/10/05(月) 02:43:25 ID:LLyS/XH2
HSPって海外ではつかわれてないよね?
827名前は開発中のものです。:2009/10/05(月) 11:00:25 ID:ejKfPlN3
外国人でも使ってる人はいる
当然超マイナーだがな
828名前は開発中のものです。:2009/10/05(月) 17:20:35 ID:5XHApYDD
先生、質問です!

んと、乱数を均等に配分したいんだけど、どうすればいいんすかね
たとえばdim a,20を全部rnd(10)にしたとき10が2コ、9が2コ、8が2コ…みたくしたいんす
829名前は開発中のものです。:2009/10/05(月) 17:54:31 ID:Kx5zXnQV
a=10,10,9,9, (中略) ,2,2,1,1
としといて
i=rnd(20):j=rnd(20):t=a(i):a(i)=a(j):a(j)=t
って好きなだけ繰り返して並び替えろ。

っとrnd(10)がどの範囲の値を返すかわかってるだろうな?
830名前は開発中のものです。:2009/10/05(月) 19:12:40 ID:EooKXoqm
10が出ないねw
831:2009/10/05(月) 21:41:33 ID:LBC7CV67
HSPで多重起動ツール作ったのですが、2つまでは起動するのですがそれ以上できないのです。
1つ目のアプリがロード中に書き換わったら2つ目起動、2つ目がロード中に書き換われば3つも起動できるのですがPIDがランダムなので2つ目はアタッチしてくれません。
HSP言語で自動でPID取得してアタッチしてくれる命令教えてください。
832名前は開発中のものです。:2009/10/06(火) 02:55:12 ID:oWY+iIm9
>>829
あざっーす、さっそくやってみるっす
rnd()は0からはじまるんでした
むー、頭に入りきらない…

また、質問させてくださーいっ
833名前は開発中のものです。:2009/10/06(火) 08:00:31 ID:4slHmzmy
821なんですが

敵出現カウント++
if 出現カウント=10{
出現フラグ.cnt=1
出現カウント=0
}
この場合ではカウント10になった瞬間だけフラグが1になるようです
フラグはカウントが0になるまでの一瞬の間だけ1になっているようで
画面端で敵がほんの少しちらちら映ります
敵1のフラグを1にしたら次は敵2のフラグを・・・っていうことを考えてました
834名前は開発中のものです。:2009/10/06(火) 13:15:55 ID:dmoLUYNF
>>833
それは描画命令とAwaitの実行されるタイミングによるだろ
ソース見せろ
あと、redraw使ってるか?自前でbuffaつくってダブルブァッファにしてもいいけど
835名前は開発中のものです。:2009/10/06(火) 17:01:30 ID:cYUHw8KB
>>833
出現フラグを0に戻す処理はどこに入れてるの?
836名前は開発中のものです。:2009/10/06(火) 20:11:40 ID:4slHmzmy
自己解決
カウント0にしない方法でなんとかなりました
すいませんでした・・・
837名前は開発中のものです。:2009/10/06(火) 21:31:01 ID:dPSlkvtj
いや、それは根本的解決じゃないだろ
絶対にどこかで処理ミスがあるから、放置せず原因を突き止めて直した方がいいぞ。

カウント0〜9以下の間に、どこかでフラグを0にしてしまっているというか
ループの間隔やタイミングを自分で把握できてない。
なぜチラチラ映るかって、1/10ずつ高速で明滅を繰り返してるからだ。

そもそも出現トリガーと出現中のフラグっていうか処理は分けて考えるべき。
838名前は開発中のものです。:2009/10/06(火) 21:54:35 ID:CR+o4mKx
ちなみに、画面消去にclsを使うとチラつく
839名前は開発中のものです。:2009/10/06(火) 23:17:47 ID:Y75TI2MC
redraw使えばチラつかんよ
840名前は開発中のものです。:2009/10/07(水) 00:12:30 ID:ukJu6uKs
>>839
何言ってんだ?
clsはredraw 1と同等の処理もされるからちらつくんだよ
841名前は開発中のものです。:2009/10/07(水) 00:50:54 ID:GlcsWDws
ゲームオーバー画面やタイトル画面にそれぞれredraw0 redraw1 つけてるけど
この使い方は間違ってる?
842名前は開発中のものです。:2009/10/07(水) 01:30:26 ID:ukJu6uKs
それじゃ誰もわからんよ

redraw 0
この間に描画命令を置けば書き換え途中の物が画面に出ないってだけ
redraw 1
843名前は開発中のものです。:2009/10/07(水) 01:44:17 ID:GlcsWDws
なーるほど
あーりがとう
844名前は開発中のものです。:2009/10/07(水) 04:56:39 ID:C8LY5fXB
講座サイトとかでは、真っ先に書かれてるようなことを・・・
845名前は開発中のものです。:2009/10/07(水) 08:15:12 ID:4ILXR/pr
>>840
あ、そうなんだ。
846名前は開発中のものです。:2009/10/07(水) 21:10:59 ID:F1Tk0rxE
ツクールシリーズみたいな「お手軽ゲーム作成ソフト」に限界を感じてhsp3を使い始めたんだけど、
そこらの講座を探しても知りたいことが見当たらないから2つほど質問させてくれ。

dim a,20
でa(1)からa(20)の変数を作成して、
このうちa(6)からa(10)までの変数全てに5を加算するには、
つまりa(6),a(7),a(8),a(9),a(10)にだけ5を加えるにはどうすればいい?

また、
b=7
a(b)=5
という具合にbで指定した変数に値を代入する方法をとるにはどうすればいいだろうか?
847名前は開発中のものです。:2009/10/07(水) 21:31:33 ID:u2lCOIUb
>>846
まず、dim a,20 だとa(0)からa(19)までが作成される。
番号は0から始まるから注意な。

加算するなら、一つの例としてはこう。forの代わりにrepeat文も使える。
for i,6,11,1
  a(i) += 1
next

あと、bで指定した変数に値を代入する方法に関しては、もうとっくにわかってるじゃん。
b=7
a(b)=5
でa(7)=5と同じ結果が出るよ。
848名前は開発中のものです。:2009/10/07(水) 21:36:17 ID:F1Tk0rxE
>>847
やっぱりrepeatとか使ってループさせるしかないのか、
でも簡単な話に答えてくれてありがとう。

()内に変数入れたらエラー起きた気がしたが、気のせいだったようだ、すまない
849名前は開発中のものです。:2009/10/08(木) 15:37:27 ID:J/n9BQmy
>>848
bがint型じゃないとエラーになると思うよ
850名前は開発中のものです。:2009/10/08(木) 21:15:13 ID:40xRJys8
すみません、一つ質問させてください。
HSP3.2、hspdxで、
buffer〜:es_buffer〜
ってやるとシステムエラーが出るのですが何故でしょうか?

バッファで画像合成してes_bufferで送り込むのは出来るんですが遅いので、オフスクリーンバッファを先に確保してes_xferで貼り付けようと思ったんですが。
851名前は開発中のものです。:2009/10/09(金) 05:54:35 ID:VAU0uQJc
es_xferはクリッピング無し
はみ出すとエラーが出る
後、確保していないバッファへコピーしようとするとエラー

はっきり言って、その書き方じゃどのバッファから
どんなバッファに対してやってるのかも分からないから
エラーが出るスクリプト出せ
852名前は開発中のものです。:2009/10/09(金) 14:23:42 ID:RnE9KZwC
すっごく基本的な質問ですみません

ボタンを複数同時に作成する方法ってないでしょうか?
ボタン1、ボタン2…という感じにしたいんですが
ラベル指定のところでcntがうまく入らなくて
853名前は開発中のものです。:2009/10/09(金) 16:50:40 ID:9dcn76eP
ボタンは複数つくれるよ。
なんか変なことしてないか?
cntが上手く入らないってなんだよ。
 
どんな風に書いてるのか見せてみ。
854名前は開発中のものです。:2009/10/09(金) 17:16:41 ID:9dcn76eP
>>852
//ボタン処理サンプル
//指定するのは『ボタンの名前』と『処理のとび先』
button gosub "button1",*botan01
button gosub "button2",*botan02

//メインループ
//(キー入力があったら終了するだけの仮処理)
*mainroop
await 1
onkey goto *owari
goto *mainroop

//ボタン1を押されたときに行う処理
*botan01
print "ボタン1の処理"
return

//ボタン2を押されたときに行う処理
*botan02
print "ボタン2の処理"
return

//プログラム終了
*owari
end
855850:2009/10/09(金) 18:07:22 ID:MHXSwRS3
>>851
すみません自己解決しました。
es_screenの前にes_bufferを使っていたのが原因でした。
856名前は開発中のものです。:2009/10/09(金) 18:43:46 ID:MHXSwRS3
>>854
onkeyはループ中に入れなくていいのと、せっかくならオブジェクトID使ったほうがよくないか?
例えばこんな感じ

onkey goto *owari
button gosub "button1" *btn :id1=stat
button gosub "button2" *btn :id2=stat
stop

*btn
if stat=id1 :gosub *syori1 :return
if stat=id2 :gosub *syori2 :return
return

*syori1
mes "syori1:"+stat
return

*syori2
mes "syori2:"+stat
return

*owari
end

857名前は開発中のものです。:2009/10/09(金) 20:19:31 ID:jiVDQDl4
HSPでゲーム作成してる人
どのサイトから始めました?
お勧めサイト教えてください(゜∀゜)
858名前は開発中のものです。:2009/10/09(金) 21:22:00 ID:MWy5UjZG
私はここから始めました

http://www.onionsoft.net/hsp/
859名前は開発中のものです。:2009/10/10(土) 01:33:01 ID:tjmJYKV+
あなたとは気があうかもしれない
860名前は開発中のものです。:2009/10/11(日) 16:03:33 ID:TP7VEvIw
質問です。

//敵の名前,体力,攻撃力,防御力
"いぬ",15,10,3
"ぬこ",10,8,3
"へび",11,11,7

みたいな形で、RPGの敵データだけを格納するファイルを上記のような形にし、
本体とは分けておこうと思ったのですが、

"いぬ",15,10,3
"ぬこ",10,8,3
"みけぬこ",11,8,5   //←追加
"へび",11,11,7

このように後からデータを途中に差し込もうと考えているので、
noteloadやnotegetなどで『指定行のデータを取得』するとなるとズレてしまうんです。
ラベルなどを使えば指定キャラを取得できそうですが、
それだと二行以上使って行数が肥大して見えにくくなってしまいますので、
どうにかして途中に差し込んでもズレない方法、
もしくは行頭の『敵の名前』を取得してその行を取得できる方法はありませんでしょうか?

説明、および表記等等が下手ですいませんが、よい解答があれば教えてください。
861名前は開発中のものです。:2009/10/11(日) 17:04:31 ID:alNFUCK3
>>860
普通にメモリノートパッドを一行ずつ調べながら、
欲しい「敵の名前」を持つ行を検索すれば良いんじゃね。
862名前は開発中のものです。:2009/10/11(日) 17:15:11 ID:hnkuKbEz
ミスした後、画面内の敵をすべて消して1からやり直しにしたいのですが
普通に残ってしまいます
画面暗転してる間に敵のフラグをすべてオフにしているのですが・・・
863名前は開発中のものです。:2009/10/11(日) 18:36:31 ID:mRz+QsmD
またお前か
そんなんで分かるかアホ
864名前は開発中のものです。:2009/10/11(日) 19:15:16 ID:hnkuKbEz
え?またって・・・?
865名前は開発中のものです。:2009/10/11(日) 19:28:32 ID:Kqcpj37G
ラリってるんだろう
気にすんな
866名前は開発中のものです。:2009/10/11(日) 20:26:04 ID:Jyj2lxJf
>>821と共通点ありすぎだろ
867名前は開発中のものです。:2009/10/11(日) 20:49:55 ID:uJJUsT0J
おれのプロファイリングの結果だと、別人という結論に達した
868名前は開発中のものです。:2009/10/11(日) 21:31:23 ID:hnkuKbEz
確かに前にいくらか質問したことはありますが
>>821は自分じゃないです・・・
質問スレだけど質問しちゃいけないこともあるんですね・・・
869名前は開発中のものです。:2009/10/11(日) 21:37:44 ID:Kqcpj37G
しょーもない文句垂れの煽りを真に受けるようじゃ来ない方がいい
870名前は開発中のものです。:2009/10/11(日) 23:57:40 ID:v1o0XgAF
つーか前にもいくらか質問しといていまだにそんな質問してるようじゃこの世界向いてないかもしれん
前に質問したときはもっと詳しくとか言われなかったのか
とにかくソース見せてもらわんと何もわからん
871名前は開発中のものです。:2009/10/12(月) 00:12:12 ID:ukRayMxT
>>862
君の組んだプログラムが君がしようと思っているような処理の流れにはなっていない、とだけ言える。
その説明じゃ解らないので、ソース晒してくれた方が早いのも確か。
872名前は開発中のものです。:2009/10/12(月) 01:10:04 ID:bWgyPoC4
よし、対話方式でやってみよう

画面暗転はどうやってますか?
敵のフラグ、とはどう言ったものになっていますか?
873名前は開発中のものです。:2009/10/12(月) 07:21:04 ID:F1pDJKCq
wavファイルを2つ同時に再生って出来るか?
874名前は開発中のものです。:2009/10/12(月) 07:39:19 ID:oPHn0jxE
>>873
外出
875名前は開発中のものです。:2009/10/12(月) 13:17:58 ID:F1pDJKCq
マジで?
876名前は開発中のものです。:2009/10/12(月) 20:32:15 ID:PMgmQhSF
コンテストも終わりか
そろそろケチつけでもしようかな
877名前は開発中のものです。:2009/10/12(月) 21:47:47 ID:XfOCNVMO
>>860
ズレると何が問題なんだ?むしろズレると困るようなプログラム組んでることの方が問題
なんじゃね?それでもどーしてもズラしたくないなら途中じゃなくて最後に追加すると自分
の中で決めてしまうとか、

1,"いぬ",15,10,3
2,"ぬこ",10,8,3
4,"みけぬこ",11,8,5
3,"へび",11,11,7

みたいなデータにするとか。

>>862
敵のフラグをすべてオフにしているのに消えないのなら、フラグ以外の何かを参照してい
るんだろう。ちゃんと
・フラグが0なら描画しない
・フラグが0なら移動しない。
・フラグが0なら当たり判定を行わない
みたいなことができてるのか?あるいはお前がフラグをすべてオフにしているつもりでも
実はオフになっていないとか。
ていうかお前のプログラムはたぶんとても汚い。敵をすべて消して1からやり直しにする
んじゃなくてプログラムをすべて消して1からやり直せ。ソース晒せとか言ってる人は
>>862の汚いプログラム全部読む気なのかねえ。

>>873
hmm.dll

>>877
今のコンテストにはもう魅力がないよ。おにたまは物理エンジンで祭りを起こそうとしてる
とうだけど効果が出てねえ。俺もとっくの昔にコンテストに応募するのやめてるよ。コンテ
スト無視してからの作品の方が人気が高い。
878名前は開発中のものです。:2009/10/12(月) 21:52:22 ID:4Ul2T0Uv
>>877
最後のは自虐?
879名前は開発中のものです。:2009/10/12(月) 23:34:43 ID:2xUpbmOx
て言うか、何で怒ってんの?
880名前は開発中のものです。:2009/10/13(火) 01:58:21 ID:g7rqR7UU
質問。
hsp3.2、hspdxで、フルスクリーンにすると毎フレーム書き換えてる部分がちらついたり、スプライトが消えたりするんだけど何がおかしいんでしょう?
es_syncをのp2を1にするとスプライトは表示されますがちらつきがひどくなりますし、2にするともっとおかしくなります。

スクリプトはだいたいこんな感じです。
*ループ
on flag gosub *サブルーチン
wpf=1000.0/fps
es_sync wpf,0:await
goto *ループ

*サブルーチン
gmode 0,640,480
pos 0,0
es_xfer -1,1,0,0
描画命令
es_draw
return
881名前は開発中のものです。:2009/10/13(火) 02:00:27 ID:QX1X5N5i
またお前か
そんなんで分かるかアホ
882名前は開発中のものです。:2009/10/13(火) 04:06:53 ID:nuwDZeQ+
だったら無視しろよアホ
883名前は開発中のものです。:2009/10/13(火) 10:04:21 ID:agSiugh0
とりあえず、隙あらば罵倒したいってのは、どの世界でもいるね
884名前は開発中のものです。:2009/10/13(火) 10:21:49 ID:+mRkVPwe
PCのグラボがショボいんじゃね?
885名前は開発中のものです。:2009/10/13(火) 14:27:02 ID:ygtXEHv6
>>880
とりあえずes_clsが無い
886名前は開発中のものです。:2009/10/13(火) 19:15:33 ID:g7rqR7UU
>>884
他のPC試してみたけど駄目だった。
>>885
gmode 0で上書きしてるから不要。

おかげさまでひらめきまして、es_xfer -1〜を、gsel 0:es_copy〜にしたら解決しました。
バッファ指定の-1と-2は封印したほうがいいみたいですね……
887名前は開発中のものです。:2009/10/15(木) 12:41:14 ID:O2XPRs7/
HSP3.2で、任意のタイミングで処理を中断して初期画面に戻りたいんですが、
gotoで抜けようとすると、sublevがどんどん溜まってしまいます。
大量のgosubを逐一チェックして戻るのは厳しいんですが
sublevを任意リセットするか、このような場合にうまく戻る方法はありますか?

ググると前のバージョンではgotoでリセットされたり
sublevを直接で加減算できたりしてたみたいですが、3.2だとできないようでした。
888名前は開発中のものです。:2009/10/15(木) 14:30:15 ID:s3lOy/lW
>>887
そもそも設計がおかしい気もするけど。
フラグ立ったら以降の処理を飛ばすようにすれば(戻すのではなく流す)、いいんじゃね?
889名前は開発中のものです。:2009/10/15(木) 14:31:44 ID:QArj+d94
switchとか使って中断フラグがonの時はサブルーチン処理をスキップして
メインループの終わりで初期画面に飛ばすみたいな感じじゃダメ?
890名前は開発中のものです。:2009/10/15(木) 14:49:56 ID:21DPnmmU
gotoで処理抜け、てのが未だに馴染めなくて使ったことないんだけど
結構みんな使ってるものなの?
891名前は開発中のものです。:2009/10/15(木) 15:08:29 ID:5u+wHM4L
バカじゃねーの
892名前は開発中のものです。:2009/10/15(木) 15:10:05 ID:Na8K5hKW
goto使って抜けるって考えがおかしい
そんな事やったらネストたまるのは当然
893名前は開発中のものです。:2009/10/15(木) 15:16:53 ID:O2XPRs7/
*画面1
 if input=1 { gosub *画面2A }
 …(略)
 if exitbutton { *終了確認 }
 goto *画面1
*画面2A
 if input=1 { gosub *画面3A }
 …
 if exitbutton { *終了確認 }
 goto *画面2A
*終了確認
 if input=ok { goto *画面1 }
 goto *終了確認

サブメニューみたいのが最大3階層まであって、大雑把には上記のようにしてました。
前画面ずつ戻るのは今まで全部処理してたんですが、
面倒なので一気に戻れる機能を付けようとしたら今回の問題が出てきました。
やっぱり設計がおかしいですか?
とりあえず、>>888-889を参考に地道に流す感じにします。
よくゲームなどで「タイトルに戻る」というのがあるかと思いますが
簡単に見えて、中では思ったより手間のかかる処理をしてたのかな。

894名前は開発中のものです。:2009/10/15(木) 16:02:22 ID:QArj+d94
>>893
*画面
switcn input
case 1
画面1の処理
895894:2009/10/15(木) 16:10:37 ID:QArj+d94
ゴメン、間違えて書き込みしちゃった忘れて
896名前は開発中のものです。:2009/10/15(木) 16:14:33 ID:s3lOy/lW
>>893
サブルーチンの組み方に問題がある。
まず>>880を見て欲しい。で、on gosubなりswichの飛び先が、
*終了確認
gosub *画面1
gosub *画面2

return
っていう感じ。
897名前は開発中のものです。:2009/10/15(木) 16:59:08 ID:5u+wHM4L
くっさ〜
898名前は開発中のものです。:2009/10/18(日) 02:02:07 ID:0FAlz6/w
ゲームを作ったのですが他のウィンドウを手前に出している状態でも操作できてしまいます・・・
今こうして書き込んでいる時にもスペースを押せばキャラが動いています
なんででしょうか・・・
899名前は開発中のものです。:2009/10/18(日) 02:17:15 ID:Bi7WUufC
ウィンドウを手前に出している状態でも操作出来るように作ったから
900名前は開発中のものです。:2009/10/18(日) 03:38:03 ID:hd3egWiP
>898
stick使ってるなら、stickの引数で無効に出来る。使ってないならわからない。
901名前は開発中のものです。:2009/10/18(日) 04:32:44 ID:0FAlz6/w
>>900
getkey使ってました・・・
ありがとうございます
902名前は開発中のものです。:2009/10/18(日) 07:58:42 ID:2x482onz
ginfoで都度チェックじゃないかな。
903名前は開発中のものです。:2009/10/21(水) 19:01:38 ID:ZRWwZFM/
windows7がでたら値が下がったXP買うつもりです
7は5年後に買ってやろうかな
904名前は開発中のものです。:2009/10/21(水) 22:40:57 ID:/kR5X35G
>>903
スレチ

お前は負け組
905名前は開発中のものです。:2009/10/25(日) 16:42:00 ID:Y5hRjsLT
HSPはやめてCにしろってよく言われるけどなんで?
906名前は開発中のものです。:2009/10/25(日) 17:31:16 ID:u6yrDAZO
>>905
HSPよりCの方が優れていると信じて疑わないから
HSPもCも一長一短なので状況に応じて使い分けるのが正しい
907名前は開発中のものです。:2009/10/25(日) 17:34:00 ID:p/Cj1hi3
業務用プログラム開発の現場でHSPを使っているところはないからそういう職種に就いたときにHSPでの知識や経験が直接は役に立たない。
ってのがよくあるパターンの理由1。
あとは
HSPはレベルの低いプログラミング言語でそれを使う人間も低レベル。それに気づいてHSP使うのやめた・そもそも使ってない自分はそんなやつらよりも高レベルの人間。
ていう認識による優越感を持った人がもったいらしい理由をつけてHSP使ってる人を見下して馬鹿にしてるだけっていうのもある。
908名前は開発中のものです。:2009/10/25(日) 17:58:50 ID:+cT/wseX
まぁ小規模なアプリの開発を以外では一長四短ぐらいだからCも知っとくのはいいことだ
909名前は開発中のものです。:2009/10/25(日) 21:21:55 ID:ls2suMx1
おれ、何年か前に比べてずいぶんとHSPを見直すようになったね
だって、わりと何でも出来るっぽいんだもん
910名前は開発中のものです。:2009/10/25(日) 21:57:55 ID:0WNaNnJF
本格的な建築物を組むのに必要な本格的な道具がCなら
日曜大工程度の物を作るのに十分なのがHSP、って感じだと思う。
911名前は開発中のものです。:2009/10/25(日) 22:52:53 ID:bXV+egWN
逆に細かいものもCだな
912名前は開発中のものです。:2009/10/25(日) 23:54:55 ID:RcP4Pv8M
とにかく、ちょっとしたゲームやツールを作るのには手頃

……と思って、素人の漏れがゲーム作ってたら数千〜1万行規模になっちゃって、
ニンともかんとも
913名前は開発中のものです。:2009/10/26(月) 01:16:20 ID:ttB6sIj1
おれもー
3000行とかって、あっという間なんだね
914名前は開発中のものです。:2009/10/26(月) 09:14:12 ID:PbQGxq//
よくスパゲティにならないな。
俺なんて300行ですでに混乱。
ちゃんと一から設計しなおすか・・・orz
915名前は開発中のものです。:2009/10/26(月) 12:26:48 ID:BQX9HfeE
俺まだ作ってないけど、規模大きくなって見づらくなるの嫌だからモジュールってやつをこまめに作ればいいかなと
考えてるんだが、メインの1ファイルに詰め込むのが主流だったりする?
916名前は開発中のものです。:2009/10/26(月) 12:56:10 ID:7Q+6any7
細かすぎても煩雑ってことはあると思う
917名前は開発中のものです。:2009/10/26(月) 13:01:32 ID:qCBm1tUR
あくまで漏れの素人としての意見。

gosubでもモジュールでもいいけど、機能ごとに分けるのは必須。
で、原則的には一つのルーチンで100行くらい以上は書かないようにする。

filename="xxxxx.xxx" みたいなデータ内容定義の部分はなるべく一カ所にまとめておく。
isEnemyAlive みたいに変数名は長くなってもいいから一目で分かるものにする。
ex=cnt みたいな短い変数名はループ内とかごく狭い範囲でのみ使ってもいい。
というか命名規則みたいなものは考えておく。

あとは適度にコメント残しておくだけで、
大体どこ見ても何が書いてあるかすぐ分かると思う。

それからゲーム作る時はなにげにグローバル変数的なものが多くなる気がする。
モジュール使うといちいち@つけないといけなくなるし、
@つけ忘れると思わぬ値が0化されちゃっててハマったりする。
とはいえ変数が局所化されるのもメリットではあるし。
モジュール化必須の場合もあるけど、そうでないこともあるんで
ケースバイケースで使いやすいよう、見やすいように書いていく。
918名前は開発中のものです。:2009/10/27(火) 00:45:47 ID:SjmyMyap
いや、全く同意見
919名前は開発中のものです。:2009/10/27(火) 11:06:11 ID:gRuCafW6
>>917
ためになりましたありがとう
920名前は開発中のものです。:2009/11/03(火) 22:30:42 ID:gRfbM0pd
質問です

人対PCのボードゲームを作っていますが
HSPでグラフィックをやって
思考エンジンはC言語で書いてます

人が画面上で一手打つとその着手の情報(1バイト程度)をC言語のプログラムに送り
それに応じて思考エンジンから次の着手の情報を(やはり1バイト程度)をHSPに送り返したいのです

たった一バイト程度のやり取りをできるだけ簡単にすませたいのですが
お勧めの方法があれば教えていただけませんか

ちなみにC言語はある程度知識がありますがHSPはまったくの初心者で
dllとか関係ありそうだけど難しそうだなあ、と感じている程度です(偏見かもしれませんが)
921名前は開発中のものです。:2009/11/03(火) 23:10:33 ID:BXMzSu0G
>>920
#cfunc
ではない?
922名前は開発中のものです。:2009/11/04(水) 03:30:03 ID:OwYnTVlG
>>921
ありがとうございます
cfuncをググッて見ましたがdllと関係しているようで
今のところどうも理解できません
苦手意識が強すぎますか

dllでなくスタティックテキストでやる方法はありませんかね
noteloadあたりを使えばできるのかなと思うのですが

923名前は開発中のものです。:2009/11/04(水) 14:58:59 ID:OMvkAZ1I
>>922
ざっとググってみたけど、dll作るの別に難しくないっぽいよ。
あとは#uselibでdll呼び出して、#cfuncで関数登録するだけじゃん。

あと、特にメモリノートパッド命令を使う必要がなければ、bloadしてpeek,poke等で処理したほうが圧倒的に速い。

というか、プログラム二つ同時に走らせるのか?
924名前は開発中のものです。:2009/11/04(水) 18:50:31 ID:OwYnTVlG
>>923
ありがとうございます
bloadしてpeek,poke等でやるほうが簡単そうですかね

その場合○○○.txtを同じディレクトリに作っておいて
HSP 側ではpeek,poke
C言語側ではfopenしてfgetc,fputcを使うことで
双方からの書き込みと読み込みができるという考えで基本はいいのでしょうか


>プログラム二つ同時に走らせるのか?
HSP 側からexecを使ってC言語のプログラムを開こうと思っています
925名前は開発中のものです。:2009/11/04(水) 21:41:35 ID:OMvkAZ1I
>>924
バイナリデータをテキストファイルで出力したりしない。
一時ファイルは.tempとかじゃなかったかな。

二つ走らせると、同期取ったり終了メッセージ送ったりと1バイトじゃ済まないと思うよ。
下手したらAPI呼ぶ必要があるかも。

かえって面倒臭くね?
926名前は開発中のものです。:2009/11/04(水) 21:47:33 ID:Zv2PCDlD
>>925
別に拡張子を何にしようと自由だろ
まあ.txtで中身がバイナリデータってなんか気持ち悪いけどw
927名前は開発中のものです。:2009/11/05(木) 00:37:59 ID:xpaglZhF
相互通信に通常のファイルを使うのは悪手だと思う。
WM_USERやソケット使ったほうが素直じゃないか?
パイプやメモリマップドファイルでもいいけど若干面倒。
928名前は開発中のものです。:2009/11/05(木) 04:45:04 ID:YcD+3f9i
>>925-927

なるほどテキストファイルにする必要はないのですね
.txtしか扱ったことがなかったものでそうするもんだと思ってました

ググッたらlpeek、lpoke、なるものを使えば4バイトまで送受信できるみたいなので
なんとかなると思いたいのですが、、、、

それでどうにもならないなら>>927さんの言う方法を取るべきなのでしょうが
まだ使われた用語がまったく理解できていません
勉強が必要だと思います
ググッてもなかなかhspとC言語プログラムを並走させたサンプルファイルが見当たらないので難しいです

hspはグラフィックはとても楽で気に入り始めたんですが、データのやり取りは大変なんですかね
素直にDXライブラリでも使ったほうがよかったのかな
929名前は開発中のものです。:2009/11/05(木) 21:50:06 ID:GrhkyP0L
つクリップボード
930名前は開発中のものです。:2009/11/08(日) 04:04:23 ID:gssM4f4Z
HSPで通信対戦の3D武器格闘を作りたいのですが、できますか?
キャラクター同士が遠方から弾丸を打ち合い、時々近づいて
剣で斬りあうような物を想定しています。通信を可能にするプラグイン
として次のようなものがありました。

O2 System、
pcbnet2、
gDP、

pcbnet2で通信ロボット格闘を作った人をネットで見かけましたが、通信が不安定という
事で、辞めてしまった人がいました。やはりHSPで3D格闘は無理なのでしょうか?

成功例を見たことがありません。

931名前は開発中のものです。:2009/11/08(日) 11:42:37 ID:Ltxrvshl
あなたが一番目の成功例になるべきだ!
932名前は開発中のものです。:2009/11/08(日) 14:09:06 ID:PgPmnRRP
HSPだからというよりはリアルタイムネットワーク対戦格闘ゲーム自体が難しい
LAN内ならともかくインターネット越しだと通信遅延を考慮した設計しないと
933名前は開発中のものです。:2009/11/08(日) 20:00:26 ID:w/ECjo55
コンテストでネット対戦実装してる人多いけど
みんなかなり凄かったんだな
934名前は開発中のものです。:2009/11/10(火) 02:07:52 ID:Q9++lDAn
>>930
や、やめてねーよ><
935930:2009/11/10(火) 03:41:19 ID:+PPe6Flj
>>934

失礼しました。
確かにネットでロボット格闘を製作されていた方は製作を続けていました。
ネット対戦部分だけを凍結されているだけだったようです。
936名前は開発中のものです。:2009/11/10(火) 10:43:10 ID:X2fXcmds
wwww
937名前は開発中のものです。:2009/11/21(土) 23:55:57 ID:CpvOk4km
ゲーム作るとき、一番最初のメインはどこにすべき?タイトル?
そこからgotoでゲームの処理ラベルに飛ばすべき?
938名前は開発中のものです。:2009/11/22(日) 01:41:03 ID:5iX+pY4D
結論出てるじゃないですかぁ〜?
939名前は開発中のものです。:2009/11/23(月) 21:22:07 ID:IiZX1H9P
アクション系でSetTimer、KillTimerを多用してgosubして描画とかしようと思っているんですが
特に問題ないですよね?
940名前は開発中のものです。:2009/11/24(火) 01:43:08 ID:7JsgpZlT
最近のパソコンを対象にするなら、あまり気にしなくていいし、
少しくらい古いのでも描画そのもの以外はたいしてネックにならない。
逆にいうと描画部分は他と比べて圧倒的に負荷が大きいんで、まずはそこに留意。
画面何枚か重ねたりするとすぐ厳しくなるから、それなりに調整や工夫は必要。
941名前は開発中のものです。:2009/11/24(火) 21:30:50 ID:v3W0pb8U
SetTimerって数十ミリ秒の精度しかないからアクション性の高いゲームだと辛くないか?
942名前は開発中のものです。:2009/11/29(日) 20:49:19 ID:n8ky1vhW
画面を何枚か重ねるって時代なのか
家のパソじゃ動かないだろな
943名前は開発中のものです。:2009/11/30(月) 00:59:39 ID:asjjSAHM
TK-80とか使ってるって?
944名前は開発中のものです。:2009/12/12(土) 22:49:13 ID:kKlh1ECO
ついにHSP本スレは立たなくなったのか
945名前は開発中のものです。:2009/12/15(火) 13:54:17 ID:o/N1zu7A
>>941
進研模試でいうとfjがおよそ偏差値45、民放地上波は約40、
ニュース速報+は35程度を対象にしています。
946名前は開発中のものです。:2010/01/16(土) 20:46:02 ID:PbRHMQ21
ウンコブリブリ
947名前は開発中のものです。:2010/01/18(月) 22:53:06 ID:EgqVpQsE
実行中のAXファイルのパスを知りたいのですが・・・
948名前は開発中のものです。:2010/01/18(月) 23:08:18 ID:SFCpSZ9t
何のために
949947:2010/01/19(火) 22:00:11 ID:iLKnSPMj
ストレートなやり方がないのなら、ないと書いてほしいんですが・・・
950名前は開発中のものです。:2010/01/19(火) 23:16:02 ID:bIkXClT+
なくもない
951名前は開発中のものです。:2010/01/26(火) 23:27:58 ID:17mnB4Ee
ABCDE = "ZZZZZ"
#packopt name ABCDE

でexe自動作成すると
ABCDE.exe
になってしまうのですが出来ないのでしょうか?
952名前は開発中のものです。:2010/01/27(水) 04:04:33 ID:tvc/61W0
>951

できません。
#pack命令では変数を使えないとマニュアルに書いてあります。

#packopt name ZZZZZ
と書くしかないと思います。
953951:2010/01/27(水) 22:15:30 ID:osHympd8
>>952
レスありがとうございました。
う〜ん残念。
954名前は開発中のものです。:2010/03/20(土) 00:14:11 ID:CElBeO+E
age
955名前は開発中のものです。:2010/03/20(土) 02:17:21 ID:6XKsNboh
モジュール変数内のモジュール変数の各要素を直接参照することはやっぱりできないんですかね


hoge.cnt@module みたいにするとダメみたいです
やっぱりイチイチ参照用の関数書かなきゃいけないのか・・・
956名前は開発中のものです。:2010/03/20(土) 04:23:06 ID:fPpZVU2O
957名前は開発中のものです。:2010/03/22(月) 02:40:31 ID:ElhQZOme
>>955
> モジュール変数内のモジュール変数の各要素を直接参照することはやっぱりできないんですかね
> hoge.cnt@module みたいにするとダメみたいです

なぜそれでイケると思ったのかわからないけど、上記のことをするための文法がないからね。

モジュール側で、要素変数 _x の内容をゲットするための x@module みたいな名前の
関数(#modcfunc)を作っといてそれを呼び出すしかないと思う。名前を工夫すればかなり
短く書けるのでは? それでも x@module(modvar) とかの長さになっちゃうけど。
958名前は開発中のものです。:2010/03/23(火) 10:20:46 ID:cCG/RKLH
>>956
それもダメっぽいんですが

>>957
やはりそうするしかないのでしょうか。
今RPGっぽいゲームを作っていて、
Playerモジュールのmodinit時にItem_Backpack(道具袋)モジュールなどをnewmodしているのですが、
こういうのはMain関数なりなんなりで独立してnewmodするのが普通なんでしょうか。
上記のようなおそらく1つしか生成されないモジュール変数ならともかく、
例えばEnemy_Controlモジュール内にEnemyモジュールなんかを複数生成する場合もあると思うんですが、
やはりモジュールはMain関数やメインループで全て宣言しておいたほうがいいんでしょうか。
あと、例えばPlayerモジュールとEnemyモジュールって似通ったパラメータが多いので
いわゆるクラスの継承みたいなことを簡単にやれる方法はないものでしょうか。
C++とかはよくわからない(&画像とかを表示する方法が不明)なのでHSPを使っておりますので、
C++やれ 的なお答えはご容赦いただけるとありがたいです。
959名前は開発中のものです。:2010/03/23(火) 12:15:06 ID:pbbLHlvN
>>958
モジュール名と変数名合ってる?

#module もじゅーる
#deffunc だいにゅう
へんすう=1,2,3,4,5,6
return
#global
だいにゅう
repeat 6
mes へんすう@もじゅーる.cnt
loop
960957:2010/03/23(火) 15:43:48 ID:yEWpRNqM
>>959
単なるモジュール内変数の話じゃないと思いますよ。

#module もじゅーる x

のxとかのことです。ここに書いた変数はソース上では一つでも、実行時にはnewmodする度に
別のものが新しく作られます。C++で言うクラスとインスタンスみたいなもの。HSPではインスタンス
を入れとく(参照する)ためのものが「モジュール変数」。
961名前は開発中のものです。:2010/03/23(火) 16:08:30 ID:cCG/RKLH
>>959
ええと、自分が質問しているのはこういう奴です

#module b_mod prm
#modinit
repeat 10
prm=cnt
loop
#return
#global

//メイン関数
newmod b,b_mod

;mes str([email protected]) ;←エラーになります
mes str(prm.5@b) ;←エラーになります
962名前は開発中のものです。:2010/03/23(火) 16:09:52 ID:cCG/RKLH
ちょっと修正

#module b_mod prm
#modinit
repeat 10
prm.cnt=cnt ;←修正前 prm=cnt
loop
#return
#global

//メイン関数
newmod b,b_mod

;mes str([email protected]) ;←エラーになります
mes str(prm.5@b) ;←エラーになります
963957:2010/03/23(火) 16:18:13 ID:yEWpRNqM
>>958
> あと、例えばPlayerモジュールとEnemyモジュールって似通ったパラメータが多いので
> いわゆるクラスの継承みたいなことを簡単にやれる方法はないものでしょうか。

機能としては用意されてなかった気がする。PlayerモジュールとEnemyモジュールの共通
部分をCharacterモジュールとして分離してそれをnewmodしたものを持つようにするとか。


あとモジュールAをnewmodしてその中でモジュールBをnewmodしたりするのは大丈夫だと思う。
自分もやってるので。
964名前は開発中のものです。:2010/03/23(火) 16:19:29 ID:cCG/RKLH
あと、それに関連してメイン関数から直接各モジュール変数の要素であるモジュール変数の要素を
参照する記述方法ってないですよね。
今やってるのは
#module a_mod aaa
#modinit
aaa=rnd(5)
return
#modcfunc get_aaa
return aaa
#global

#module b_mod prm
#modinit
repeat 10
newmod prm,a_mod
loop
return
#modcfunc b_get_aaa int prmnum
return get_aaa(prm.prmnum)
#global

//メイン関数
randomize
newmod b,b_mod

mes b_get_aaa(b@,rnd(10)) ;←こんな感じなんですけど

もっとスマートな方法はありませんでしょうか
個人的には
[email protected]@b こんな感じで参照できれば一番いいのですが

965名前は開発中のものです。:2010/03/23(火) 16:21:30 ID:cCG/RKLH
>>963
やはりないですか。ありがとうございます。
>>964みたいな手間がかかるので、なるべくモジュール変数内にモジュール変数は持たせたくないのですが、悩みどころですね
966名前は開発中のものです。:2010/03/23(火) 21:54:01 ID:HLaza1I9
そもそも外部から参照しないのがモジュール化というものではないのか?
967名前は開発中のものです。:2010/03/24(水) 00:23:00 ID:z1PJdIgF
そうだね。マニュアルにも命令・関数経由でしかアクセスできないって書いてあるしね。
968名前は開発中のものです。:2010/03/24(水) 00:43:48 ID:5p860eMx
そうはいっても参照したいじゃないですか
それとも各モジュールごとに描画機能持たせるとかするべきなのかなー
969959:2010/03/24(水) 03:16:35 ID:50GIZoHj
勘違いしてたのか。話をややこしくしてすまん。
970名前は開発中のものです。:2010/04/04(日) 10:44:36 ID:hFzrHQaf
モジュール内のローカル変数っていじったあとにまた呼び出したときはゴミ
が残ったままですよね??
971名前は開発中のものです。:2010/04/05(月) 13:26:19 ID:dc21abzx
HSPの場合、モジュール内にただ書いただけの変数はローカル変数じゃないよ。
モジュール外と同じくグローバル変数。モジュールの内と外で同じ名前を使っても
別物として扱ってくれるというだけ。(Cのstatic変数みたいな感じ?)

HSPでローカル変数を使いたい場合は、#deffunc(およびその他同種の命令)の行で
引数に続けて(コンマで区切る)、local hogeなどと書いて明示する必要がある。
local指定した変数は定義した命令や関数が呼ばれる度に0で初期化される仕様だった
と思う。
972名前は開発中のものです。:2010/04/07(水) 04:20:31 ID:Vkp0Vww4
メモ帳
973名前は開発中のものです。:2010/04/07(水) 17:53:40 ID:D+VTneAi
>971
サンキュ
HSPは明示する必要があるんだね
漏れLGP使っているのだけど実験してみたら呼び出す度に初期化されてるわ
974名前は開発中のものです。:2010/04/14(水) 00:49:41 ID:4hYcAHwt
mmload と mmplayを使ったんだけど
wavサイズの大きさでpackできないというか、ならなくなったりするんだけど、
これはどういう仕様?
音も一音ずつしかならないと書いてあったけど、
大と小で別れて鳴る。メモリに2MB云々とはあったけど、これが関係しているの?

あとHSPスレってなくなったの?
975名前は開発中のものです。:2010/04/14(水) 02:57:58 ID:JWB/HSeQ
2MB以上になるとファイルから直接読もうとするため、
パックファイルやmemfileから再生出来ない。

hsprtをバイナリエディタで書き換えてやれば再生可能にはなる。
#80 84 1E 00 → #FF FF FF FF
976名前は開発中のものです。:2010/04/14(水) 22:56:39 ID:4hYcAHwt
>975
レスアリガトン。ただ初心者過ぎてバイナリとかワカラン。スマン。
とりあえず仕様ということで納得いたしました。

button gosub "おわり",*a
*a
mmload "a.wav",0,2
mmplay 0
end

こんな感じでボタンを押した時に音声を再生して終了するボタンを作ったんだけど、
音声が再生している間にもう一回押すと、また再生されて・・・
となってクリックし続けると終了しないことになるんだけど、
これはボタンの仕様ということでいいの?
間にclsはさめばボタン押せなくなるから大丈夫なのは試したけれども。
977名前は開発中のものです。:2010/04/15(木) 00:06:58 ID:O9nNp6dD
仕様だろうね。
ボタン無効化するならobjenableで。
978名前は開発中のものです。:2010/04/15(木) 21:12:30 ID:8aCh/XTj
>977
トン。そして3.1の俺に死角はなかった。
objenableおぼえときます。
979名前は開発中のものです。:2010/05/08(土) 13:24:04 ID:M7sC6Jrf
HSPではクラス作れないからオブジェクト指向言語ではないというのは本当か?
HSPにはコレクションフレームワークがないというのは本当か?
HSPにはリスト、ハッシュマップ、キュー、スタック、セット、イテレータが存在しないというのは本当か?
HSPにはJava Generics、C++ templateに相当するものは存在しないのか?
HSPにはprivate、protectedといったアクセス権を設定することはできないのか?
HSPではグローバル変数を禁止することはできないのか?
HSPには例外処理が存在しないのか?
HSPではクラスが作れないなら、かわりにPerlやJavaSctiptのように擬似的なオブジェクト指向を
 実践することはできないのか?
HSPにはJavaのpackageやC++のnamespaceのような概念はないのか?
HSPをケースセンシティブにすることはできないのか?
HSPではメソッド(関数)のパラメータや特定の型のオブジェクト、変数に特定の型の代入を禁止することはできないのか?
HSPでオブジェクト指向を実践できないなら、Gang of Fourのようなデザインパターンを実践することもHSPでは不可能なのか?
980名前は開発中のものです。:2010/05/08(土) 16:00:52 ID:+UfE91ZV
>>979
そういう事自体が目的なら無理にHSPを使う必要が無いので悩むだけ無駄
981名前は開発中のものです。
さんざん言われてきた事だけど
「ちょとしたことが手軽にできる」のが売りの言語に、意図と違うものを求められてもな。

ウィンドウを表示し背景色を赤から青へグラデーションさせるスクリプトを30秒で書け。
HSPならコピペすら使わず簡単なこの程度の要求を満たせないから、
C++やJAVAはHSPより生産性の劣る言語だ、とも言えてしまうのでは?