過去ログ


[500]レス
Sinagawa
2005/02/08 00:28:17

>あおぽんさん
考えられる原因としては突然タイマー精度が落ちるか、あるいは気づかないうちに無駄な処理が
大量に実行されているかじゃないかと思うのですが、ちょっとよく分からないです。

>たかのんさん
現状ですとes_boxfは画面モードに色を合わせるために行われる、一般に劇遅といわれるVRAMへの
読み込みに時間を取られるのですが、es_fillだとそれが無くなるため確実に速くなります。


[499]es_fillはどうなんでしょう?
たかのん
2005/02/07 23:58:23

そういうことであれば大人しく0.16が出るまで待ちますか・・・。
ちなみにマニュアルを改めて読んだらes_fillは速度的に優位とありましたが
実際のところはどうなんでしょうか?


[498]FPSについて
あおぽん
2005/02/07 22:25:24

大体30程度を保っているのが、
突如14に落ち込んで、処理が遅くなります。



[497]es_cls
Sinagawa
2005/02/07 01:09:54

ベンチマークを取ってみたところ、フルスクリーンでは大差ないですがウィンドウモードだと
それだけで1〜2ms時間を取られてしまうようです。
なので、es_clsは初期化後のサーフェスクリアに2回実行して、後は状況に応じて使い分けるのが
よいと思います。
ただ、次のバージョンではes_boxf共々高速化されるので特に気にしなくてもよくなるはずです。
#参考までに、Direct3Dスプライト描画の見直しを含め約2倍(当社比)高速に動作しています。


[496]ガーン、es_clsって遅かったのか・・・
たかのん
2005/02/06 15:08:21

画面クリアのためにメインルーチン内で毎回es_clsしてました・・・ぁぅ。
黒(≠0,0,0)でベタ塗りした画像をes_copyのがいいってことですかね?


[495]Re:処理速度
Sinagawa
2005/02/06 01:21:58

>特に処理速度の遅い命令はありますか?
HSPDXFIXの話だと思いますが、頻繁に実行されるような部分で使わない方がよいのは
es_boxf命令と、内部でes_boxfを呼び出しているes_cls、es_mes&fmes命令、それからes_xfer命令で
Direct3Dバッファとやりとりする場合当たりでしょうか、挙げるとすれば。

>あとFPSが安定しないのですが、
処理自体は間に合っていると仮定して、もしawaitでタイミングを取っているのなら
es_syncでタイミングを取るようにした方がウェイトは安定します。


[494]処理速度
あおぽん
2005/02/03 18:30:05

特に処理速度の遅い命令はありますか?
あとFPSが安定しないのですが、
非常に抽象的ですみません


[493](無題)
水砂
2005/02/03 14:08:37

遅レスですが
一度新しいDLLのほうを使用して、スクリプトも重要な部分だけ
動作チェックで不具合が出ないように構文しなおしてみます
ダメだったら0.15でやってみますね

忙しい中、色々とありがとうございました


[492]レス
Sinagawa
2005/02/02 15:16:47

>書き忘れてしまった要望なんですが、
>es_find命令にもes_exnewのように検索開始、終了値
>増分を指定できるようにできないでしょうか?
(そろそろできるうちにやっておかないと忘れそうなので)実装しました。
次のバージョンでサポートされます。


[491]Re:Re:報告
O2K
2005/02/01 20:24:18

レスありがとうございました。

書き忘れてしまった要望なんですが、
es_find命令にもes_exnewのように検索開始、終了値
増分を指定できるようにできないでしょうか?


[490]Re:報告
Sinagawa
2005/02/01 10:02:45

>es_fill、es_boxf命令において初期化した画面サイズを
>超える範囲で描画を行うと命令が反映されません。
>例えば640×480で初期化した場合、es_boxf 0,0,640,480
>とすると画面に反映されません。
es_fillとes_boxfはクリッピングがないことと、Ver 0.15beta5以前ではそのように
指定すると(0,0)-(639,479)に描画されていたのを(0,0)-(640,480)に描画するように
変更したために起きたものです。
次のバージョンでクリッピングするようにしておきます。

>es_size命令でヒットチェック領域を設定すると画像の左上
>から領域が設定されます。
>例えばサイズ100×100、チェック領域50%とすると
>(0,0)-(50,50)という範囲の当たり判定になってしまいます。
回転を考慮しない場合の当たり判定の計算式に誤りがありました。
次のバージョンで修正しておきます。

>es_syncの第2引数を1にしても環境によっては反映されない
>ことがあるようです。
Ver 0.14まではVSYNCを待たない場合、es_xferに相当する方法で画像を転送していましたが、
beta1以降はFlipにVSYNCを待たないようにパラメータを渡して行っています。
この方法だとグラフィックボードによっては正常に動作しないようです。
以前の方法と選択できるようにしておきます。


[489]報告
O2K
2005/02/01 00:09:27

はじめまして。
hspdxfix重宝させていただいています。

いくつかバグ?らしきものがあったので報告させていただきます。

 es_fill、es_boxf命令において初期化した画面サイズを
 超える範囲で描画を行うと命令が反映されません。
 例えば640×480で初期化した場合、es_boxf 0,0,640,480
 とすると画面に反映されません。beta3までは正常に動作
 していましたが、beta5(beta4では試していません)から
 このような状態になってます。

 es_size命令でヒットチェック領域を設定すると画像の左上
 から領域が設定されます。
 例えばサイズ100×100、チェック領域50%とすると
 (0,0)-(50,50)という範囲の当たり判定になってしまいます。
 これもbeta5からでして、beta3ではこのようにすれば
 (25,25)-(75,75)という範囲になっていたと思います。

 これは以前[469]で取り上げられていたのと関係するのですが
 es_syncの第2引数を1にしても環境によっては反映されない
 ことがあるようです。(hsp2.66に同梱されていたhspdxでは
 このようなことはありませんでした。)
 [469]でes_sync 17,1でfpsが61になることがあるというのは
 第2引数が反映されず且つモニターのリフレッシュレートが
 60Hzになってるためと思われます。
 
長文失礼しました。


[488]Re: レス
hira
2005/01/30 17:40:43

>> ・es_buffer命令の第三引数(透明色の指定)
> 既知問題となっています。
失礼しました…。

>> ・HSPDX.HSを入れたら、helpman.exeで強制終了
> mkindexでインデックスの再作成をしないといけません
申し訳ありません。再作成していませんでした…
再作成したところ、HSP HELP Browserで正常に使えました。

>> es_xfer XXX,-1が動かない
> 多くのグラフィックボードが画面バッファからオフスクリーンバッファへの
> 透過コピーをサポートしていないようです。
おっしゃる通り、「gmode 0」を入れてみたところ、動作しました。

色々と失礼しました。


[487]レス(2/2)
Sinagawa
2005/01/30 13:22:40

(続き)

>そして要望なのですが、es_draw命令で、描画先IDを指定できるようには
>なりませんでしょうか。
少し調べてみますが、現状ではDirect3Dが描画先を変更できないためにほぼ
意味をなさないため、サポートする予定はありません。

es_xferが動かない件は、自分もK-sさんのレスを見るまで忘れていたのですが、
多くのグラフィックボードが画面バッファからオフスクリーンバッファへの
透過コピーをサポートしていないようです。そのため、「gmode 0」を入れれば
動作するようになるかと思います。
(これまでes_xfer関係の質問に対しグラフィックボード依存の問題と決めつけて
いましたが、こちらの確認漏れでした。すみません。それから、情報提供ありがとう
ございます>K-sさん)

なお、これについては次のバージョンで指定しなくてもよいように変更する
つもりです。

>まいざーさん
Ver 0.15に同梱のサンプルや#481で掲示したスクリプトと比べて明らかに
動作が遅いため、最初HELで動いているのではないかと思ったのですが、調べた
ところVRAMに取られたバッファに画像が格納されていることからそうではない
ようで、なぜこのスクリプトに限ってそのような現象が起こるのか現在のところ
はっきりとした原因は分かっていません。


[486]レス(1/2)
Sinagawa
2005/01/30 13:22:14

>水砂さん
検証結果の報告ありがとうございます。
パラメータの違う部分についてはいずれも内部では使用されていない部分ですので、
これについては動作に影響を及ぼしている可能性は低いと思われます。

ダンプされたパラメータは正常に表示されているスプライトNo.0(レーザー)の
もので、スクリーンショットで確認できるサイズや角度の間違ったスプライトの
パラメータは(確認をとるのは大変手間がかかりますが)おそらく正常な値を保持
していないと思います。

>本日別PCで製作中のものを動作確認してきました。
>グラフィックオンボードPCでの動作:正常動作確認
>RADEONシリーズPCでの動作:正常動作確認
>でした
>この結果から、私のPC環境依存の可能性が出てきました
以前にも特定の環境下でes_draw実行時に強制終了する旨の報告を頂いたことが
あるのですが(参照:#409〜413)、どうもHSP2.61+HSPDXFIX0.15beta3以降の組み
合わせはメモリ周りがシビアになる傾向にあるのかもしれません。

>hiraさん
>・es_buffer命令の第三引数(透明色の指定)で、ウィンドウモードの時のみ
> $RRGGBBではなく$BBGGRRの順で指定しないと上手くいかない。
> (フルスクリーンモードでは$RRGGBB指定で上手くいく。)
> また、環境によってはウィンドウモードで$BBGGRRと指定しても上手くいかない
> こともあるようです。
24bit以上の時にピクセルフォーマットの違いを無視しているせいで、
es_bufferには言及していませんが一応既知問題となっています。

>・HSPDXFIX_beta5同梱のHSPDX.HSを入れたら、helpman.exeで強制終了されるように
> なってしまいました。
こちらでは正常に使えていますので、原因は分かりません。基本的にヘルプを
差し替えたときはmkindexでインデックスの再作成をしないといけませんが、
そちらは行っていますでしょうか。
ただ、かなり前からhs_write.exeを使って編集しようとすると強制終了したので、
ひょっとしたら壊れているのかもしれませんが。

参考までに、こちらではHSP HELP MANAGER FX(http://sprocket.babyblue.jp/
注:現在はHSP HELP Browserに変わっている模様)を使っています。

(容量制限に引っかかったので残りは次に)


[485]es_xferの件について
K-s
2005/01/29 20:33:34

あれからいろいろ実験してみたところ、
「"gmode 0"で、コピーサイズ384x384以下」で正常に動作しました。
お騒がせしてすいませんでした。


[484]Direct3D描画で
まいざー
2005/01/29 20:12:16

某匿名掲示板とのマルチポストですがどうかお許しください。

DirectX系のHSPプラグインでどれを選ぼうかと検証しておりまして、
複数のプラグインで同じような処理をさせて、速度を計ってみたのですが
HSPDXFIXに関して「Direct3D使用時だけ」落ち込みが極端に激しく、
(DirectDrawは非常に高速でした)3Dに強いビデオカードを使用した
環境でも、著しく速度が落ちてしまいました。

個人的には、機能が揃っていて使いやすいHSPDXFIXを使いたいと
思っているので、単純にスクリプトに問題があるのか、若しくは設定
しだいで普通に動くかもと思い、こちらに投稿させて頂きました。

以下がスクリプトです。「hspdxfix3D.as」が該当ファイルです。
描画面積にかかわらずスプライトが増えると極端に遅くなるので
何か私の間違いな気がします。
http://pegmyzer.hp.infoseek.co.jp/dxtest.zip


[483]バグ?&要望
hira
2005/01/29 19:53:35

こんにちは。いつもお世話になっています。
今回はバグのようなものを2つと、要望を1つ、書き込ませていただきます。

・es_buffer命令の第三引数(透明色の指定)で、ウィンドウモードの時のみ
 $RRGGBBではなく$BBGGRRの順で指定しないと上手くいかない。
 (フルスクリーンモードでは$RRGGBB指定で上手くいく。)
 また、環境によってはウィンドウモードで$BBGGRRと指定しても上手くいかない
 こともあるようです。
・HSPDXFIX_beta5同梱のHSPDX.HSを入れたら、helpman.exeで強制終了されるように
 なってしまいました。

そして要望なのですが、es_draw命令で、描画先IDを指定できるようには
なりませんでしょうか。
描画先IDが指定できない現状ですと例えば、スプライトを描画する320*240の
画面を2倍に引き伸ばして640*480で表示する、ということをするには、
es_xfer -1,XXX を使ってオフスクリーンに移した後、es_zoomで2倍にして戻す、
とするしかないようですが、es_xfer -1,XXX が環境によって使用できない場合が
あるということで(私の環境でも使用できません)、これが実現できません。

それでは、もしお時間があれば、是非検討していただきたいと思います。
長文失礼しました。


[482]検証結果
水砂
2005/01/28 20:41:33

検証結果報告します
本日別PCで製作中のものを動作確認してきました。
グラフィックオンボードPCでの動作:正常動作確認
RADEONシリーズPCでの動作:正常動作確認
でした
この結果から、私のPC環境依存の可能性が出てきました

>大部分が表示されていないのが気になるものの、表示されている画像についてはサイズや角度のみが異常で
>位置は正常に見えるところからパラメータが壊れているのではないかと思います。
es_iniの周の精度をいじると、見えていなかった部分の画像がやはり歪んで出てきました
表示はちゃんとされているようです
たしかに角度が異常のようですね…

わざわざ検証用にサンプルを出していただきありがとうございます
クリッピングあり、なしの検証の結果
>実行すると青い機体(自機)と赤い機体2機が表示され、1機はレーザーを出しながら反時計回りに回転、
>もう1機が自機の方向を向いて時計回りに回転しながら弾をばらまく様子が表示されれば正常です。
の通りに動作しました。
しかし、スクリーンショットを見るとわかりますが、弾が崩れていたり
クリッピングなしの状態時赤透過の場所に自機を持っていっても透過されていません
また、いくつかのパラメータが違っているようです
http://qurival.hp.infoseek.co.jp/pc/kensyo.jpg(クリッピングあり
http://qurival.hp.infoseek.co.jp/pc/kensyo2.jpg(クリッピングなし


[481]レス
Sinagawa
(http://www.diveto.net/zero/junk/rolltest.lzh) 2005/01/28 13:04:15

>水砂さん
スクリーンショットを拝見しました。
大部分が表示されていないのが気になるものの、表示されている画像についてはサイズや角度のみが異常で
位置は正常に見えるところからパラメータが壊れているのではないかと思います。

でもこれだけでは確証が取れないので、beta4配布時に同梱したサンプルに少し手を加えたものを
用意しました(上記リンク)。
実行すると青い機体(自機)と赤い機体2機が表示され、1機はレーザーを出しながら反時計回りに回転、
もう1機が自機の方向を向いて時計回りに回転しながら弾をばらまく様子が表示されれば正常です。
このサンプルでは文字以外の画像すべてをDirect3Dで描画しています。
正常に動いている状態のスクリーンショットはこちらです。
http://www.diveto.net/zero/junk/rolltest_clipped.jpg (クリッピングあり)
http://www.diveto.net/zero/junk/rolltest_unclipped.jpg (クリッピングなし)
また、画面の左右にはスプライトパラメータのダンプが表示されていますが、このうち常に変動するのは
11,12,29の3つのみで、その他のパラメータについてはスクリーンショットと同じ値が出るはずです。
試しにこれを実行してみて、結果を教えてください。

本当は過去バージョンのHSPDXFIXもあるとよかったのですが、あいにく手元にはありませんし、
Webアーカイブには放置期間中のサイトしか保存されていなかったので・・・。

>ふと思ったのですが、回転等の機能を使う場合は縦横サイズを同じにしなければならないといった制約はあるのでしょうか
上記サンプルでは縦長の画像を回転していますし、過去のバージョンで同梱したサンプルについても
HSP本体に同梱のhspdx.bmp(640×480)を使用し、問題が発生していませんのでそのような
制約はないはずです。


[480]レスどうもです
水砂
2005/01/28 04:15:46

>ビューポートの設定に失敗するのはクリッピング領域(es_windowやes_clip)が画面外に及んでいるのが
>主な原因ですが、その当たりは問題ないでしょうか。
当方0.15のヘルプだったためes_clipを見落としていたようです、というわけで実験。
es_windowの次にes_clipを追加してみました
es_window 0,0,640,480:es_clip 0,0,640,480
最初はこれでやってみましたが、記述の無かった時と動作が同じでした
そこで気付いたのが0ピクセルからということ…orz↓を試しにやってみました
es_window 0,0,639,479:es_clip 0,0,639,479
実行してみると、背景として登録してあるスプライトが正常に動作しました
デバッグのビューポートの問題もきれいさっぱりなくなっていました
しかし、それ以外のスプライトはまだひしゃげたり、回転していたりと様々です

ふと思ったのですが、回転等の機能を使う場合は縦横サイズを同じにしなければならないといった制約はあるのでしょうか
もしそうだとしたらひしゃげているものは当てはまります、縦横サイズは同じではありません
ただ、今の所そういった機能はほとんど使用してないため(使っても半透明合成)使用されている部分は少ないです

>できればで結構ですので、参考のためにスクリーンショットを見せていただけるとありがたいです。

SSのURLはここに置いておきます
http://qurival.hp.infoseek.co.jp/pc/ijou.jpg(beta5,beta6でも同様でした)
http://qurival.hp.infoseek.co.jp/pc/seijou.jpg(0.15)

なにかトンチンカンなことをしてそうで怖いのでビシっと言ってやってくださると助かります
使用されている命令はes_clip以外は0.15の命令のみです
ちなみにグラフィックがGforceなので既知の問題もちゃんと発現しております
長文失礼しました


[479]レス
Sinagawa
2005/01/27 23:17:09

>水砂さん
レス遅れてすみません。
ビューポートの設定に失敗するのはクリッピング領域(es_windowやes_clip)が画面外に及んでいるのが
主な原因ですが、その当たりは問題ないでしょうか。
その他の不具合に関してですが、何かまずいことになっているのは確かなようですが
原因などはちょっと分かりかねます。
できればで結構ですので、参考のためにスクリーンショットを見せていただけるとありがたいです。


[478](無題)
水砂
2005/01/25 20:36:14

お初です。
現在hspdxfixを使わせてもらっています。
そこで相談なんですが、バージョン0.15でRPGを製作中
新機能を試そうとbeta5を導入し、実行してみたのですが
それまでに配置されていたスプライトがバラバラに表示されてしまいました。
具体的に言うと、一つ一つが様々な方向(一定方向?)に回転してしまい
描画のされていない真っ黒な背景が見える状態になるということです。
beta5までに更新された追加部分で、なにか設定方法が変わって
このような状態になっているのかもしれないのですが
原因がわからないためお知恵を貸していただきたいです。

Direct3D描画を使用しています。
debug.txtで目立った部分ですが
DDSetViewPort : ビューポートの設定に失敗
という文章が何十行も出ています。
時間が経つとHSPが強制終了します。

現在は問題なく動作する0.15で作業を進めていますが
回転関係の機能が少々必要になるかもしれないため書き込みしました。
結局はそのまま作ってしまうか、最初から作り直せばいいのでしょうけどね…
それでは、どうかよろしくお願いします。


[477]レス
Sinagawa
2005/01/24 00:11:58

>>-2は各種描画命令の描画対象になる方のバッファを指します。
>このバッファをこちら側から指定して、オフスクリーンバッファにコピーするというこはできないのでしょうか。
あくまでもes_xfer命令はDirectX専用に用意されたバッファ同士で画像をやりとりするための
ものですので、例えばHSPのバッファなどとやりとりしたい場合はes_getbuf命令とes_buffer命令を
組み合わせるしかないです。


[476]Re:レス
K-s
2005/01/23 21:00:59

レスありがとうございます。
グラフィックボード固有の問題は辛いですが、別の方法を探ってみようと思います。

>-2は各種描画命令の描画対象になる方のバッファを指します。
このバッファをこちら側から指定して、オフスクリーンバッファにコピーするというこはできないのでしょうか。


[475]レス
Sinagawa
2005/01/22 21:42:36

>HSPDXFIX0.15beta5のes_expat命令を、一箇所だけ既存のex_pat命令と
>置き換えて試してみたのですが、実行時に
>「問題が発生したため、hsp2.exeを終了します。この問題をMicrosoftに〜」の
>エラーが出てしまい、正常に使用することができません。
すみません。パラメータを正しく渡していなかったために正常に動作していませんでした。
HSPDXFIX.ASの最終行を
#define es_expat(%1,%2,%3,%4,%5) es_pat %1,%3,%4,%5,%2
に変更すると正しく動くようになります。

>また、プログラムを実行すると"DEBUG.TXT"というファイルが出力されるのは
>仕様でしょうか。
ベータリリース限定でおおざっぱな実行ログをはき出すようにしていますが、もはやベータリリースを
続ける意味がなくなったため、次のバージョン当たりでベータそのものを廃止するつもりです。


[474]es_expat命令でエラー
hira
2005/01/22 19:33:41

HSPDXFIX0.15beta5のes_expat命令を、一箇所だけ既存のex_pat命令と
置き換えて試してみたのですが、実行時に
「問題が発生したため、hsp2.exeを終了します。この問題をMicrosoftに〜」の
エラーが出てしまい、正常に使用することができません。
パラメータの順序と、省略をしていないことは確認しました。
何か、この命令を使用する上での注意事項などがありますでしょうか。

また、プログラムを実行すると"DEBUG.TXT"というファイルが出力されるのは
仕様でしょうか。


[473]レス
Sinagawa
2005/01/21 02:40:17

>そにっくさん
>HSPDXFIXのウィンドウモードで、es_sync 17,1とした時、
>処理落ちなしで58FPSになるPCと61FPSになるPCの二つに分かれます。
>調べたPC7台のうち2台が61FPSになりました。
>この現象はどういう理由が考えられるでしょうか。
1000(ms)÷61(FPS)≒16.3934(ms)ですので、なぜか16msのウェイトが発生しているフレームが
存在することになります。ただ、いくらSleepの精度が環境によってまちまちだからといって
本来の値を下回ることがあるのかはわかりませんが。

>ゆうきさん
Direct3Dのクリッピングにバグがあり、表示エリアやクリッピング領域を画面中央からずらして
設定すると、カメラ位置が固定されているために表示ずれが生じるようです。
次のバージョンで修正しておきます。


[472](無題)
そにっく
2005/01/20 20:26:47

横レス失礼します。
ゆうきさんのまとめられたページにあるソースを実行して試したんですが、
es_windowのほうに原因があるようです。es_offsetを外してもずれたままでした。
es_windowで指定するエリアを画面内でセンタリングするとズレないようです。
ちょっとよく分かりませんが。


[471]スプライトずれる現象
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2005/01/20 13:09:38

報告です。
オフセットを設定した場合3DエフェクトをONにしたスプライトが
何故か左にズレてしまいます。
DirectDrawだと問題ないです。

ここにまとめました。
http://ww22.tiki.ne.jp/~y-shirakawa/hspdx/


[470]Re:スプライトの描画順序
hira
2005/01/20 10:06:38

> 自分でやってみずに言うのもなんですが、スプライトの重なり方は描画順序に
> よるのですか?私は、スプライト番号のみによるのだと思っていました。
> すみません。HSPが使える環境に行き次第、試してみたいと思います。
やってみました。スプライトの重なり方は、描画順序によるのですね…
ということは、スプライト番号が重なり方に影響するのは、スプライトを
一気に描画したときのみということですね。
失礼いたしました。


[469]es_sync
そにっく
2005/01/20 01:57:20

HSPDXFIXのウィンドウモードで、es_sync 17,1とした時、
処理落ちなしで58FPSになるPCと61FPSになるPCの二つに分かれます。
調べたPC7台のうち2台が61FPSになりました。
この現象はどういう理由が考えられるでしょうか。

61FPSになったほうのPCは2台とも若干古いんですが
(AthlonTB1Ghz/Windows2000/GeForce2MXとCeleron750MHz/WindowsXPhome/SiS630)
基本的には構成はバラバラで共通点は殆どありません。


[468]Re:レス
hira
2005/01/19 18:15:07

>現状で無理矢理優先順位の変更をしたい場合、スプライトをすべて一気に描画せずに
>優先順位の低いものから順番に単体で描画していく方法があります。
自分でやってみずに言うのもなんですが、スプライトの重なり方は描画順序に
よるのですか?私は、スプライト番号のみによるのだと思っていました。
すみません。HSPが使える環境に行き次第、試してみたいと思います。


[467]レス
Sinagawa
2005/01/19 15:33:33

>HSPDXFIXを使って2DのRPG(ツクール風の画面)を作ろうとした時、
>重なり合ったスプライトのうち、手前のスプライトを手前に表示する手段は、
>・毎フレーム、各スプライトのY座標を降順にソートし、
> その順番に従ってes_setでスプライト番号を設定し直す。
>という方法しかありませんよね?(あまり自身がないのですが…)
現状で無理矢理優先順位の変更をしたい場合、スプライトをすべて一気に描画せずに優先順位の
低いものから順番に単体で描画していく方法があります。

スプライトの優先順位の実装自体は難しくないです。クイックソートならそれほど速度低下も気に
ならないはずなので一度実装してみます。


[466]要望
hira
2005/01/18 16:52:16

HSPDXFIXを使って2DのRPG(ツクール風の画面)を作ろうとした時、
重なり合ったスプライトのうち、手前のスプライトを手前に表示する手段は、
・毎フレーム、各スプライトのY座標を降順にソートし、
 その順番に従ってes_setでスプライト番号を設定し直す。
という方法しかありませんよね?(あまり自身がないのですが…)

これを実際にやってみたのですが↓、
ttp://www015.upp.so-net.ne.jp/hira/comsen/software/ARPGmaker_test.zip
es_set時にスプライトのアニメーションが止まってしまう等の問題があり、
あまり上手くありません。

そこで、HSPDXFIXに、自動で手前のスプライトを手前に表示してくれる
機能が追加されると、非常に有用なのではないかなぁと思いました。
(ちなみにDelphiの何かの機能では、これを"Zレイヤ機能"と呼ぶそうです。)

もし可能でしたら、是非とも検討してみていただきたいと思います。


[465]レス
Sinagawa
2005/01/18 10:49:14

>K-sさん
>最近になって初めてes_xferという命令を使ってみたのですが、
>第2パラメータ(転送元ID)に-1か-2を指定して実行すると「解釈できないHSPコードです」と怒られてしまいます。
es_xfer命令はDirectDrawが吐いたエラーをそのままHSPへエラーとして返していますので、
グラフィックボードが画面イメージからの転送をサポートしていないとそのようなエラーが出ます。

>あと、-1は表示中、-2は描画中の画面イメージとのことですが、違いがよく分かりません。
画面イメージとはDirectXが作成した専用のバッファのことで、HSPDXFIXでは画面のちらつきを
防止するためにそれを2つ用意します。-1はそのうちモニタに表示されている方、-2は各種描画命令の
描画対象になる方のバッファを指します。

>Jinさん
http://quasiquote.org/hspwiki/HSPHelp:dd_accept より、
>D&Dされたファイル名は"\n"で区切られています(D&Dされたファイルが1つの場合でも)。 1つのファイル名を取り出したいときはノートパッド命令を使うと便利です。
とありますので、メモリノートパッドを使ってファイル名を取り出しましょう。
strlenとstrmidを使って末尾の改行を取り除くという手もありますが、複数のファイルを
D&Dされるとバグの元になるのでやめた方がよいです。


[464]dd_acceptについて
Jin
2005/01/16 23:55:08

前回はどうもお世話になりました。
またまたド素人な疑問で申し訳ないのですが、
dd_acceptでファイルのパスを取得したのとき、
パスの最後が改行されていて、このままショートカットを作成しようとすると
うまくいかないのですが、何かいい解決法はないでしょうか?
よろしくお願いします。


[463]es_xferについて
K-s
2005/01/16 21:54:59

はじめまして。DirectXを使ったSTGを作りたくて半年程前からHSPDXFIXを使わせてもらっています。
最近になって初めてes_xferという命令を使ってみたのですが、
第2パラメータ(転送元ID)に-1か-2を指定して実行すると「解釈できないHSPコードです」と怒られてしまいます。
第1には-1、-2ともに大丈夫でしたし、第2も0以上なら問題なく実行できたのですが。
ver0.14と0.15beta4で確認しました。HSPは2.61です。
あと、-1は表示中、-2は描画中の画面イメージとのことですが、違いがよく分かりません。
半透明や回転などのエフェクトが可能になったので、
なんとかスクリーン上のイメージをバッファにコピーしていろいろしたいのですが。


[462]Re:最新版info number
そにっく
2005/01/15 14:24:58

info numberありがとうございました。
使わせていただきます。


[461]Re:DirectX版gsel
hira
2005/01/15 13:22:44

ご回答、ありがとうございます。そのような事情があったのですね。

バッファIDを指定することができると、ある形式の画像素材から
必要な部分のみオフスクリーンに切り出しておき、後からスプライト登録を
一括して行う、というようなことができるので、ありがたいです。
それでは、後はよろしくお願いいたします。

>調べてみましたが、以前はパラメータ数に制限があったためにこのような制限を
>設けてあったのだと思います。
>バッファIDを指定するように拡張するのは簡単にできますので、
>es_patにパラメータを追加する形で対応させていただきます。


[460]Re:DirectX版gsel
Sinagawa
2005/01/15 12:33:29

>HSPDXFIXにはgsel命令にあたるものが無く、画像読み込みと
>キャラクタパターン登録の処理を分けたい場合に不便を感じて
>います。画像読み込みとパターン登録は常に同時におこなう
>べきだということなのでしょうか。
調べてみましたが、以前はパラメータ数に制限があったためにこのような制限を
設けてあったのだと思います。
バッファIDを指定するように拡張するのは簡単にできますので、es_patにパラメータを追加する形で対応させていただきます。


[459]DirectX版gsel
hira
2005/01/14 17:23:16

はじめまして。日頃よりHSPDXFIXをありがたく使わせていただいています。
今回は、ひとつ質問させていただきたいと思います。

es_pat命令でキャラクタパターンを登録する際には、
直前にes_bufferで確保したオフスクリーンバッファから
画像を切り取ってくる、という仕様になっているようですが、
これを任意のオフスクリーンバッファから取ってくることは
できませんでしょうか。
HSPDXFIXにはgsel命令にあたるものが無く、画像読み込みと
キャラクタパターン登録の処理を分けたい場合に不便を感じて
います。画像読み込みとパターン登録は常に同時におこなう
べきだということなのでしょうか。


[458]最新版info number
Sinagawa
2005/01/12 00:22:06

次バージョンのマニュアルに書くのでわざわざここに書かなくてもいいかもしれませんが、
一応調査結果を貼っておきます。

   0 = flag値
   3 = スプライトのX座標
   5 = スプライトのY座標
   7 = 1フレームに移動する距離X
   9 = 1フレームに移動する距離Y
.  10 = プログレスカウント値(未使用)
.  11 = アニメーションカウント値
.  12 = キャラクタNo.
.  13 = type値
14,15 = 特殊動作情報(未使用)
.  16 = 自由落下加速度X
.  17 = 自由落下加速度Y
.  18 = 弾みやすさ
.  19 = バウンドフラグ
.  20 = 点滅フラグ
22,23 = 点滅カウント値
.  24 = Direct3D使用フラグ
.  25 = 表示Xサイズ
.  26 = 表示Yサイズ
.  27 = X軸回転角
.  28 = Y軸回転角
.  29 = Z軸回転角
.  30 = ブレンドファクター
.  31 = α値
.  32 = 点滅用スプライト表示フラグ
34,35 = ライト値

補足かつ蛇足:これらは符号付き16bit(-32768〜32767)で返ってくるため、
32bitパラメータを取得する際はそのまま使うとえらいことになりますので注意。
フラグ、点滅カウント、ライトがこれに当たります。


[457](無題)
そにっく
2005/01/08 03:38:06

>Sinagawaさん
>マニュアルには記載されていませんが取得可能です。時間があるときに確認しておきますが、
>23〜24あたりに情報が格納されているはずです。
分かりました、ありがとうございます。とりあえず自分でも探してみます。

>これに関して自ら問題に遭遇したこともあり導入の手間を省く意味で今後しばらくはVC++6で
>コンパイルしたものを提供する予定です。よって、必要なしになります。
わかりました。即レスありがとうございました。

>ゆうきさん
>スプライトをセットするときに、配列か何かにキャラクタのサイズを記憶してみてはいかがでしょうか?私はそうしています。
実は現状私もそうやっています。HSPでいたずらに変数を増やしたくないなと思ったので
私のわがままで書いてしまいました。でも既にあるようなので試してみたいと思います。


[456]レス
Sinagawa
2005/01/08 00:18:58

>そにっくさん
>es_getでスプライトに定義されているキャラクタのx,yサイズが取得できるように
>なりませんでしょうか。もしくはそれを取得できる命令というのは可能でしょうか。
es_get命令は単にスプライト情報用のメモリを抜き出しているだけなので、スプライトの表示サイズでよければ
マニュアルには記載されていませんが取得可能です。時間があるときに確認しておきますが、
23〜24あたりに情報が格納されているはずです。

>ところで今後のバージョンアップ版もMSVCR71.DLLが必要になるのでしょうか。
今回はいろいろあってVC.netでコンパイルしたものをそのままアップしましたが、
これに関して自ら問題に遭遇したこともあり導入の手間を省く意味で今後しばらくはVC++6で
コンパイルしたものを提供する予定です。よって、必要なしになります。


[455](無題)
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2005/01/07 23:08:21

>そにっくさん
スプライトをセットするときに、配列か何かにキャラクタのサイズを記憶してみてはいかがでしょうか?私はそうしています。

>ユウマさん
こちらも、セットするときに初期移動量を保持しておくと可能です。

思い切ってスプライトの数だけいろいろな配列を
用意しておくのが手っ取り早いと思います。


[454]es_getで
そにっく
2005/01/07 17:16:09

es_getでスプライトに定義されているキャラクタのx,yサイズが取得できるように
なりませんでしょうか。もしくはそれを取得できる命令というのは可能でしょうか。
スプライト表示時のオフセット量を算出するのに使用したいと思うのですが。

ところで今後のバージョンアップ版もMSVCR71.DLLが必要になるのでしょうか。
できれば無くても動くほうが嬉しいのですが…。


[453]スプライト移動再開
ユウマ
2005/01/07 16:38:41

スプライト移動停止
は何とかできましたが、また移動再開がうまくできません。
一度停止してしまうと、昔の移動量がわからなくなるので、、、
es_getとes_aposを組み合わせても、、、


[452]スプライト移動停止
ユウマ
2005/01/07 15:58:10

移動しているスプライトの停止。
            es_get mx,MySp,3
            es_get my,MySp,5
            es_pos MySp,mx,my
ですとうまくいきません。どうすればよいですか


[451]バッファの初期化
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2005/01/07 00:09:22

>管理人様
グラフィックボードの問題ですか・・・。
コンフィグで色々設定できるように設計したいと思います。
回答ありがとうございました。


[450]スプライトの非表示
ひろっち
2005/01/05 07:04:09

透明色のキャラクタで非表示にできました。
ありがとうございました。


[449]レス
Sinagawa
2005/01/05 03:51:55

最近のHSPDXFIXって「gsel 0」なくても普通に動くんですね。

>aaaさん
前にも書きましたが仕様の見直し時には考えさせていただきますが、申し訳ないですけど
現状では実装予定なしということで。

>MSHYさん
beta4はVC.netでコンパイルしたものをアップしましたので、フレームワークが必要となります。
もしHSPは動くけどHSPDXFIXは使えないという場合はWINDOWS\SYSTEM32ディレクトリにMSVCR71.DLLが
入っているか確かめてみてください。
#余談ですが、以前Win98SE上でVC.net版HSPDXFIXが動かないと書いたことがあるのですが、これが原因でした。

>ひろっちさん
すでにレスがありますが、見た目だけ消したいのであればes_flagやes_blinkの点滅カウントを利用するか
全透明のキャラクタに変更することで実現できます。
ちなみに、以前#413でも書いたのですがes_flagの8bit目($100)は現状ではスプライト生存確認用の
フラグとしてしか機能していませんのでご注意を。

>ゆうきさん
es_sync後に両バッファの内容をスクリーンショットとして保存してみましたが問題ありませんでした。
例によってグラフィックボード固有の問題だと思います。


[448]遅れましたが
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2005/01/05 00:14:39

>管理人様
個人的な意見にも関わらず、es_move命令の実装をしてくれてありがとうございます。
ところで、質問があります。
es_syncを行うと、表示用オフスクリーンバッファの内容が破壊(初期化?)されるのは仕様でしょうか?
バッファ間画像コピー(例えばsync後にes_xfer -2,-1,0,0,640,480)で代用は出来ますが、負担の問題もありまして・・・。
出来ればバッファの内容を保持してほしいと思っています。
(実はes_move実装をお願いした理由と関連した要望なのです・・・)

>ひろっちさん
「スプライトの非表示」というのが、どういうものなのか良く分かりませんが、
完全にスプライトを削除するのであればes_kill命令です。
一時的に画面から見えないようにするという意味のものであれば、es_flagの8bit目で設定できると思います。
もしくは、透過色のパターンのキャラクタに変える等の、多少強引な考え方もあります。

>aaaさん
毎フレーム座標を調べて指定した座標に到達したら、es_apos 0,0,0
で問題ないと思いますが・・・。


[447]スプライト非表示
ひろっち
2005/01/04 20:58:42

今グラディウスのオプションを作っていますが
スプライトを非表示はできないんでしょうか?


[446]MSVCR71.dll
MSHY
2005/01/03 23:23:04

HSPDXFIX Ver0.15beta4を使用しようとしたのですが
MSVCR71.dllが見つかりませんと表示されてしまいます。
以前のバージョンでもこのdllって必須でしたでしょうか?


[445]Re:es_aim
aaa
2005/01/03 11:51:53

とまるようにするのは難しいですか。


[444]Re:es_aim
Sinagawa
2005/01/03 00:37:22

>目的地に行っても動き続けるものなのですか?
はい。方向を決めるための目的点を指定するものですので。


[443]es_aim
aaa
2005/01/02 13:39:00

目的地に行っても動き続けるものなのですか?

[442]レス
Sinagawa
2004/12/31 23:03:48

>あとはHSPDX.ASをcommonにいれればいいんですよね?
はい。圧縮ファイルの中に入っているのは「HSPDXFIX.AS」ですので、まちがえて
「HSPDX.HS(ヘルプ)」をcommonディレクトリに入れないようにしてください。


[441](無題)
MAN
2004/12/31 20:09:53

解凍したファイルの中にはHSPDX.DLLはありませんでしたが
HSPDXFIX.DLLというのはありました。
あとはHSPDX.ASをcommonにいれればいいんですよね?


[440]レス
葦田ひろかず
2004/12/30 19:14:38

>MANさん
おそらく全てのファイル表示を行っていないからだと思います。
マイコンピュータ、もしくはエクスプローラを立ち上げたら
メニューの「ツール」-「フォルダオプション」-「表示」で
「ファイルとフォルダの表示」-「すべてのファイルとフォルダを表示する」に
チェックを入れます。
 もうひとつ、「登録されているファイルの拡張子は表示しない」にチェックが入っていたら、
チェックを外します。
これで見えるはずです。
 どのフォルダにどのファイルを入れるのかは、解凍したファイル「HSPDXFIX.TXT」を
読めば分かります。


[439](無題)
MAN
2004/12/30 14:06:10

HSPDXFIXをこちらのページから落したんですが、
導入の仕方がわかりません。
落したのを解凍したんですが、HSPDX.DLLというのが見つかりませんでした。
このファイルをここにいれるなど詳しく教えていただけないでしょうか?


[438]Re:レス
ととむ
2004/12/28 20:23:38

返信ありがとうございました。

[437]わかりました
そにっく
2004/12/25 07:32:23

他のPCで試したところ確かに問題ありませんでした。
理由はわかりませんが私の環境だけのようです。
お騒がせしました。


[436]なるほど。
TKS
2004/12/23 16:22:11

>環境依存の問題なのかもしれません。
なるほど了解です。
ありがとうございました!


[435]レス
Sinagawa
(http://www.diveto.net/zero/junk/skingrad.png) 2004/12/23 12:24:28

>TKSさん
実際に指定された条件で画像を表示してみたのですが、元画像通りに表示されました(上記リンク参照)。
ここではes_copyを使いましたが、根本的な部分は同じなのでスプライトだとどうということはないはずですし、
es_excopyを使った場合も問題はありませんでした。
24bit以上の時はいっさいの減色を行わずそのまま転送されますので、環境依存の問題なのかもしれません。

>そにっくさん
HSPDXFIX同梱のTEST5D3D.ASで確認しましたが、こちらもうちの環境では問題ありませんでした。


[434]拡大縮小について
そにっく
2004/12/23 04:43:34

わかりました。すばやい返答ありがとうございました。

ところでもうひとつ質問なのですが、こちらの環境でDirect3Dを使用した
スプライトを表示したとき、最初の表示のときだけ一瞬処理落ちしたように
なるのですが、これはうちの環境だけでしょうか?
こちらの環境は
WinXP PRO、RADEON9600XT、DirectX9.0cです。


[433]マウス操作について
Jin
2004/12/23 02:22:51

回答どうもありがとうございます!!
llmod.asとinput.asのインクルードをしていなかったためのエラーでした。
無事解決することが出来ました。
初歩的な質問に丁寧にお答えいただき大変ありがとうございました。


[432]色のこと
TKS
2004/12/23 01:19:09

こんばんは。HSPDXFIX Ver 0.15beta3を使わせてもらっているTKSです。

es_screenで32bitの画面モードを使い、es_clsは微妙な色変化が見られるのですが、
スプライトについては、es_clsのような微妙な色変化が見られませんでした。
・スプライトで肌色→白のグラデーションの画像を描画させてみると、ほとんど白っぽい感じでした。
・ちなみに肌色はHSVで30,64,255です。

VRAMイメージ転送時に減色されているのでしょうか?


[431]レス
Sinagawa
2004/12/22 11:53:29

>フルスクリーンモード使用時にbgscrやscreenを使うことはできませんか?
>使うことができないなら、その理由は画面出力方式が違うから、ですか?
はい。フルスクリーンモード時はDirectXが画面をすべて占拠しますので、その状態でウィンドウなどを
作っても表示させることはできません。


[430]DirectXについて
ととむ
2004/12/21 19:04:38

Sinagawaさんのサンプルスクリプトを参考にフルスクリーンモードでbgscrを使ったり、gselを使って切り替えようとしましたが上手くいきません。
次の疑問点にご指導をお願いします。
質問@
フルスクリーンモード使用時にbgscrやscreenを使うことはできませんか?
使うことができないなら、その理由は画面出力方式が違うから、ですか?


[429]レス
Sinagawa
2004/12/21 12:46:25

>Jinさん
すいません、書き込み見落としてました。
どこでエラーが出てうまく動かないのかよくわからないのであれですが、llmod.asとinput.asは
インクルードしてますでしょうか。この2つをインクルードしないとmouse_eventは使えないようですが。

>そにっくさん
現段階では旧バージョンとの兼ね合いもあって座標と表示サイズを元に表示座標を補正するしか方法はないです。
ただ、今後のバージョンアップで仕様の見直しを検討しようと思っていますのでその当たり視野に入れておきます。


[428]拡大縮小について
そにっく
2004/12/21 06:17:38

はじめまして、そにっくと申します。
HSPDXFIXを使わせていただいています。
大変役に立っております。

ちょっと気になったことがあるのですが、スプライトの拡大縮小を
行うとき、左上の原点を基準に行われる仕様になっているようですが、
回転しながら拡大といったことをしたい場合、回転はスプライトの中央を
基準に行われるようなので、大きさを変えるごとに座標をオフセット
したりして、少々ややこしくなっています。

拡大縮小もスプライト座標の中心を基準に出来ないものでしょうか。


[427]Re:Re:DirectX使用時について
ととむ
2004/12/20 23:58:24

>一応参考までにこのやり方で作った簡単なサンプルをおいておきます。
サンプルスクリプトまでありがとうございます。今からすぐに組み込んでみます。

Sinagawaさんのサンプルスクリプトを見てから、胸のドキドキが止まりません。
どうしてなのかうまく言えません。でも、
自分が表現したいもの、やりたいことを形にしたいという抑えきれない衝動に駆られています。
言葉が見つからないから、今夜はこの辺で。


[426]Re:DirectX使用時について
Sinagawa
(http://www.diveto.net/zero/junk/message.as) 2004/12/20 17:31:13

>質問@
>DirectX使用時(ループ処理もしています)にinput命令は使えますか?
一応使えなくはないですが、パレットモードだと色化けが発生したり、es_syncを実行すると
メッセージボックスが消えたりしますので、フルスクリーンモードだと扱いが難しいです。
また、正式に対応しているわけはないので、使えないと思った方がよいでしょう。

>質問A
>DirectX使用時に、自分で入力した文字を画面に表示するために何か方法はありませんか?
もっとも簡単な方法はHSPDXをウィンドウモードで動作させ、別IDのウィンドウにメッセージボックスを表示して
そこからの入力を拾ってDirectX側のウィンドウに反映させることですが、このやり方では
日本語入力で問題が起こったりするのであまりいい方法ではありません。
一応参考までにこのやり方で作った簡単なサンプルをおいておきます。


[425]DirectX使用時について
ととむ
2004/12/19 18:02:11

HSP板の過去ログを読んでいたら、DirectXについてはSinagawaさんに聞け、という格言を見つけてしまいました。
そこで、DirectXのいろいろな問題のご指導をお願いします。
質問@
DirectX使用時(ループ処理もしています)にinput命令は使えますか?
質問A
DirectX使用時に、自分で入力した文字を画面に表示するために何か方法はありませんか?


[424]質問です
Jin
2004/12/19 17:07:12

初めまして!!
つい最近プログラミングに興味を持ちHSPを始めてみたんですが、
なぜかマウス操作(mouse_event)を使うとエラーがでてしまってうまくいきません;;
具体的には、
ボタンを押す→マウス移動→マウスクリック
という流れのものを作りたいのですが・・・。
ものすごく初級な質問なんですが、何かアドバイスをいただければ幸いです。
よろしくお願いします。


[423]レス
Sinagawa
2004/12/17 23:48:23

>マニュアルにある、一つのバッファにDirectDrawとDirect3Dで使用する画像を共存させない方が
>速度面で有利になります。は、たとえばes_copyとes_excopyのバッファは同じNoではない方が良い、
>で解釈は正しいですか?
はいそうです。厳密にいうと、同じにしない方がよいというより完全に分けるべきですが。


[422]6周年おめでとうございます
ととむ
2004/12/17 20:51:57

あれからずっとプログラムを弄っていて、ついさっき、ようやくsinagawaさんのレスの内容が理解できるようになりました。ご指導ありがとうございます。

マニュアルにある、一つのバッファにDirectDrawとDirect3Dで使用する画像を共存させない方が速度面で有利になります。は、たとえばes_copyとes_excopyのバッファは同じNoではない方が良い、で解釈は正しいですか?


[421]レス
Sinagawa
(http://www.diveto.net/zero/junk/offset.lzh) 2004/12/15 23:34:16

またまたレス遅れましてすいませんでした。

>症状は、表示される矩形のY座標が常に-1されているようになり、さらに
>グラフィック矩形のX座標指定が>0の時だけ、表示される矩形の座標も-1される
>という物です。

テストスクリプトを作って(上記リンク)確認したところ、Direct3D描画を使っている場合X,Y座標が
負の数になるとテクスチャが崩れるバグがあることがわかりました。
こちらは自分の環境で再現したので修正しましたが、表示位置、表示されるテクスチャともに
問題が生じなかったため、位置ずれに関しては確認できませんでした。


[420]追記
KRN☆
2004/12/13 13:19:35

この症状はes_putで描画したときは現れずに
以下のようにスプライトとして設定して描画したときに起こります。


[419]キャラクタのグラフィックについて
KRN☆
2004/12/13 13:16:05

シューティングゲームを作ろうとソースを組んで見たのですが、
キャラクタの画像を指定したところ実際にはずれて表示されてしまいます。

<これ以上はDirectX設定>
*start
hmminit 5

buffer 0,256,256 : picload "player.bmp",1 : es_buffer 0,2,0,0,1
es_size 36,48 : es_pat 0,36,0 : es_size 12,48 : es_pat 1,0,48 : es_size 16,16 : es_pat 2,180,0

ply.0 =220 : ply.1 =220
es_set 0,ply.0,ply.1,0

repeat
<描画命令>
loop
<これ以下はサブルーチン>

バッファが2の乗数で無いからかと思って一応そっちもやっては見ましたが、
同じようにグラフィックがずれて表示されます。

症状は、表示される矩形のY座標が常に-1されているようになり、さらに
グラフィック矩形のX座標指定が>0の時だけ、表示される矩形の座標も-1される
という物です。

現在はグラフィックの矩形を指定する時に1を加算した値で指定していますが、
これは私のミスなのでしょうか? それともバグなのでしょうか?


[418]6周年おめでとうございます
たかのん
2004/12/12 13:01:49

うちのサイトとほとんど同じ時期に開設だったんですね。
今後とも宜しくお願い致しますです。


[417]了解致しました
葦田ひろかず
2004/12/10 17:12:58

 レスを頂きました件について、了解いたしました。
それでは、今後とも宜しくお願い致します。


[416]補足
Sinagawa
2004/12/10 12:15:48

>次に二点目、スプライトのアニメーションはes_drawを実行した時点で行われます。
「〜実行した時点で"自動的に"行われる」ということで、つまりスプライトを一度設定したら
あとはそのままes_drawを実行すれば勝手にアニメーションが行われると言うことです。


[415]Re:HSPDXFIXの画像処理にいて
Sinagawa
2004/12/10 12:10:20

>質問@
>下のようなプログラムを組みましたが、キャラクタ・アニメーションの方法が良く分かりません。どこが間違っていますか?
>質問A
>下のプログラムは間違いながらも描写できている、という感じがしています。コマンドの書き方や使い方がおかしいところはありませんか?
まず一点目として、es_set命令を実行するとアニメーションなどの状態は初期化されます。
次に二点目、スプライトのアニメーションはes_drawを実行した時点で行われます。
以上のことから、

    ;スプライト設定
    es_set 6,440,140,6 : es_effect 6,80,80,0,0,0,ESB_ADD,128
*main
    stick ky,$1f
    if ky&$80 :end

    es_cls
    es_draw
    es_sync                ;画面更新
    await 128
    goto *main

↑このようにすればうまくいきます。また、実行順序は画面消去→計算→描画→ウェイトとした方が
表示と処理が一致するのでよいです。

>質問B
>HSPDXFIXの説明書に、一つのバッファにDirectDrawとDirect3Dで使用する画像を共存させない方が速度面で有利になります、とありますが、
>DirectXを使い始めたばかりなので、Drawと3Dの区別がうまく付きません。
>また、パレットモードの意味もよく分かりません。何か良い具体例はありませんか?
Direct3D描画=es_excopy命令での画像コピー、es_set命令でp5に1を指定した状態でのスプライト描画。
DirectDraw描画=es_copy、es_zoom命令での画像コピー、es_set命令でp5に0を指定した状態でのスプライト描画。
要するに、半透明などのエフェクトが使える描画=Direct3D、使えない描画=DirectDrawです。
また、パレットモードは、es_screen命令で8bitモードに初期化(p3=8)した状態のことです。
ウィンドウモードだと話がまた少しややこしくなるのですがとりあえず省略。


[414]HSPDXFIXの画像処理にいて
ととむ
2004/12/09 22:17:07

初めまして。
HSP掲示板でDirectX使用時の半透明処理ができるとのことで、早速DLさせていただきました。
特にスプライト関係が豊富で、できなかったことがいろいろなことができそうです。
これからも開発を頑張ってください。

ところで、HSPDXFIXを使用していて、いくつか使い方が分からない点があるため、ご指導をお願いします。

質問@
下のようなプログラムを組みましたが、キャラクタ・アニメーションの方法が良く分かりません。どこが間違っていますか?
質問A
下のプログラムは間違いながらも描写できている、という感じがしています。コマンドの書き方や使い方がおかしいところはありませんか?
質問B
HSPDXFIXの説明書に、一つのバッファにDirectDrawとDirect3Dで使用する画像を共存させない方が速度面で有利になります、とありますが、DirectXを使い始めたばかりなので、Drawと3Dの区別がうまく付きません。また、パレットモードの意味もよく分かりません。何か良い具体例はありませんか?

<プログラム>
#include "hspdxfix.as"
                            ;systemとスクリーンの初期化
    es_ini
    if stat=1 : goto *dderr1
    es_screen 640,480,32,1,0,1
    if stat=1 : goto *dderr1
    if stat=2 : goto *dderr2

    goto *start                ; 正常に完了

*dderr1
    dialog "DirectXの初期化に失敗しました。",1 :end
*dderr2
    dialog "スクリーンの初期化に失敗しました。",1 :end
*dderr3
    es_bye : dialog "VRAMの容量が不足しています。",1 :end
*start


    buffer 6,,,1 : picload "***.bmp" : es_buffer 6,2,0,0,1        ;***の画像読み込み
    if stat=1 : goto *dderr3                    ;VRAMの容量が不足している場合
    es_size 80,80 : es_pat 6,0,0,1 : es_pat 7,80,0,1 : es_pat 8,160,0,1
    es_pat 9,240,0,1 : es_pat 10,320,0,1 : es_link 10,6

    gsel 0                            ;ウインドウをアクティブに
*main
    stick ky,$1f
    if ky&$80 :end

    es_cls
    es_draw

    es_set 6,440,140,6 : es_effect 6,80,80,0,0,0,ESB_ADD,128

    es_sync                ;画面更新
    await 128
    goto *main


[413]レス
Sinagawa
2004/12/09 12:25:22

すみません、レス遅れました。

> その後、色々と試してみましたが、やはりノートPCだけ問題が発生します。
>しかも、HSP2.61とHSPDXFIX Ver0.15beta3という特定の条件下のみで発生します。
再現性がない以上断定はできませんが、メモリ回りなどハードウェアよりの問題を含め
複数の要因が絡んで発生しているのかもしれませんし、ひょっとしたら今後のバージョンアップで
直ったり再発したりするかもしれません(コンパイラの最適化でバグが発生することがあるらしいので)。

> それと、別件ですが、es_flag命令で、beta3では$500、$400どちらを指定しても
>スプライト表示ONで自由落下してしまいます。
>flag値の仕様とは違う動作ですが、これは前バージョンとの兼ね合いで
>そういった動作にしているのでしょうか?
おそらくフラグ変更を一切行っていない状態のスプライトの生存を示すためのフラグとして
用意されたもので、現状ではこのフラグをOFFにしたときにスプライトを表示しないようにしても
他の何かしらのフラグと併用しないとスプライトが消滅してしまうのでそのままにしてあります。


[412]その後
葦田ひろかず
2004/12/06 12:08:18

 その後、色々と試してみましたが、やはりノートPCだけ問題が発生します。
しかも、HSP2.61とHSPDXFIX Ver0.15beta3という特定の条件下のみで発生します。

■ノートPCでの動作
HSP2.61とHSPDXFIX Ver0.15    ・・・ 問題無し
HSP2.61とHSPDXFIX Ver0.15beta3 ・・・ 強制終了
HSP2.6とHSPDXFIX Ver0.15    ・・・ 問題無し
HSP2.6とHSPDXFIX Ver0.15beta3 ・・・ 問題無し

■デスクトップPC2台
まったく問題無し

 原因が分からないので少々気味が悪いですが、HSP2.6では問題が発生しないので、
HSP2.6を使用していきたいと思います。

 それと、別件ですが、es_flag命令で、beta3では$500、$400どちらを指定しても
スプライト表示ONで自由落下してしまいます。
flag値の仕様とは違う動作ですが、これは前バージョンとの兼ね合いで
そういった動作にしているのでしょうか?


[411]機種依存のような気がします
葦田ひろかず
2004/12/03 09:52:56

 すみません、返信が遅れました。
他のPCで試したところ、問題無く動作しました。
今のところ、デスクトップPC2台は問題無く動作し、ノートPC1台で問題が発生しています。
ノートPCは、COMPAQ evo n150、Win2000SP4、DirectX9.0cです。
ノートPCでは、Ver0.15は問題なく動作していました。
また、beta3でもHSP2.6では問題なく動作し、HSP2.61のみ問題が発生するようです。
 もう少し、色々と調べてみます。また、ご報告いたします。


[410]Re:es_drawで落ちます
Sinagawa
2004/12/01 02:03:23

>beta3を使用してみたのですが、es_drawで強制終了されてしまいます。
>使用解像度は800x600 256色、Direct3Dは使用していません。
>また、es_ini 512,1024,256、es_drawはパラメータ指定無しで使用しています。
> 強制終了は、起動直後に発生する訳では無く、数秒間正常に動作した後、
>突然、強制終了となります。
とりあえずDirect3Dを使っていないHSPのサンプルで試してみましたが問題なく動作しました。
どのようなスプライトを表示させているか、どのタイミングで落ちるかなど具体的な状況や、
以前のバージョンで発生していたかどうかなどわかりますでしょうか。


[409]es_drawで落ちます
葦田ひろかず
2004/11/30 11:24:13

 こんにちは。早速ですが質問があります。
beta3を使用してみたのですが、es_drawで強制終了されてしまいます。
使用解像度は800x600 256色、Direct3Dは使用していません。
また、es_ini 512,1024,256、es_drawはパラメータ指定無しで使用しています。
 強制終了は、起動直後に発生する訳では無く、数秒間正常に動作した後、
突然、強制終了となります。
 原因等、分かりますでしょうか?
よろしくお願いいたします。


[408]有り難うございます
葦田ひろかず
2004/11/25 09:30:45

 有り難うございます。修正を宜しくお願い致します。
自由落下移動の件についても、了解いたしました。
今後ともよろしくお願いいたします。


[407]Re:β版でうまく動作しません
Sinagawa
2004/11/24 09:34:28

>HSPDXFIX Ver0.15beta2を使用してみたのですが、強制終了されてしまいます。
>どうやらes_screenで落ちているようなのですが、原因は分かりますでしょうか?
es_d3dopt実装時の副作用でDirect3Dを使用しないと落ちてしまうようです。
次のバージョンで直しておきます。

>スプライトの自由落下移動で、画面端で跳ね返らない設定というのは出来ますでしょうか?
想定していなかったのでヘルプには書かれていませんが、es_bound命令で第3パラメータに
0を指定することで落ちっぱなしにすることができます。


[406]β版でうまく動作しません
葦田ひろかず
2004/11/23 13:51:57

 こんにちは。早速ですが質問がございます。
HSPDXFIX Ver0.15beta2を使用してみたのですが、強制終了されてしまいます。
どうやらes_screenで落ちているようなのですが、原因は分かりますでしょうか?
HSPDXFIX Ver0.15では問題なく動作します。

 今作成しているものでは、es_screen 800,600,8,0,0,0
としています。
この場合、実行して一旦画面が真っ黒になった後、プログラムが終了し
何事も無くWindow画面に戻ってしまいます。

 もう一つ、要望があるのですが、
スプライトの自由落下移動で、画面端で跳ね返らない設定というのは出来ますでしょうか?
画面端で跳ね返らず、そのまま画面外に消えていくような動作も欲しいのですが、
もし、機能追加が難しくないようであれば、実装して頂けると大変有り難いです。

 以上、よろしくお願いいたします。


[405]Re:黄色が表示されない
Sinagawa
2004/11/23 11:07:49

>どうやっても黄色近くの色が表示されません(黒色っぽい色になってしまいます)。
もしパレットモードで使用しているのであればパレットに黄色があるか確認してください。
es_bufferはデフォルトだとバッファに画像を登録した後パレットを更新しますので、その時に
黄色がない画像を転送しているかもしれません。

>あと、解像度を320*240でやっているのですが、
>この解像度だとフルカラーにしようとするとなぜかスクリーンの初期化に失敗します。
>ちなみに解像度は320*240でも大丈夫でしょうか?
お使いのグラフィックボードは320*240で16bit以上のカラーモードをサポートしていますでしょうか。
コントロールパネルからDirectXのプロパティを開き、「DirectDraw」タブをクリックすると
「Supported Modes」という項目がありますので、その中に「320x240x16」などの表示がなければ
サポートしていない画面モードに変更しようとしてエラーが出ていることになります。


[404]黄色が表示されない
トル
2004/11/22 18:39:24

はじめまして、トルと申します。
最近HSPDXを使ってゲームを作り始めたのですが、
どうやっても黄色近くの色が表示されません(黒色っぽい色になってしまいます)。
あと、解像度を320*240でやっているのですが、
この解像度だとフルカラーにしようとするとなぜかスクリーンの初期化に失敗します。
ちなみに解像度は320*240でも大丈夫でしょうか?


[403]HSP3.0のβ版がリリースされましたが
Sinagawa
2004/11/17 10:46:11

タイプ$202を使用したプラグインとの互換性がない(というか$202に対応していない)ために
現状ではHSPDXFIXをHSP3.0上で使用することができません。
もともとHSP2が小さな基盤をゴテゴテと拡張して育っていったものだと考えると
そのくらいは仕方ないかなという感じではありますが、いろいろ不明な点などがあることも含めて
いきなりシフトするのは得策ではないと判断しましたので、とりあえずこちらとしては
HSP3.0が正式リリースするかおにたまさんからアナウンスがあるか、周りの状況が変化するまでは
2.6対応でいこうと思います。というか、場合によっては存在意義を持たせるための大幅な
路線変更すら必要になる可能性もありますので・・・。


[402]レス
Sinagawa
2004/11/11 12:30:13

>es_size命令で、縦長或いは横長のスプライトを作成すると、
>表示は正常ですが当たり判定がおかしくなるようです。
確認したところ、当たり判定の計算式に誤りがありました。
次のバージョンで修正しておきます。


[401](無題)
ma
2004/11/10 18:53:23

追記です。
今まで長いスプライトにtype値を設定し、別のスプライトのNoからes_checkで衝突判定を行っていましたが
これを逆に、長いスプライトのNoから別のスプライトのtype値を検索するように衝突判定すると正常になります。

一応解決方法は見つかりましたが、これはどうなんでしょう・・・


[400]es_sizeについて
ma
2004/11/10 18:36:04

失礼致します。es_size命令で、縦長或いは横長のスプライトを作成すると、
表示は正常ですが当たり判定がおかしくなるようです。
64*64では正常なのですが、128*32にしてみるとそうなりました。
ソースを見ても、問題は無いようなのですが・・・。


[399]ありがとうございます
Y+Y=M.H
(http://www.h2.dion.ne.jp/~pk_pc) 2004/10/26 08:48:12

さっそくの返信、ありがとうございます!
es_gdi、試してみます!


[398]解決いたしました。
唯趣 漂
2004/10/24 20:24:11

すみません。
完全にこちらのミスでした。むしろ、なぜ今まで動いていたのかが分からないぐらいでした。
命令の引数が中途半端なところで終わっていたための、なんとも初歩的なミスで、よくよく確認もせずに書き込んだことを深くお詫び申し上げます。


[397]HSPDXとHSPDXFIXの相違について
唯趣 漂
2004/10/23 22:36:44


はじめまして。唯趣と申します。
この度は、半透明処理と、スプライトの回転処理などに惹かれて、HSPDXからHSPDXFIXに乗り換えさせていただきました。
その際、インクルードファイル名を"hspdxfix.as"に変更し、es_screenの引数を追加してそのままコンパイルしました。
それを実行してみたところ、途中までは正常に動作していたのですが、あるタイミングで強制終了されてしまいます。(HSPDXでは正常動作)
その辺りのプログラムを見直してみたところ、特に原因となるようなものが見つけられません。
es_check命令がそのタイミングで初めて実行されている他は、強制終了がされる前に一度は実行されています。(ひょっとしたら見落としがあるかもしれませんが・・・)

何か、原因となるような事があれば、教えていただけないでしょうか?



[396]う〜む・・・
AS
2004/10/23 19:18:47

謎ですねぇ・・・見つからないというのが。
HSP自体の.NETで開発されたDLLに対しての処理がおかしいのかなぁって思ったんですが、よくわかりませんね・・・(汗
家にもVS.NETがあれば・・・って古いのMeしかないのでこちらで調べるのも無理です・・・一応、いろいろこちらでも調べてみます。


[395]レス
Sinagawa
2004/10/22 12:23:50

>ASさん
アドバイスありがとうございます。
.NET Frameworkはインストールしてあるのですが、それでも動作しません(hspdxfix.dllが見つかりませんとエラーが出る)。
VS.NET2003でコンパイルされているHSP自体は動くので、その当たりは問題ないはずなのですが。
ただ、SP1を当ててあるにもかかわらずバージョン番号が古いままなのが気になります。
まあ差し当たりVS.NETでコンパイルしないといけないような状況でもないので、じっくりと調べていこうと思います。

>Y+Y=M.Hさん
HSPが作成したウィンドウをDirectXが横取りするような形になりますので、基本的にHSPDXFIXを使用した時点で
パレットモード云々に関係なく標準描画命令は使えなくなると思ってください。
一応、使用するにあたっていろいろ制約があっても良いのならes_gdi命令を使って標準描画命令を
使用することはできますが。


[394]HSPDXFIXのパレットモードについて
Y+Y=M.H
(http://www.h2.dion.ne.jp/~pk_pc) 2004/10/22 11:02:02

HSPDXFIXを使ってフルスクリーンにしたときに、フルカラーならgcopy等標準命令が使えますが、パレットモードならやっぱり標準命令は使えないんでしょうか?

[393]VS.NETでコンパイル
AS
2004/10/21 14:20:21

したものは.NET Frameworkが必要では?
もし、.NET Frameworkを98SEにいれてないのでしたら.NET Frameworkをいれてもう一度動作確認してみてはいかかでしょうか?


[392]レス
Sinagawa
2004/10/11 12:05:03

>どのような状態なのか文章で説明するのが難しいので、
>メールで写真を送らせていただいてよろしいでしょうか? 
はい、お願いします。


[391]es_move(仮)
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2004/10/10 23:34:57

>命令追加+フラグ追加で実装しようと思います。 
個人的なリクエストにも関わらず、すぐに取り入れてくれて本当に感謝です。
更新、楽しみに待ってます^^


[390]レスありがとうございます
TOSHI
2004/10/10 13:12:24

やっぱりこちらの環境が問題ですか。
どのような状態なのか文章で説明するのが難しいので、
メールで写真を送らせていただいてよろしいでしょうか?


[389]レス
Sinagawa
2004/10/10 12:27:20

>Direct3Dを使ってスプライトを表示するとなぜか縦長になり、
>es_sizeで指定した以上の大きさが表示されます。
おそらく環境依存の問題だと思います。こちらでは問題なく表示できているので原因はわかりません。
ところで、これは縦に拡大されたようになっている、ということでよろしいでしょうか?


[388]質問させてください
TOSHI
2004/10/10 09:31:07

はじめまして、HSPDXFIXを使わせていただいておりますTOSHIと申します。
HSPDXFIXを使うと非常にプログラムが楽になり、感謝の限りです。
ただどうしてもわからない事がありまして、質問させてください。

Direct3Dを使ってスプライトを表示するとなぜか縦長になり、
es_sizeで指定した以上の大きさが表示されます。
またDirect3Dを使用しなければ、一切問題はありません。
サンプルソースの「TEST5D3D」でも同じことが起こっておりました。

これはどのようにしたら解決するのでしょうか?
もしくはこちらの環境が原因なのでしょうか?
いろいろと試したのですが、どうしてもうまくいきませんでして、
教えてくださいますようお願い致します。





[387]有難うございます
葦田ひろかず
2004/10/09 16:56:49

>>1.スプライトの自由落下移動がうまくいきません。
>内部処理でフラグ値の解釈を間違えていました。次のバージョンで直しておきます。

 対応、有難うございます。修正をよろしくお願いいたします。

>>2.添付のHSPDXFIX.TXTにあるes_bound命令ですが、p3の記述が抜けています。
>ワンキーヘルプに記述があるにもかかわらず、なぜかテキストの方にはパラメータの説明だけ抜け落ちていました。

 説明、有難うございます。ワンキーヘルプの方は見ていませんでした。済みません。

>>3.スプライト表示エリア設定(es_window)についてですが、以前と仕様が変更に
>>なったのでしょうか?
>スプライトの表示領域を変更する命令でオフセットまで変わるのは不自然だと思ったので、
>Ver 0.14beta4で仕様を変更しました。

 仕様変更の件、了解致しました。
仕様変更による不都合は、特に無いと思います。
今作っているのも、スクリプトを若干書き換えるだけで対応できると思いますので。

 それでは、今後ともよろしくお願いいたします。


[386]レス
Sinagawa
2004/10/08 11:59:00

>葦田ひろかずさん
>1.スプライトの自由落下移動がうまくいきません。
内部処理でフラグ値の解釈を間違えていました。次のバージョンで直しておきます。
とりあえず、現バージョンでは$400を指定すればうまくいきます。

>2.添付のHSPDXFIX.TXTにあるes_bound命令ですが、p3の記述が抜けています。
ワンキーヘルプに記述があるにもかかわらず、なぜかテキストの方にはパラメータの説明だけ抜け落ちていました。
p3は画面端でバウンドを行うフラグで、1がX方向のみ、2がY方向のみ、3が両方となって
います。
このパラメータは特に必要がない限り指定する必要がないため、デフォルト値を設定するようにしておきます。

>3.スプライト表示エリア設定(es_window)についてですが、以前と仕様が変更になった
のでしょうか?
スプライトの表示領域を変更する命令でオフセットまで変わるのは不自然だと思ったので、
Ver 0.14beta4で仕様を変更しました。
更新履歴には修正と書いてありますが、この更新は独断で行ったことで、そもそもそれが実際に
不具合なのかはわかりませんので、もし不都合などありましたら以前の仕様に戻そうと思います。

こちらの不手際により、余計な混乱を招く結果となってしまったようで申し訳ございませんでした。

>ゆうきさん
>その方法ですが、個人的には汎用的な設計が出来る様、完全に分離して欲しいと思って
います。
>
>>es_draw命令に描画するだけのフラグをつけて、新たにes_move(仮)命令を実装
>そうなれば最高です^^
では、命令追加+フラグ追加で実装しようと思います。


[385]es_move(仮)
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2004/10/08 00:39:00

要望を聞いてくれて有難うございます。
その方法ですが、個人的には汎用的な設計が出来る様、完全に分離して欲しいと思っています。

>es_draw命令に描画するだけのフラグをつけて、新たにes_move(仮)命令を実装
そうなれば最高です^^
あとフラグ追加、0(両方) 1(移動のみ) 2(描画のみ)
みたいなのも、いいと思います。


[384]スプライト表示エリア設定について
葦田ひろかず
2004/10/07 15:00:31

 すみません。追加の質問です。

3.スプライト表示エリア設定(es_window)についてですが、以前と仕様が変更になった
のでしょうか?
 以前は、スプライト表示基点X座標、スプライト表示基点Y座標が
スプライトの表示座標0,0になっていたのですが・・・

 以上、よろしくお願いいたします。


[383]自由落下移動について
葦田ひろかず
2004/10/07 14:30:06

 はじめまして。HSPDXFIXのバージョンアップに大変感謝しております。
質問が2点あります。

1.スプライトの自由落下移動がうまくいきません。
es_flagのp2に$500を入れているのですが、一瞬でスプライトが消えてしまいます。
何か設定が間違っているのでしょうか?

2.添付のHSPDXFIX.TXTにあるes_bound命令ですが、p3の記述が抜けています。
その為、p3にどういう数値を入れたら良いのか分かりません。

 以上、お手数をお掛けしますが、ご確認をよろしくお願いいたします。


[382]レス
Sinagawa
2004/10/06 12:51:15

>たかのんさん
後で知ったんですが、いろんな意味で機能していなかったようです>うちのリンクページ

>ゆうきさん
>ところで要望なんですが、現時点ではes_aposやse_adir等でスプライトを自動的に動かすタイミングは
>es_drawの時だったと思います。しかし、スプライトを動かさずに描画のみしたい場合や、
>フレームスキップの設計がしたい場合、このままではやや難しい状態にあります。
>そこで、スプライトを描画する処理と、自動的に動かす処理を、どうにか分離できないかと思っています。

es_draw命令に描画するだけのフラグをつけて、新たにes_move(仮)命令を実装、と言う風でいいですかねえ?
es_draw命令にパラメータ付け足すのならスキップするフレーム数を指定するようにした方が
何となくスマートな気もしますが、どちらがよいでしょうか(一応第三者の意見歓迎)。
処理の分離自体は容易にできるはずですので、やってみようと思います。

>講座のDirectXを使おうの巻・その2についてですが。
>4【キャラクタ登録】の es_pat 命令のp2,p3は、キャラクタのサイズを
>指定するのではなくて、キャラクタパターンの左上X、Y座標を指定する
>んだったような気がします…。

確認しました。修正しておきます。


[381]こんにちわ
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2004/10/06 00:01:24

サイトの運営再開を嬉しく思ってる者の一人です。
HSPDXFIXの使い勝手が良すぎるので、次作の弾幕ゲーの描画ライブラリとして使用させていただきたいと思っています。
ところで要望なんですが、現時点ではes_aposやse_adir等でスプライトを自動的に動かすタイミングはes_drawの時だったと思います。しかし、スプライトを動かさずに描画のみしたい場合や、フレームスキップの設計がしたい場合、このままではやや難しい状態にあります。
そこで、スプライトを描画する処理と、自動的に動かす処理を、どうにか分離できないかと思っています。

・報告
講座のDirectXを使おうの巻・その2についてですが。
4【キャラクタ登録】の es_pat 命令のp2,p3は、キャラクタのサイズを
指定するのではなくて、キャラクタパターンの左上X、Y座標を指定する
んだったような気がします…。


[380]うおっ
たかのん
(http://homepage1.nifty.com/takanon/) 2004/10/05 22:38:44

リンクがトップページにきてるっ
ありがたやありがたや・・・。


[379]ありがとうございます
ひろっち
2004/09/20 12:54:36

他の場所でループして、弾とマップ判定をして改善されました。
製作続けます!


[378]有り難う御座います。
x68k
(http://www.zeroqoo.com/) 2004/09/17 19:39:57

>了解しました。次回の更新でリンクを張ります。
有り難う御座います。
こちらからは、リンク完了しました!
これからも、どうぞ宜しくお願い致します。


[377]ありがとうございます
ふじもと
2004/09/17 00:15:10

>次のバージョンで直しておきます。
ありがとうございます。
ゲームとかは作りませんが(作れない人(^^;)、HSPDXFIXって便利ですね!


[376]レス
Sinagawa
2004/09/16 14:38:05

>x68kさん
了解しました。次回の更新でリンクを張ります。

>ふじもとさん
es_effectの回転角はes_iniに依存しますが、バグで(es_iniで指定した精度/4096)周しか
回転しないようになっていました。次のバージョンで直しておきます。


[375]
ふじもと
2004/09/16 00:29:46

『回転角は一周4096度で固定』について・・・です。
誤ってEnter押してしまいました(^^;


[374]『回転角は一周4096度で固定』ni
ふじもと
2004/09/16 00:26:16

es_iniで、周の精度を4096以下にすると、スプライトが回転しないみたいです。

長くてすみませんm(_ _)m
;ここから▽
#include "hspdxfix.as"
;
es_ini 5,5,64;es_ini 5,5,4096
es_screen 640,480,32,0,0,1
if stat=1{end}:if stat=2{end}
;キャラクタの用意
buffer 3,320,128,0:picload "TESTCHR.BMP"
es_buffer 0,0,0,0,1:es_size 64,64,100,1:es_pat 0,0,64,0
;
gsel 0:es_cls:es_sync:es_set 0,2,20,0
;ループ
 repeat
 ct++
 es_effect 0,64,64,0,0,ct,-1,255
 stick ky,$1f:if ky&$80{end}
 es_cls:es_draw:es_sync:await
 loop
;ここまで△


[373]HSPDXFIX V0.15
x68k
(http://www.zeroqoo.com/) 2004/09/15 18:59:49

初めまして、
先ほど、Ver0.15をダウンロードさせて頂きました。
有り難う御座います。

あと、相互リンクして頂くことって出来ますでしょうか?


[372]レス2
Sinagawa
2004/09/14 12:30:41

今ひろっちさんのソースを読み返してたら、どうもマップチップ一つずつに対して全ての弾の
当たり判定を調べているようですが、これを弾の座標にあるマップチップを調べて判定を
取るようにすれば、ループ回数がかなり減るので改善されるんじゃないかと思います。


[371]レス
Sinagawa
2004/09/14 12:21:30

昔自分が作ったゲームで、当たり判定をrepeatとes_findで回しているところがあったので
比較してみたところ、es_findでスプライトNo.を取得するための変数と検索開始No.の変数を
別に用意していました。
4年前に作ったもので、動作確認していないので意味があってそうしたのか不明ですが、
それでうまくいくか試してみてください。


[370](無題)
ひろっち
2004/09/13 19:41:42

ミサイルは2連射 レーザーは多めです。
オプションも使うので、×4になります。
ソースはこんな感じですが・・・。
http://sak2-2.tok2.com/home/hirottig/fasu.txt 


[369]レス
Sinagawa
2004/09/13 11:29:08

>マップ判定でミサイルとレーザー、自機の弾と当たり判定したんですが
>処理落ちが出ます。マップチップと自機の弾との判定ですが。
>どうもショットするだけで、プログラム速度が遅いんです。

グラディウス風STGと言うことで、ショットは3〜4発程度と考えるとよほどマシンスペックが
低くない限りはその程度の処理でスローがかかると言うことはまずないはずです。
考えられる原因として、当たり判定を調べる際に何らかのミスで必要以上、それも
かなりの量のループが発生しているか、たとえばバッファがメインメモリに置かれるなどして
ハードウェアエミュレーションで動作しているせいで描画回りが重くなっていて、
たまたまショットを撃った時にスペックの限界に来てしまったか、そのあたりじゃないかと思います。


[368]始めまして。
ひろっち
2004/09/12 19:51:29

HSPDXFIXを使って、シューティングゲーム(グラディウスネタ)「フォース」を作っています。
マップ判定でミサイルとレーザー、自機の弾と当たり判定したんですが
処理落ちが出ます。マップチップと自機の弾との判定ですが。
どうもショットするだけで、プログラム速度が遅いんです。


[367]v0.15
たかのん
(http://homepage1.nifty.com/takanon/) 2004/09/12 14:13:34

まずはv0.15正式版リリースお疲れ様でした。
先ほどダウンロードさせて頂きリファレンスを読んでいます。

今作っているソフトの絵が8bitで網羅されてしまっているため
ひとまずは低スペック対応版としてDirect3Dの機能は使わず
完成させる予定です・・・(涙)

4年経って完成してないですからね。
いい加減どこかでケリつけないと>自分


[366]ありがとうございました
だりそう
2004/08/23 16:29:10

お陰様で解決できました。ありがとうございました。

[365]ありがとうございました
Y+Y=M.H
(http://www.h2.dion.ne.jp/~pk_pc) 2004/08/20 10:10:55

さっそくの返信、ありがとうございました

う〜ん、残念です(*o*)


[364]レス
Sinagawa
2004/08/20 00:34:08

>Y+Y=M.Hさん
>REPTOOLで調べたところ、アルファ成分をサポートしていないとなったのですが、
>コレの関係で半透明処理が使えないのでしょうか?

そうです。残念ですが、お使いのハードウェアではアルファ値が固定になるために、
ブレンドファクターによっては透過はされても透明度を変更できない状態になります。

>だりそうさん
>質問なのですが、es_adirやes_aposを使うと、
>画像描画やスプライトを使っていないのに、
>オフスクリーンバッファID0の座標0,0の32x32サイズの
>画面が表示されてしまうのですが、どうすればよいのか、教えてください。

es_bufferを実行した後に「gsel 0」が入っているかどうか確認してください。
もし、ほかの描画命令などが問題なく動いているのであれば、その現象が発生する
スクリプトを見てみないとわからないです。


[363]es_adirとes_aposについての質問
だりそう
(http://www31.ocn.ne.jp/~darisou) 2004/08/19 20:55:43

はじめまして。いつもhspdxを使わせて頂いています。
質問なのですが、es_adirやes_aposを使うと、
画像描画やスプライトを使っていないのに、
オフスクリーンバッファID0の座標0,0の32x32サイズの
画面が表示されてしまうのですが、どうすればよいのか、教えてください。
adirだと、勝手にその32x32のデータが指定した速度で動いてしまいます。
hspdxfixでも試してみたのですが、うまくいかないようなんです。


[362]REPTOOLで【アルファ成分をサポートしていない】
Y+Y=M.H
(http://www.h2.dion.ne.jp/~pk_pc) 2004/08/19 15:03:48

HSPDXFIX使わせてもらってます!
ありがとうございますm(_ _)m

とうとうHSPDXFIXでも半透明処理が使えるように・・・
と思っていたら私のパソコンじゃどうにもうまくいきません

REPTOOLで調べたところ、アルファ成分をサポートしていないとなったのですが、
コレの関係で半透明処理が使えないのでしょうか?

すみませんが、教えてください


[361]ありがとうございますー!
イナダ
(http://yamagin.hp.infoseek.co.jp/jugo3.lzh) 2004/08/14 23:58:30

>次のバージョンで直しておきます。
ありがとうございますー!
HSPDXは、本当に手軽にゲーム製作が出来るので、
キャラクターの管理とか適当にしていたので・・・。
ちなみにリンク先は、今製作中のものです。




[360]レス
Sinagawa
2004/08/13 10:24:17

>ところでes_flagでカウントダウンタイマーを設定したスプライトを消滅前にes_killで消去した場合
>再度es_newで同じナンバーのスプライトを呼び出した場合タイマーがリセットされないのですが・・・。

es_blink命令を作った時に拡張したカウンターをリセットしてませんでした。
次のバージョンで直しておきます。


[359]わー!
イナダ
(http://yamagin.hp.infoseek.co.jp/) 2004/08/13 00:52:19

beta5になって、ウチのパソコンでもテクスチャーが見えるようになりました。
これからの進化にも期待しています!

ところでes_flagでカウントダウンタイマーを設定したスプライトを消滅前にes_killで消去した場合
再度es_newで同じナンバーのスプライトを呼び出した場合タイマーがリセットされないのですが・・・。


[358](無題)
TKS
2004/08/12 15:54:59

>その当たりの実装も視野に入れておこうと思います。

本当ですかっ!ありがとうございますっ!


[357]Re:es_copy...es_boxf...es_line...?
Sinagawa
2004/08/12 09:59:55

>それで、はじめましてなのに申し訳ないのですが
>es_lineという直線を描画する命令を追加してほしいのです。
>es_boxfで斜線を表現する時に何度もes_boxfを使うと処理落ちするみたいなのです。

たぶんGDIベースでの描画(HSP標準命令とほぼ同じ)になるのでどのくらいの速度が出せるかわかりませんが
その当たりの実装も視野に入れておこうと思います。

ちなみに、es_boxfはDirectDraw描画の場合、内部でサーフェスロックしてVRAMを読みに行く(*)ため、
es_fillやes_copyに比べて処理が遅く、速度が要求される場面での使用には向いていません。
(*)簡単に言うと、ソフトウェアでVRAMを読もうとすると重い処理を行う必要があるって事です。


[356]es_copy...es_boxf...es_line...?
TKS
2004/08/11 15:45:56

はじめまして。
「おお、出来たっ!」などと色々感動しながらHSPDX使わせてもらってますー。

それで、はじめましてなのに申し訳ないのですが
es_lineという直線を描画する命令を追加してほしいのです。
es_boxfで斜線を表現する時に何度もes_boxfを使うと処理落ちするみたいなのです。

あ、使いたい理由はシューティングゲームの背景をサイバーチックなものにしたいという情けない理由なのですが(汗)
もしよろしければお願いいたします。


[355]Re:はじめまして。
Sinagawa
2004/08/11 12:45:12

>僕これからHSPをはじめようと思ってる初心者なんですが、
>OSがwindows Me(millenium edition)なんです。
>それでwindows MEでもHSPって使えますか?

WindowsMeは持っていませんが、readme.txtに「Windows95以降(98/Meなど)で動作します」
と書いてあるので問題なく動くはずです。


[354](無題)
誰でしょう
2004/08/11 12:43:38

たぶんできるかな〜?
わからん
わからんくてごめん


[353]はじめまして。
ポンタ
2004/08/11 02:22:26

僕これからHSPをはじめようと思ってる初心者なんですが、
OSがwindows Me(millenium edition)なんです。
それでwindows MEでもHSPって使えますか?
ダウンロードしようとしたら、Meの名前が入ってなかったのでどうしたもんかという
状況なんです。分かる人いたらお願いします。


[352]ありがとうございました(es_chrについて)
13th_Death
2004/08/11 00:40:17

ご指摘の通りでes_linkの指定を間違っていました。
こちらの確認ミスで質問してしまい申し訳ございませんでした。

ありがとうございました。
これからもがりがり且色々と使用させて頂きます。


[351]みなさんへ
誰でしょう
2004/08/09 20:48:29

そのほかこまったら
メルしてくれ


[350](無題)
誰でしょう
(http://www.geocities.co.jp/NeverLand/7193/) 2004/08/09 20:46:24

>374へ
それでは、当たり判定に
変数加えてgcopyのやつをかえてみれば
いいんじゃないかな?


[349]こんにちは♪
誰でしょう
(http://www.geocities.co.jp/NeverLand/7193/) 2004/08/09 19:26:49

高浜中学校の???です。
この学校ではHSPを使った
ゲームがあるんで
ダウンロードしてくだせぇ
m(。。)m


[348]Re:初めまして+es_chrについて
Sinagawa
2004/08/09 18:10:06

>es_chr命令でアニメーションしているスプライトを別のキャラクタに差し替えると
>(es_put命令で表示フレームを1以上に設定していても)アニメーションが止まってしまうのは仕様なのでしょうか?

こちらで確認した感じではes_chrでキャラクタを変更してもしっかりアニメーションが
行われていましたし、内部処理でもアニメーションを止めるようにはなっていません。
es_patやes_linkの設定に問題がないか確認してみて下さい。


[347]初めまして+es_chrについて
13th_Death
2004/08/09 04:18:33

初めまして+復帰おめでとうございます。
HSPでちまっとしたのから盛大なものまでゲーム作る際に非常に簡単便利で
感謝感激雨霰って感じで作成を楽しんでおります。

そこで1つ質問です。
シューティングを作っていてダメージで見た目が変わる
(別のキャラクタアニメーションに切り替える)様にしようとしているのですが、
es_chr命令でアニメーションしているスプライトを別のキャラクタに差し替えると
(es_put命令で表示フレームを1以上に設定していても)アニメーションが止まってしまうのは仕様なのでしょうか?

マニュアル読み落としてたらすみませんが御教示下さい。お願いします。


[346]Re:es_copyについて
Sinagawa
2004/08/06 00:06:58

>今シューティングゲームを作っていて、背景をスクロール
>させたいんですけど、pos命令で指定したところではなく、
>常に(0,0)の座標にコピーされてしまいます。

es_bufferとか使うために別のウィンドウをアクティブにしてそのままにしてあると
そうなることがあります。スクリプト中に「gsel 0」があるかどうか確認してください。


[345]es_copyについて
att
2004/08/05 13:37:47

es_copyについて質問があります。
es_copyはpos命令で指定した座標を左上として
コピーするんですよね?
今シューティングゲームを作っていて、背景をスクロール
させたいんですけど、pos命令で指定したところではなく、
常に(0,0)の座標にコピーされてしまいます。
どうしたらいいですかね?


[344]バージョン数
Sinagawa
2004/08/04 00:46:17

>hspdxfix.dllの最新の『正式版』は2002/01/05のv0.14ですよね?
>今アップデートされているものが最新の正式版になったら、
>それはv0.15になるんでしょうか?

たぶんそうなると思います。別にベータリリースの分だけ跳ね上げてもいいんですけど、
あまりバージョン数にはこだわってないんで「正式リリース一回ごとに0.01アップ」でいいかなと。


[343]b4
たかのん
(http://homepage1.nifty.com/takanon/) 2004/08/03 22:01:05

バージョンアップご苦労様です。
es_dist実装ありがとうございます。
(angに続く2つ目ですね^^;)

ところで気になってることが1つ。
hspdxfix.dllの最新の『正式版』は2002/01/05のv0.14ですよね?
今アップデートされているものが最新の正式版になったら、
それはv0.15になるんでしょうか?


[342]ありがとうございました!
スッケ
2004/07/28 23:24:59

なるほど!
おかげで続きが作れます
ありがとうございましたm(_ _)m


[341]Re:モジュールについて
Sinagawa
2004/07/28 22:26:29

>モジュールでes_boxfやes_copyを使うと『文法が違います』というエラーがでてしまいます
>モジュールでは、これらの命令は使えないのでしょうか?

モジュール内でプラグインを使う場合、その中でヘッダファイルをインクルードする必要が
あります。

#module"hoge"
    #include"hspdxfix.as"
        :
        :
#global


[340]モジュールについて
スッケ
2004/07/28 16:20:35

はじめまして。
ゲーム作りにhspdxfixを使わせてもらってます。

モジュールでes_boxfやes_copyを使うと『文法が違います』というエラーがでてしまいます
モジュールでは、これらの命令は使えないのでしょうか?
ご教示お願いします


[339]あと3つほど増やしてもいいですか(笑)
Sinagawa
2004/07/27 05:03:02

>ところで全然別方面の機能追加要望なんですが、
>2点間の距離(ピクセル数)を計測する命令って可能でしょうか?

実装自体は簡単にできますので、次のバージョンで入れようと思います。
別に戻り値は整数でも問題ないですよね? っていうかピクセルだから小数いらないか。


[338]12パラメータって何かすごい
たかのん
(http://homepage1.nifty.com/takanon/) 2004/07/27 00:31:13

beta3のデモ拝見しました。
回転してるー
半透明になるー
加算合成してるー
減算合成してるー
すげーすげー
次はスプライトに適応ですか?
くー楽しみ

ところで全然別方面の機能追加要望なんですが、
2点間の距離(ピクセル数)を計測する命令って可能でしょうか?
sin・cosとangがあるので非常に便利ではあるのですが・・・。


[337]HSPDXFIX0.14beta3のサンプルプログラム
Sinagawa
2004/07/26 23:35:35

実行してみて「クソ遅ぇー」と感じた人は51行目を
es_buffer 0,2,0,0,0
に変えてみてください。なんでこんなスクリプトで200fps切ってるんだろうと思ったら
こちらのミスで第5パラメータが抜けてました。


[336]はじめまして
イナダ
(http://yamagin.hp.infoseek.co.jp/) 2004/07/23 23:59:12

HSPDXを使って、ゲーム製作を楽しんでいます。
プログラムの知識がほとんど無くても高度な処理が使えて
本当にありがたいです。
これからの展開も期待しております。


[335]レス
Sinagawa
2004/07/22 16:39:08

>えーっと確認ですが、第3パラメーターで指定した数値が
>そのままes_adirやes_aimで使われるという理解でよろしいでしょうか?
はいそうです。
ちなみに、es_excopyの回転表示はこのパラメータに関係なく一周4096度で行こうと思ってます。


[334]な、なんだってーー?!(AA略
たかのん
(http://homepage1.nifty.com/takanon/) 2004/07/22 01:27:17

>Ver0.14で一周4096度まで使えるように対応しています。

全然気づいてませんでした^^;
えーっと確認ですが、第3パラメーターで指定した数値が
そのままes_adirやes_aimで使われるという理解でよろしいでしょうか?
es_ini ,,4096であれば、真上方向にあたるのは2048と。

2年前に実装されてたんですね・・・音速遅っ(苦笑)


[333]レス
Sinagawa
2004/07/22 01:04:08

トップページ更新後にさらに進展、ポリゴンがまともに表示されるようになりました。
次はテクスチャー。

>現在移動系の命令は64方向しか対応していません。
>ぶっちゃけ大まか過ぎるので、256方向対応の命令を追加して頂きたいです。
Ver0.14で一周4096度まで使えるように対応しています。
(es_iniの第3パラメータにある、「周の精度」なる造語っぽいやつがそうです)
現在のHSPに同梱されているHSPDXはこちらの不手際により古いバージョンのままですので、
もしそちらを使っているのであれば最新版をダウンロードして確認してください。


[332]復帰おめでとうございます!!
たかのん
(http://homepage1.nifty.com/takanon/) 2004/07/21 23:32:16

おおおおおおSinagawaさんが復活してらっしゃる!
再開おめでとうございます。
私のほうも半分眠ったような状態で、当時開発中だったものが
未だに開発中という体たらくでございまして^^;
まぁマイペースでぼちぼちいきましょう。

一つ私からの要望です。
現在移動系の命令は64方向しか対応していません。
ぶっちゃけ大まか過ぎるので、256方向対応の命令を追加して頂きたいです。
メインはes_adirとes_angですが、どうもes_aposとes_aimも強制的に64方向に変更されてるっぽく・・・。
新バージョンへの実装をご検討頂ければ幸い。
半透明・加算減算合成・回転などのDirect3D系の実装も期待しております。
それではノシ


[331]α合成についてのレス
TAK
2004/07/17 01:29:44

α合成が使えないのが唯一の不満点だったので実装予定がある様で安心しました
これからの開発にも期待していますので無理せず頑張って下さい
他の案としてはes_copy es_setの前にgmodeの様な命令で透明度、回転等を指定しておく方法もありますがSinagawaさんの方法の方が直感的に分かりやすくて良いと思います


[330]レス
Sinagawa
2004/07/17 00:48:13

皆様ご声援ありがとうございます。

>1つ質問があるのですがα合成の実装予定はないのでしょうか?
半透明処理の要望はかなり前からありますので、いい加減実装させなければと
思っていながらもまだ着手されていない状況です。ただ、内部処理が完成しても
仕様をどうするかが決まっていないため、実際に使えるようになるまでまだまだ
時間がかかると思います。
一応自分の案としては、
・半透明処理の使用はes_screenのパラメータを拡張して指定する。
 (Direct3Dでの初期化が必要なため必須)
・コピーにはes_excopy(仮)という命令を作成し、伸縮回転半透明全て一括で指定できるようにする。
・スプライトについても同様に一括指定できる命令を用意する。
というのを考えてみましたが、もし他にいい方法などありましたらご意見を下さい。


[329]初めまして
TAK
2004/07/16 22:31:20

復帰おめでとうございます
HSPDXはゲームの作成に必要なスプライトの使用や角度の計算等が簡単にでき非常に助かっています
1つ質問があるのですがα合成の実装予定はないのでしょうか?
α合成を使えばかなりエフェクトの完成度を上げられるのですが
プライグインの性質上他のプライグインを使うこともできず困っています


[328]復帰おめでとうございます
たけあ
(http://f26.aaacafe.ne.jp/~takea/index.html) 2004/07/09 00:44:57

初めまして、たけあと申します。
この度は、復帰おめでとうございます。

HSPDXFIXにはとてもお世話になっております。
本当にどうもありがとうございます。

去年初めて使用したのですが、HSPであんなに
早く描画できる事にとても驚きました。
また、動作がとても安定しており、とても信頼できるdllです。

一言お礼が言いたくて、初めて書き込み致しました。
これからのご活躍を楽しみにしております。


[327]私も
くろ
2004/07/07 16:57:01

復帰おめでとうございます。
私もDelphiなどでアプリ系のソフトを作っていたのですが
今度ゲーム製作をすることになりHSPに戻ってきました。
やっぱりHSPは楽ですし、DirectXもHSPDXで簡単に使えるので
助かります。(DelphiのDirectXで泣きそうになりました)
以前はフルカラーが使用できなかったので、少し不満があったのですが
そこも修正されたようで安心しました。
それでは、これからも頑張ってください。応援しています。


[326]復帰しました
Sinagawa
2004/06/23 02:33:26

トップページにも書きましたが、本日よりボチボチとではありますが活動を再開いたします。
長らく放置状態にあったため、ここに書き込んだりメールいただいた方には何の返信もできなくて
大変ご迷惑をおかけいたしました。
正直な話、放置期間中はプログラミングから離れていたため、HSPに関する質問をしても
極力対処しますがレスは期待できないかもしれませんので申し訳ございませんが
そのあたり了承いただきますようお願いします。


[325]sdimについて質問
土屋
2004/04/23 10:51:45

       sdim buf,1,8000
       bload "filename",buf
         :
         :
       dat=buf.0   - >バッハオーバーフローになってしまう。


[324]HSPの....
***
2004/04/03 12:26:17

http://0bbs.jp/hspbbs/
↑HSPの掲示板です。


[323]HSPDXFIXを使った処理について
SE
2004/03/02 20:59:31

初めまして、恐れ多くもプラグインの使用に関して
質問をさせていただきます。

スプライトの表示順を変えるためには、どんな使い方を
すればいいのでしょうか?
ちょっと漠然とした質問で申し訳ないのですが、
結構悩んでたりしてどうしても分からなくて…。
スプライトの登録、表示までは理解しているつもりなので
もしよろしければご教示くださいませー


[322]こんちは
タイピング同盟
2004/01/29 20:22:23

http://www.geocities.jp/kuroneko_0525/index.htm
タイピング同盟って知ってますか?
最近自分も入ったんですけど、参加者が少なくて・・・
興味のある方一緒に頑張りませんか?


[321](無題)
電子少年
(http://www.geocities.jp/ciu22540/) 2003/12/20 00:00:20

my home pageは間違いです。

[320]>>水卓さん
電子少年
(http://www.geocities.jp/ciu22540/) 2003/12/19 23:59:23

私も探しておりましたが見つけました。
これは、start.axファイルの情報をJavaアプレットが読み込んでネットワーク上で実行するというものです。
下にリンクを残しますのでこのページからダウンロードしてください。
HSP Letです。

http://www.rinku.zaq.ne.jp/ultimate/

my home page


[319]教えて下さい、お願いします
水卓祐二
2003/12/18 18:50:53

初めまして、水卓と申します。
今回はお尋ねで書き込ませていただきます。
HSPでプログラムを作ったのですが、それをIEで動作させる方法が判らないのです。
HTMLに組み込みたいと思っているのですが、それはどのようにすればいいのでしょうか?

大変お手数ですが、メールでご回答願いますか?
どうぞよろしくです。


[318]↓はじめまして
電子少年
(http://www.geocities.jp/ciu22540/) 2003/12/07 18:58:42

はじめまして
質問に答えたあとに質問してなんだか変ですが・・・
オブジェクト経由で元に戻す、切り取り、コピー、
貼り付け、削除、すべて選択を行いたいのですが、
objsend命令でメッセージボックスに送るコマン
ドを教えてください。


[317]>>はじめましてです
電子少年
(http://www.geocities.jp/ciu22540/) 2003/12/07 18:51:17

>>斬撃さん
メニューバーを表示するにはプラグインを使います。
私が知っている中では「Exforce.dll」と「Srexhsp.dll」
私としては、「Exforce」のほうが使いやすいと思います。
「Exforce」は現在シェアウェアですが(有料)、以前のバー
ジョンがミラーで配布されています。
あと、プラグインを使うときは、dllをhspのフォルダに、
ヘッダーファイルをcommonディレクトリに入れてください。

リンク

force's home page
http://hp.vector.co.jp/authors/VA015266/

前バージョン「Exforce.dll」配布先
http://www3.tky.3web.ne.jp/~arsene/index.html

さくらのページ
http://www.silkroad.ne.jp/sakura/


[316]はじめましてです
斬撃
2003/11/28 15:48:49

皆さんはじめまして、斬激です。
さっそく質問があるのですが、HSPで
ファイル(F) 編集(E)
などのメニューバーはどうやって表示できるでしょうか?
DLLなど知っている方おられましたら、
ぜひ教えてください。


[315]はじめまして
2003/11/25 15:56:04

ゼロエフさん、こんにちは。
エンターキーじゃなくてボタンじゃダメですかね^_^;
ボタンで良ければこんな感じになるんじゃないんかと思うんですけど。
naiyo=""
*nyuryoku
    mesbox naiyo,100,100,1
    button "発言",*hatugen
    stop
*hatugen
    mes naiyo
    stop


[314]はじめまして
ゆうき
(http://ww22.tiki.ne.jp/~y-shirakawa/) 2003/11/17 23:56:46

>>BIGWESTさん
自分もここの講座をダウンロードしてHSPDX.DLLの使い方の基本が
解かるようになりました。
ここのサイトにはかなり感謝しています。

>>管理人様
ところで、講座のDirectXを使おうの巻・その2についてですが。

4【キャラクタ登録】の es_pat 命令のp2,p3は、キャラクタのサイズを
指定するのではなくて、キャラクタパターンの左上X、Y座標を指定する
んだったような気がします…。

初めての書き込みででしゃばってすみませんですた。。。


[313]es_zoomについて質問したいのですが
ライナックス
2003/10/26 12:32:09

HSPのHELPによると
>ビデオカードのハードウェアが変倍コピーをサポートしている時は高速に動作しますが、
>そうでない場合はソフトウェアで処理されるため劇的に速度が低下するので注意
>この機能をサポートしていないビデオカードは少なくありません
とあります。
もしサポートしていないビデオカードでソフトウェア処理された場合どの程度遅くなるのでしょう?
HSPの仮想画面ID(ウインドウID?正式な呼び方分かりません…)でgzoom後にオフスクリーンバッファ
に転送するのと比較してどちらが速いのでしょうか…悩んでます。
サポートしていないカードを所持していないので試すことも出来ません。

なんか掲示板に、作者さんもあまり出てきて無いようなので
質問しても答えてくれる人がいるのか迷いましたが、一応ダメ元で書いてみます。
作者さんでなくともいいです、判る方教えて下さい。

あ、遅くなりましたが初めまして。
(↑世の中ウルサイ人も多いので一応ご挨拶も)


[312](無題)
BIGWEST
2003/10/08 00:54:34

はじめまして。
なんだか、ためになりそうなので、
「まとめてダウンロード」させていただきました。
参考にさせてもらって、STGのプログラムを組んでみようと思います。



[311]VBを使ったタイピングソフト
和人
2003/09/30 12:42:24

どなたかπ打というタイピングソフトを知りませんか?
知っていたらDLサイトをぜひ教えてください。


[310]質問
ぱんだ
2003/08/24 14:03:12

 初めて書き込みます。最近HSPをダウンロードして、少し簡単なプログラムを作ろう
と思っているのですが、メッセージボックスの中に文字を入力すると「バッファオーバ
ーフローが発生しました。」というエラーが発生してうまく使用できません。どうすれ
ばよろしいのでしょうか?教えていただけると嬉しいのですが・・・・。


[309]VBを使ったタイピングソフト
和人
2003/08/05 00:39:04

Visual Basic でタイピングソフトを作りたいのですが
誰か作り方を教えてください。


[308]歩かせ方
RIGHT
2003/08/03 00:33:36

はじめまして!!RIGHTといいます!!
ゲームをつくっていて
右の矢印のボタンを押したら右に歩く動作を、左の矢印のボタンを押したら左に歩く動作をさせていのですが、どうするればいいでしょうか?
まったくやりたかがわからないのでスクリプトで教えていただくとありがたいです
どうかわかる方がいたらおしえてください!!お願いします!!


[304]教えて下さい
ミツグ
2003/06/15 12:20:59

初めまして
携帯でのメ−ルの文字のスクロ−ルを教えて下さい


[303]教えてください
うにうに
2003/05/16 17:16:59

タイピングソフトを作りたいのですが、だれかわかりやすく教えてください

[302]es_boxfについて
GZ
2003/05/04 18:29:41

はじめまして。不思議な現象が起きてます。

;こんなプログラムです(途中省略してます)
#include "hspdx.as"
es_ini
es_screen 640,480,16
buffer 1,640,480  ;picload以下のキャラクタ設定は影響ないようです

*main
es_cls 255,255,255
color 255,0,0 : es_boxf 0,0,100,100
es_sync : await 0
goto *main
;ここまで

予定では赤の正方形が塗られるはずなんですがなぜか黒になってしまいます。
buffer 0ならば正常に赤で表示されるんですがbuffer 1以降で初期化すると
colorが認識しません。これはバグなんでしょうか。
それともこの現象は私のパソコン環境だけなんでしょうか。


[301]re:Re:文字の表示について質問
HSP初歩者A
2003/04/18 01:26:46

TAKA様>
>a = "イロハニ"
>b = "ホヘト"
>print a+b
>stop

今日は。どうもご回答有難う御座いました。が済みません
私の質問の仕方が悪かった様です。 print や mes では
必ず最後に改行が入ってしまうので何か?入らなくする
方法は無いでしょうか?と云う意味だったんです。

上記ご回答の物も最後の「ト」の次に改行が入ってしまう
様です。これに続いて、

print "チリヌルヲワカ"

とした場合にもC言語の printf() 文の様に改行の"\n"を
付けない限り連続して

イロハニホヘトチリヌルヲワカ(改行無し)

と表示されると有り難いんですが、、、。


[300]Re:文字の表示について質問
TAKA
2003/04/17 19:44:37

はじめまして。HSP初歩者Aさんの質問なんですが、

print a+b

にしてみてください。それで解決なら幸いです。

a = "イロハニ"
b = "ホヘト"
print a+b
stop


[299]文字の表示について質問
HSP初歩者A
2003/04/03 12:33:32

初めまして! HSPプログラムを習い始めました。
 
文字表示命令の printや mesなどで文字や文字列を表示す
ると必ず最後が改行になってしまいます。CR+LF?
次の様に改行無しで表示させる事は出来ないでしょうか?
 
a = "イロハニ"
b = "ホヘト"
print a
print b
 ↓
イロハニホヘト
 
同様な事?でTAB(タビュレーション)、BS(バックスペー
ス)などを表示させる(機能させる)事は出来ますでしょう
か?
宜しくお願い致します。


[298]皆さんに質問です。
ゼロエフ
2003/03/27 15:58:57

今、チャットソフトなどを作りたいのですが、よくチャットとかで使われている、文章を打ち終わってエンターキーを押すと発言されるシステムがありますよね?そのシステムを作りたいのですが…どうやって作っていいかわかりません。あと、getkeyなどでエンターキーを検出すると、文章を打っている途中でも、発言されてしまうので、どうかアドバイスお願いします。m(_ _)m

[297]Debugウィンドゥが・・・
通りすがりのHSPDX愛用者
2003/03/10 15:04:52

はじめまして、みなさん。
HSPDX.ASを使ってプログラムを書いていたのですが、
HSPDXFIX.ASを使うとdebugウィンドウを表示する際に
エラーを吐き出します・・・


[296]無理・・・
HIRO
2003/03/04 20:48:00

>>290
HSPDXFIXのテキストを検索してみましたが、「半透明」等という言葉はありません。そもそもgmode命令の使い方はDirectXを使うのと使わないのでは使用方法が異なります。

DirectXを使わない場合:
・モード0 = 通常のコピー(bitblt)
・モード1 = メモリ間コピー
・モード2 = 透明色付きコピー
・モード3 = 半透明合成コピー
・モード4 = 透明色付き半透明合成コピー
・モード5 = 色加算合成コピー
・モード6 = 色減算合成コピー
DirectXを使う場合:
・モード0 不透明(透過色無し)
・モード1〜2 透明(透過色有り)

この前#include "hspdx.as"を#include "hspdxfix.as"と入れたら強制終了して、スタートメニューが出なくなってしまいました・・・。でも最新のHSP2.6では(2.55でも)HSPDXFIXが標準添付されているはずですが。でも一部搭載されてない機能があります。
es_sin
es_cos
es_buffer_np
es_buffer_pm


[295](無題)
CanalVorfeed
2003/02/22 16:37:56

>>293 かぶってしまいましたねw
まぁ、使用している原理はHIROさんの方が上ってことで俺の負けですね(謎
カーソルキーで倍率を変化させてるのがサンプルとしてはよいと思います。
なんか、やりすぎると太ってしまうようですがwww


[294]すいません
HIRO
2003/02/22 16:23:33

すいません同じの書いてしまいました・・・。

[293]反転
HIRO
2003/02/22 16:22:12

始めまして。HIROです。DirectXじゃないですが、指定した画像をアニメーションで反転させるサンプルを用意しました。カーソルキーの左と、カーソルキーの右を使います。
多少大きな画像じゃないとサイズが変になりますが。やっていることは、コピーする大きさに、負の値を指定しているだけです。例:-320
    dialog "bmp",16,"画像"
    if stat=0 :end
    buffer 2
    picload refstr
    sx=winx
    sy=winy
    screen 0,sx,sy
    ssx=sx
    ssy=sy
    x=0
repeat
    redraw 0
    color 90,90,90
    boxf 0,0,ssx,ssy

    pos x,0
    gzoom sx,sy,2,0,0,ssx,ssy
    stick pad,5
    if pad&1 :sx=sx-8:x=x+4
    if pad&4 :sx=sx+8:x=x-4

    await 0
    redraw 1
loop
    stop


[292]RE:スプライトの反転
CanalVorfeed
2003/02/22 16:08:12

始めまして、CanalVorfeed(キャナル=ヴォルフィード)と申します。

>>スプライトの反転
私もHSPでDirectXを使うのは最近勉強し始めたばっかりですので、
正確な答えを出すことはできませんが、ヒント的なものでよいのなら。

http://canalvorfeed.hp.infoseek.co.jp/Hanten.zip
上のファイルをDLして実行してみてください。画像の反転コピーが
実現されているはずです。

ですが、このスクリプトでは肝心のDirectXを使用していません。
標準命令であるgzoom命令を使用しています。
しかし、私の記憶が確かならば(笑)DirectXを使った反転コピーも
同じ要領で出来たはずです。標準添付されているHSPDX.DLLに
es_zoom p1,p2,p3 という命令がありますから調べてみて下さい。
又、ここの管理人さんのHPに HSPDXFIXというHSPDXのバグ取+α
の機能を持ったDLLも配布されています。そちらの方が高機能です
のでおすすめです。


[291]スプライトの反転
にゃん太郎
2003/02/01 14:45:01

はじめまして。HSP始めたばかりのへっぽこです(;^-^)゚
「HSPやろう」とても勉強になってます(へっぽこな私はまだまだ理解不足ですが>_<;)
現在学習した事を元に自分なりに色々試しています。

今、真横から見たキャラクターがトコトコ歩くというのをスプライトで作ってるんですけれど
左向きと右向きのアニメパターンをそれぞれ用意してsp_patで別々に登録しています。

でも方向以外は同じアニメパターンなので、まず1方向分のアニメパターンを用意して
登録したスプライトを反転させ左向き右向きを表現した方が良いかな?と思ったので
HSPの命令を色々探し回ってみたのですが肝心の「反転」が見当たりません。
「回転」だと上下も反転しちゃうし...(-_-;

HSP講座系のホームページを回ってみたのですが、とある格闘ゲームっぽいサンプルの
パターン.bmpの画像を開いて見ても同じ画像を左向き右向きそれぞれ用意してるみたいなんです。

登録したスプライトのパターンを反転させる方法って何か無いでしょうか?
ひょっとしたら物凄い見落とししててオマヌケな質問してるかもしれないんですけど
わかる方いましたらどうぞご教授下さいませ m(_ _)m


[290]hspdxfixで
らくだ
2003/01/23 02:44:53

hspdxfixで、フルカラー(16ビット)で半透明の処理をさせるにはどうしたらいいのでしょうか?
gmodeで3に設定しても、es_copyで半透明にならずにそのまま表示されてしまいます。
ダイレクトXのフルカラーで半透明ができるプラグインは少ないので、どうにかできると嬉しいのですが・・・

hspdxfixで半透明の処理をされている方、どうかよろしくお願いします。


[289]画面端のスプライト表示
2003/01/23 02:04:35

es_window、es_areaの設定ではないでしょうか?
ちと、プログラミングから離れていたので記憶が曖昧ですが、^^;
スプライトの表示範囲が実際の表示画面からはみ出ている分だけ、
スプライトの表示や有効範囲を広げてあげなければならなかったと。

とりあえずes_windowはes_areaに追従してくれるので
es_area -32,-32,672,512
とでもして試してみてください
※画面が640x480、画面端に表示するスプライトサイズが最大32x32の場合


[288]HELP
KURA
2003/01/19 15:55:56

3Dソフトの作り方の参考ページどこかあったら教えてください。

[287](無題)
タカシ
2003/01/05 18:48:18

初めまして。DirectXを使って、横スクロールアクションゲームを作っているタカシです。

現在プレイヤーが移動する時のスクリプトを作っているのですが、
背景、敵キャラ等のスプライトを表示してからオフセットで左にずらしていくと、
一番右の列のスプライトが32ドット空くまで(?)描写されず黒い部分が見えてしまいました。
どうも説明がしずらいんですが…右に移動するとまず黒い部分が出てきて、
それが32ドット以上になるとその列のスプライトが表示される…と言った感じです。
ウィンドウサイズ-32以上の場所に描写ができません。ウィンドウサイズを変えても同じでした。
es_putでキャラクタno.を直接指定して描写すると上手く表示されるんですが…

これはどのような状態の時に起こるのでしょうか?
また、回避方法などがありましたら御教授お願いします。


[286]教えて下さい。
シンゴ
2002/12/28 17:50:46

始めましてシンゴといいます。
2Dのアクションゲームを作ろうと思うんですが
どこか参考になるページはありませんか?
誰か教えて下さい。


[285]質問のお答え
乱太郎
2002/12/22 10:06:32

質問者Bさんのスクロールさせる方法についてですが、結構簡単に作れます。
まず、repeatでループ開始、次にredraw 2で画面の描画をオフにし、そして背景色で画面を塗り潰します(color&boxf)。そしてposで表示する文字の座標を設定します(ここではpos x,yとする)。次に表示する文字の色を設定します(color)。そして文字を表示します(mesかprintで{""}を使い、改行をしながら)。次に、posの座標(変数)を変化させます(下から上ならy+、上から下ならy-といった具合)。そして待ち時間を入れます(awaitかwait)。そしてredraw 1で画面の描画をオンにして、loopで戻る。これで完成です。
スクロールするスピードは、posの座標の変化値と待ち時間で調節してください。
また、小技として、
colorを変数で設定し、ifでx、yに<=>を使い、ある一定の位置から背景or文字の色を変化させる。
背景色で画面の上下を塗り潰し、画面の途中から文字が出てくる。
こういったことも出来ます。


[284]質問
質問者B
2002/12/21 17:04:01

文字を画面上でスクロ−ルさせる方法を教えてください。


[283]お願いします
質問者B
2002/12/21 17:02:50

映画のスタッフロ−ルみたいに
文字をスクロ−ルする方法を教えてください。


[282]勝手にレスしちゃっていいのかな
解答者E
2002/10/31 11:18:17

適当なバッファにgcopyでコピーしたあとその画面のIDを
bmpsaveすれば良いんじゃないでしょうか。
質問の意図とずれてたらすいません。


[281]矩形領域をbmpファイルとして保存する方法を教えて下さい
質問者A
2002/10/28 22:39:09

********HSPにおいて 指定した矩形領域をbmpファイルとして保存する方法を教えて下さい******

HSP のプログラムコ−ド  bmpsave "gazou.bmp"    は

表示されている画像全体を gazou.bmp というファイル名で 
bmpファイル形式で保存する方法です。

表示されている画像全体を保存するのではなく
その一部(矩形領域=長方形の範囲)を保存する方法を教えて下さい。
たとえば左上の座標が(100,200)で右下の座標が(300,500)の
横幅201 縦幅301の長方形の範囲のみをbmpファイルとして保存
する方法を教えて下さい。

投稿者(質問者)質問者A



[280]質問
mit
2002/10/22 16:41:30

exec命令でメディアプレーヤーを起動させようとすると「外部呼び出し中のエラーです」となります。なんでー(´Д`;)

[279]ありがとうございます
Nick
2002/10/13 05:36:08

はじめまして。Nickと申します。最近HSPを始めた者です。
講座とプラグインをDLさせていただきました。
勉強させていただきます。ありがとうございます。


[278]始めまして
KOU
(http://www.hoops.livedoor.com/~koushi_okada/) 2002/09/24 23:53:11

始めまして。KOU と申します。
今HSPDX のコードを元にHSPDXの拡張版を制作しています。
簡単なバグの修正を行ってはみましたが、如何せん元のソース自体が
かなり古いバージョン(ver2.4h2同梱)なので苦戦しています。
これから何度と無く質問させて頂くことになると思いますので
その時は何卒よしなに。


[277]移転しました。
神崎 七瀬
(http://members.jcom.home.ne.jp/nanase-kanzaki/) 2002/09/14 09:38:11

Mid Ship Spaceをこのたび移転させました。
つきまして、リンク先の変更をお願いします。

http://members.jcom.home.ne.jp/nanase-kanzaki/
になっています。バナーもこちらに準じていますので、
よろしくお願いします。


[276]hspdxfixのヘルプについて
ユーザー
2002/09/06 01:13:43

hspdxfixのHSPDX.hsをhelpフォルダに入れて、F1キーhelpを参照すると
helpデータが異常ですとなってしまいます。
どうすればよいのでしょうか?


[275]>>272
通りすがり
2002/08/14 13:23:13

「知識もなく」がどの程度のものかわかりませんが、
本当に無経験なら、難易度の高い3Dアクションにいきなり手を出すのは無謀。
アクションなりシューティングが2Dで組めるようになるまでは我慢。
当たり判定や各オブジェクトの処理の仕方が
理解出来るようになってからでもいいでしょう。


[274]>>273
通りすがり
2002/08/14 13:14:03

こっちが参考になるかと。
http://homepage1.nifty.com/takanon/hsp/menu3.html
http://homepage1.nifty.com/takanon/hsp/source002.html



[273]es_palfadeについて質問です。
shadow
(http://isweb44.infoseek.co.jp/play/logic_xx/) 2002/08/09 22:12:48

はじめまして、hspでシューティングゲームを作ってやろうと
いう気のshadowと申します。hspdxfix.dllの命令リファレンスを
見てどうしてもわからない所があったので書かせて
いただきましたが、palfadeはどのように使うのでしょうか?
画面を白から黒などにフェードする時に使用すると思いいろいろ
試したのですがどうもうまくフェードされないです。
これについてですが、どのように使えばよいのでしょうか?
かなり調べてもどうしても理解できなかったのでココに書かせて
いただきました、よろしければ教えていただきたいです。


[272]はじめまして いきなり質問でスイマセン(汗
sohe
2002/08/09 13:22:20

はじめまして soheといいます
知識もなく突然ゲームを作りたくなり始めようとしたのですが
当然何から始めていいのか分からず混乱中です(滝汗
自分では アーマードコア のような3Dアクションを
作ってみたいとは思っているんですが全然分かりません
ので、まず何から取り掛かればいいのか教えていただきたいのです
無茶なお願いですがよろしくお願いします


[271]レスどうもです
TOSHI
2002/08/02 18:21:20

 MIYAさん、始めまして。
レスありがとうございました。
大変助かりました。
これから頑張ってソフト作っていこうと思います。
では。


[270]座標の取得
MIYA
2002/08/02 02:10:03

横レス失礼しますです。
DirectX画面でマウスカーソルの座標を取得するには
ginfo を使いますです。
例えば、

ginfo 0
mx=prmx:my=prmy

で、変数mxにマウスカーソルのX座標が、
変数myにY座標が代入されます。
(注:↑はフルスクリーン時のみ有効)
詳しくはHSP命令リファレンスをご覧頂くといいと思います。
かくいう僕も以前HSP公式サイトのBBSで
TOSHIさんと全く同じ質問をしていました(笑)

ところで、↓で
Windows画面とDirectX画面を切換えられないと報告しましたが
これって元々の仕様(?)みたいですね。
すみませんでした。
DirectXの画面オンリーでなんとかやってみます^^;


[269]はじめまして。
TOSHI
2002/07/30 22:52:33

 はじめまして、TOSHIと申します。
このページでDirectXについてかなり勉強させてもらいました。

いきなり質問で申し訳ないのですが、
hspdx.dllを使ってHSPでDirextXを操作しているとき、
マウス座標を取得するするにはどうしたらよいでしょうか?
システム変数mousexは固定されたままで
マウス座標を取得できないんです。
どうかご教授下さい。


[268]初カキコ?
Tomokun
(http://www.kcv.ne.jp/~tomokun/) 2002/07/20 15:15:27

どうも。Tomokunってものです。
↓の記事ですが、こことかどうでしょう?
「#202」
http://park.zero.ad.jp/mr./

マリオの作り方講座とかあります。


[267]付け加え。
初挑戦
2002/05/27 18:17:04

つけ加えでアクションゲームの作り方を詳しく教えてください。
(詳しく説明してあるホームページでもいいので紹介してください。)


[266]ゲームの作り方を詳しく教えてください!!!
初挑戦
2002/05/27 18:12:32

私は今、中学でパソコン部に入ってるんですが、ゲームを作ることになったんです。
でも私は作り方が全く分からないんです。
だから、作り方を教えてください!!!
お願いします。


[265]HSPDXFIXの画面切り換え
MIYA
2002/05/21 07:59:58

Sinagawaさんお久しぶりです。
(って覚えていらっしゃらないかもしれませんが^^;)

今回もHSPDXFIXにお世話になっています。
実はWindows画面とDirectX画面を
度々切り換えるようなソフトを作ろうとしているのですが、
どうも上手くいきません。
試しに↓のスクリプトを実行させてみたところ、
2回目以降の処理でスクリーンの初期化に失敗しているようです。

#include "hspdxfix.as"
*@
es_ini    
es_screen 640,480,16,0
es_bye
wait 1
goto *@b

これはHSPDXFIXのバグなのでしょうか?
それとも僕のやり方が何かマズっているのでしょうか?
宜しければ御回答お願いします。
(ちなみにHSPDXFIX.DLLのバージョンは0.14です)


[264]すげぇっす。まじすげぇっす。
j.j
2002/04/29 14:30:36

初めてここきました。アニメーションもろくにできねぇ、初心者ですが。知識が、さらに広がりました。まだ、たいしたこともやってないのですが。(笑)お聞きしたいことは、キー操作です。なんかもう、全部教えて下さい。というかんじです。それともやっぱり、あれでしょうか?本とか買って読んだほうがいいのでしょうか。どうか、知恵をお借りしたいものです。ではでは。

[263]やってみましたが…
E−CAT
2002/04/25 23:53:33

たびたびすいませんが、ブロックが消えるかどうかの判定がうまくいきません。
ブロックの座標を出して上下左右のチェックをしてそれが同じだったらそのブロックに対してチェック……、ってどうやればいいんですか?


[262]ありがとうございます。
E−CAT
2002/04/25 23:23:09

今からやってみようと思います。ありがとうございました。

[261]Re:はじめまして
Sinagawa
2002/04/25 00:55:55

>HSPでぷよぷよタイプの落ちゲーを作ってるのですが、ブロックを消すのにどのようにすればいいのでしょうか?

ブロックが消せるかを判定した際に消えるブロックをマークし、判定が終わったらそのマークに
従ってブロックを消していくようにしましょう。
マークの方法としては、マーク用の仮想画面を別に用意してブロックの消える箇所のフラグを立てるか、
あるいはバッファに消去するブロックの座標を順番に放り込んでいくかの2通りのやり方がよいと思います。


[260]はじめまして
E−CAT
2002/04/23 22:08:59

こんばんは。HSPでぷよぷよタイプの落ちゲーを作ってるのですが、ブロックを消すのにどのようにすればいいのでしょうか?ここの講座を見せてもらいましたがまだ始めて間もない私にはよくわかりません。よろしければ解説をお願いします。

[259]Re:初心者の質問です。。。
Sinagawa
2002/04/01 12:17:58

>〈DirectXの機能〉で、〈DirectX3Dアクセラレーター〉と〈AGPテクスチャアクセラレーター〉が〈なし〉になっています。
>〈使用可能〉にするにはどうしたらよいのでしょうか。

グラフィックボードがDirect3Dに対応していないか、あるいはドライバが正しく入っていないかの
いずれかかと思われます。
「使用不可」になっているのであれば横のボタンを押せば使用可能になるはずですが。


[258]初心者の質問です。。。
licky
2002/03/30 09:32:45

はじめまして。こんにちは。
パソコンのゲームを最近やり始めたのですが、3Dのゲームの動きがいまいちです。
〈DirectXの機能〉で、〈DirectX3Dアクセラレーター〉と〈AGPテクスチャアクセラレーター〉が〈なし〉になっています。
〈使用可能〉にするにはどうしたらよいのでしょうか。


[257]はじめまして。
K.フルパワー
(http://www48.tok2.com/home/Kfull/) 2002/03/11 23:45:37

はじめまして。
僕はHSPをやってまだ一年ほどです。
ここのページではDirestXについて学ばせてもらいました。
自分のホームページでもHSPについてやっているのですが、まだ未完成で・・・。
人も全然来てないんですが、リンク貼っときましたので、もしよかったらリンクしてください。お願いします。


[256]Re:質問
Sinagawa
2002/02/21 23:21:44

もう少し詳しく書いていただけるとありがたいのですが、
dim命令で要素が十分に確保されているか確認してください。


[255]質問
ジャバヲック
2002/02/20 02:10:11

「配列の要素が大きすぎます。」ってなって
移動がなぜかできないのですが・・・


[254]Re:はじめまして
Sinagawa
2002/02/11 00:27:28

>RS-232Cでデーターの受送信するにはどのようにやればいいのでしょうか?

自分は使ったことがないので余りよくわからないのですが、hspext.dllにある
com〜で始まる命令を使うことでシリアルポートを使ってデータの送受信ができるように
なるようです。
詳しくはヘルプやhspext.dllのマニュアルを読んでください。


[253]はじめまして
buupuu
2002/02/10 10:42:59

スプリクとを組むのは初めてですので、わからないことばかりです。
これから勉強していきますのでいろいろとお願いします。

早速ですが
RS-232Cでデーターの受送信するにはどのようにやればいいのでしょうか?
キャプチャーのようなことがやりたいのですが
お願いします


[252]Re:はじめまして
Sinagawa
2002/02/05 00:01:41

>真流[syn-nagare]さん
了解しました。次回更新でリンク貼らせていただきます。


[251]はじめまして
真流[syn-nagare]
(http://syn-nagare.hoops.ne.jp/) 2002/02/03 15:07:34

はじめまして。いつも講座を参考にさせてもらっています。

早速ですがリンクさせてもらいました。
まだ自分のHPにはゲームはありませんがよかったら
リンクお願いします。


[250](無題)
とうふ
2002/01/30 18:39:38

ありがとうございます。(^^;

[249]Re:はじめまして。
Sinagawa
2002/01/26 23:16:45

>その後の処理(たとえば”戦う”のコマンドで敵を攻撃するなど)
>をするときはどういうふうにやればよいでしょうか?

コマンドを決定した時点でのカーソルのY座標を元にそれぞれの処理へ飛ばしましょう。
余談ですが、この後さらに選択ウィンドウが出る場合もあるので、配列変数にこの時の
カーソルの座標を記憶させておくとよいかもしれません。

例)
gosub *menu
if y=1 : goto *attack ;戦う
if y=2 : goto *magic  ;魔法
if y=3 : goto *item   ;道具
if y=4 : goto *escape ;逃げる
;キャンセル


[248]はじめまして。
とうふ
2002/01/26 17:45:22

はじめまして。
突然ですが管理人さんにお願いです。
「HSPをやろう」で「メニュー画面を作ろう」というのを読ませてもらいました。
それを参考にして自分で作ってみたんですが、その後の処理
(たとえば”戦う”のコマンドで敵を攻撃するなど)
をするときはどういうふうにやればよいでしょうか?


[247](無題)
みっちー
2002/01/19 15:28:57

そうゆうことかー。解決しました。ありがとうございます。

[246]Re:バグかな?
Sinagawa
2002/01/19 11:15:17

>しっかりと敵の弾にあたっているのにチェックしてくれないダミー的な弾が混じって出現します。

これは、敵弾の当たり判定と敵機の当たり判定を一つのループ内で同時に行うようになっているので、
弾の判定が全て終わる前にループを抜けてしまうのが原因です。
これらを別々に分ければきちんとチェックするようになります。


[245]バグかな?
みっちー
2002/01/18 16:25:31

しっかりと敵の弾にあたっているのにチェックしてくれないダミー的な弾が混じって出現します。バグではないでしょうか?
STG.asがmainScriptです。
十字キー移動
Ctrlキー弾発射
Scriptのアドレス↓
http://www1.tcnet.ne.jp/girobey/NEW1.LZH


[244]ありがとうございました
みっちー
2002/01/07 08:42:15

↓の質問なんですけど別の掲示板で答えてくださったので、このメッセージごと
気に食わなかったら消しちゃっていいです。
書き込んでしまったことを深くお詫びいたします。m(__)m


[243]スプライトをそのまま見てもらおうとする無謀な質問(T□T)
みっちー
2002/01/06 23:14:30

どうもみっちーです。
なんか分からないけど、自機が敵弾にあたっても爆発しない〜〜
まさかスクリプト見てもらうのは避けたかったけど、ついに降参してしまいました。よろしくお願いします。
弾はCtrlで打てます。十字キーで移動 ESCキーで終了 
*cheakにawait 0がはいっているのでいざとなればf4+altで終われると思います。
*cheakが敵弾と自機のあたり判定です。8回あたると自機は壊れる予定なんですが壊れませんって言うかあったってません(T□T)
よろしくお願いします。
http://www1.tcnet.ne.jp/girobey/NEW1.LZH 


[242]Re: フルスクリーン終了後の配色
DisK
2001/12/13 07:00:56

返答ありがとうございます。
こちらはWinMe+DX8ですが、DXをヴァージョンアップしてもダメでした。
確かにグラフィックボード(Sis630)との兼ね合いもあるかもしれませんね。


[241]Re:フルスクリーン終了後の配色
Sinagawa
2001/12/12 09:58:32

>質問ですが、フルスクリーンで実行して終了した後、Windowsの配色が変わってしまうのですが、何か対策はないでしょうか?

うちではWin98SEを使っていますが、今までそのような現象は起こったことがないので、というより、
普段使っている配色がWindowsスタンダードだったので、原因などはよくわかりません。
で、今試してみたのですが、無印Win98+DX5とWin98SE+DX8の二つの組み合わせにおいて
問題が発生しないことを確認しました。
もしかしたらグラフィックボードのドライバが悪さをしているのかもしれません。


[240]フルスクリーン終了後の配色
DisK
2001/12/12 04:29:45

はじめまして。hspdxfixいただきました。
クリッピングの手間がはぶけるのがありがたいです。
質問ですが、フルスクリーンで実行して終了した後、Windowsの配色が変わってしまうのですが、何か対策はないでしょうか?
Win2000では大丈夫でしたが、Win98系(Me含む)ではどうも配色がデフォルトに戻ってしまうようなのです。


[239]Re:お願いします。
Sinagawa
2001/11/16 11:55:28

文面からして「他のaxファイルに飛ぶ」という意味だと判断されますが、
データを受け渡した上で飛ぶには一度受け渡すデータをファイルに書き出すしかないと思います。
自分は一本道で事足りる程度のプログラムしか組んだことがないのでよくわかりません。


[238]お願いします。
ゴンザレス
2001/11/14 14:14:07

はじめまして、HSPで教えて欲しい所があり、投稿させてもらいました。
HSPで他のプログラムに飛ぶにはどんな命令を使えばよろしいでしょうか?
データを継続したいので、run命令以外でお願いします。
知っている方がいたら是非お願いします。


[234]Re:es_mes に関する要望
ゆう
2001/11/03 05:42:41

私の場合、画面に描いた文字列をオフスクリーンバッファに転送し、
背景の画像とあわせたものを
ワイプ担当のサブルーチンで徐々に画面に描き出したあとで
スクロールさせていますので、es_fmes 命令でオフスクリーンバッファに
直接文字を描けたらソースがすっきりするかなぁと^^

> palcolor命令を使うことでパレット番号での色指定ができるようになります。

hspdxのマニュアルには特には記述されていないようでしたので
見逃しておりました。^^;
さっそく試してみます!

お忙しいところご返信ありがとうございました。


[233]Re:es_mes に関する要望
Sinagawa
2001/11/02 23:58:59

すいませんレス遅れました。

>es_fmes 命令でオフスクリーンバッファにも
>文字を描画できるようになったらなと思います。
それほど難しいことではないのですぐに実装できると思います。
ところで、このようなケースの場合文字に特別な装飾を施さないなら毎フレーム書き直しで、
そうでないならあらかじめアスキーコード順に文字を並べておいて1文字ずつ転送
(ただし等幅限定)、という形でもよいかと思うのですが、それでは何か不都合な点でもありますでしょうか?

>また、es_fmes 命令は color 命令で色を指定するという
>仕様ですが、パレット番号でも色を指定できるようになると
>パレット管理が楽になります。
palcolor命令を使うことでパレット番号での色指定ができるようになります。


[232]es_mes に関する要望
ゆう
2001/10/29 13:57:04

Sinagawaさん、お世話になっております。

hspdxについていくつか希望があります。
es_fmes 命令でオフスクリーンバッファにも
文字を描画できるようになったらなと思います。

# というのも、スタッフロールなどを作るとき
 es_fmes で画面に文字列を描画したものを
 es_xfer でオフスクリーンに転送してから
 利用しているもので…^^;

また、es_fmes 命令は color 命令で色を指定するという
仕様ですが、パレット番号でも色を指定できるようになると
パレット管理が楽になります。

# 「○番〜○番までが文字用パレット」などとして
 フェードイン・アウトさせているので。

ご一考のほど、お願いいたします。


[231]半透明に関して
NANA
(http://www4.justnet.ne.jp/~tanchan/) 2001/10/28 06:25:58

>sinagawa氏
 ご無沙汰です。どうも半透明に関しては制約も厳しいようで。
DirectXの仕様なんでしょう、バッファサイズが通常コピー時よりも
さらに制限されるようです。とりあえず、期待して待たせていただきます。
と、ようやくhspdxfixを使ったSTGを開発しています。まだアップは
出来ませんが、ぼちぼちと作っていっています。

>純氏
 HSPDX+Aは私も見かけました。ですがウインドウモードの未搭載や、
画面外からはみ出た際のコピーしなくなるバグが残っている等、
HSPDXFIXとの互換性が薄いことを考えると・・・(^^;
と言うことで、同じくHSPDXFIXに拡大〜半透明が搭載するのを待つことにします。


[230]Re:半透明コピーに便乗して…&相互リンク
Sinagawa
2001/10/27 23:48:57

>純さん
半透明処理をサポートするにあたり、Direct3Dを使用することになりますので
その関係上拡大縮小回転機能も一緒にサポートするつもりでいます。
というわけで、今後のバージョンアップにご期待ください。
(と、自分で自分にプレッシャーをかけてみる(笑))

>けんたさん
レス遅くなりましたが、相互リンクの件了解しました。
次回の更新で貼らせていただきます。


[229]半透明コピーに便乗して…
2001/10/27 18:31:38

半透明コピー機能も将来搭載予定という事で期待しています。
同様に、拡大、縮小、回転等は考慮に入れて頂けないでしょうか?

どれも HSP2.55 & HGIMG.DLL で可能のようですが、
DirectX関係はHSPDXFIXで統一した方がへたれプログラマとしてはありがたいです。

実はこんな要望を書いたのは すにゃんソフト さんのHP
http://hp.vector.co.jp/authors/VA022330/hsp/index.htm
で Hspdx+α という物を見たからです。
おにたまさんの掲示板で先行公開されたのみで、まだ公開されてはないのですが、
HSPDXFIX 同様、HSPDX と置き換えて使用する使い方で機能拡張されている物です。
・αブレンド、拡大、縮小、回転、FPS自動調整
等が追加されていました。

正直、出来たばかり、まだ正式にHPでも公開されていないと言う事で
サンプルを動かしたぐらいしか試していないのですが、
WindowMode での動作が出来ない為、早くも投げ出しています。
それで、HSPDXFIX で同様の機能があればと思った次第です。
検討していただければ幸いです。

PS
es_clearの件、勉強になりました。
私がはまっていた不具合もこれを理解していなかった為のようです。


[228]RE:es_clearの動作
猫狼
2001/10/24 21:24:59

了解です。
バージョンアップ楽しみにしてます。


[227]ここ
けんた
(http://isweb30.infoseek.co.jp/play/kennta21/index.htm) 2001/10/24 20:49:00

ここね

[226]けんた
けんた
2001/10/24 20:47:42

相互リンクしよう

[225]ありがとうございました
ブラウン
2001/10/24 19:38:23

やってみたら上手くいきました。
どうも助かりました。


[224]レス
Sinagawa
2001/10/24 12:41:46

>ブラウンさん
hspext.dllの関数命令を使えば、円運動ができるようになります。
(念のため書いておくと、emsinが縦方向、emcosが横方向に対応します)
これを使って、縦横どちらかの移動量をもう一方より大きくすれば楕円になります。

>猫狼さん
>es_clear(es_killも同様)しても、スプライトのtype値が保持されたままなのですが
これはスプライト消去の際にtype値を初期化し忘れているのが原因で、どちらかといえば(笑)バグです。
次のバージョンアップで直しておきます。
それから、半透明コピー機能は今後のバージョンで実装したいと思ってます。
ただ、マスクパターンを考慮したコピーまでは実装できないかもしれませんが。


[223]es_clearの動作
猫狼
2001/10/23 21:46:22

es_clear(es_killも同様)しても、スプライトのtype値が保持されたままなのですが
これは仕様なのでしょうか?

あと、
es_acopy p1,p2,p3,p4,p5
p1=オフスクリーンバッファID(0〜63)
p2=コピー元X座標
p3=コピー元Y座標
p4=不透明度(0〜100%)
p5=マスクバッファ
使い方は、es_copyと同じ。p4で不透明度を指定。0で完全に透明。100で完全に不透明。
指定しなかった場合は、100になります。
p5でマスクデータを格納したオフスクリーンバッファIDを指定。
指定しなかった場合は無視されます。

とかいう命令があったら良いなあ・・・。とか思っております。


[222]楕円の動き
ブラウン
2001/10/23 17:45:06

物体を楕円軌道で動かしたいのですが
どうすればよいのでしょうか?


[221]Re:es_xfer と pos , gmode
ゆう
2001/10/20 16:51:19

すばやい返答ありがとうございます。

gsel 0の位置を変えたところ、上手く動作いたしました。
本当にありがとうございます!


[220]Re:es_xfer と pos , gmode
Sinagawa
2001/10/20 01:03:21

基本的にDirectXの描画命令を使うときは、それより前にgsel 0を入れるようにしてください。
今回のケースでも2回目のes_bufferの後にgsel 0を移動させたところ、意図したとおりに
動作するようになりました。


[219]es_xfer と pos , gmode
ゆう
2001/10/20 00:00:56

はじめまして。
es_xfer が思うように動かないので困っています。^^;

以下のサンプルスクリプトは
オフスクリーン OFF_A番の座標(180,25)を始点としたサイズ50*20の画像を
オフスクリーン OFF_B番の座標(100,80)を始点としてコピーし、表示するものです。

 # "hsp2ttl.jpg"は hsp255\docs にあるものです。

実行するとなぜか、オフスクリーン OFF_B番の座標(0,0)を始点として
サイズ32*32の画像が表示されてしまいます。
pos と gmode の値が es_xfer に反映されていないのでしょうか
pos と gmode の値を変えて試してみても結果は同じでした。

Windows2000 SP2 のパソコン3台(ノート一台)で確認したところ
同じような現象が起こりました。

環境 : HSP ver 2.55(正式版)
-----------------------------------------------------------------
#include "hspdx.as"
    #define OFF_A 0
    #define OFF_B 1
    #define WX 640
    #define WY 480

    es_ini:es_screen WX,WY,8,3    ;スプライト初期化
    buffer 1,WX,WY,1
    picload "hsp2ttl.jpg",1    ;画像取り込み
    es_buffer OFF_A,0        ;OFF_A番初期化
    cls
    es_buffer OFF_B,0        ;OFF_B番初期化

    pos 100,80:gmode 1,50,20
    es_xfer OFF_B,OFF_A,180,25

    gsel 0:es_cls
    pos 0,0:gmode 1,WX,WY
    es_copy OFF_B,0,0        ;OFF_Bを画面に描く
    es_sync
    repeat:await 0:loop
-----------------------------------------------------------------


[218]Re:save
Sinagawa
2001/10/16 00:24:13

#マルチポストなのは承知の上で。

http://www.hspcenter.com/hspsc2/hspj5.html
↑このあたりが参考になります。RPGだろうがADVだろうが基本は一緒です。
以上。


[217]save
masami
2001/10/14 17:27:18

セーブの仕方、ロードの仕方を教えてください
ぼくは、ノベル系、アドベンチャー系を作りたいのですが
どうしてもセーブを使いたいのです。
僕の力では、セーブのやり方がわからず・・・
すみませんがお願いします!!
あっ、それと、RPGみたいに物とは違います
いつでもセーブができて、いつでもロードができるようにするにはどうすればいいのでしょうか
すみませんが教えてください


[216]色数
butisava
2001/10/12 23:47:00

そうですね、デバグなので32bitで初期化してやろうと思います。
では、hspdxfixのバージョンUPがんばってください。m(__)m


[215]Re:色数
Sinagawa
2001/10/11 11:28:57

現バージョンでは手抜き仕様なので、16bit以上のモードを使うときはデスクトップの色数を
あわせないとウィンドウモードで動かせないようになっています。
こういう不便な状態で放っておくのはどうかと思うのでいずれ修正しますが、今のところは
32bitでの初期化に失敗したら16bitでの初期化を試みるようにしてはいかがでしょうか。
これによって目立つ影響が出るのは、今のところ透明色周りくらいだと思いますので。


[214]色数
butisava
2001/10/11 02:27:42

こんにちは。
現在16ビットハイカラーでhspdxfixを使用しているのですが(ゲーム制作)
通常32ビットの画面で作業しているのでデバグの度に「画面のプロパティ」で色数を変更しなければなりません。やはりユーザー側にも色数を変更してもらうといった方法しかないのでしょうか。なにか良い方法がありましたら教えてください。


[213]Re:このページについて
Sinagawa
2001/09/28 02:46:43

いや、別に必ず読んでくれって事は何も書いてないんで、トップに持っていくつもりないです。
それよりも何箇所か(というか、ほぼ全部)書き直した方がいいなって所はありましたけど。


[212]このページについて
db
2001/09/26 19:05:16

このページについては、
トップページに書いた方がいいのではないでしょうか。


[211]んー
Sinagawa
2001/09/21 23:50:22

裏技というか、DLL側の拡張が必要になるんです。
さすがにDirectXが絡むとHSP側から手を出してもどうにもならない事がほとんどでして。
いずれにせよムービーだと音入りで1MByteに10秒入ればいい方なので、デモなら
スプライトや画像を駆使した原始的な手法をとった方がいいかなとは思います。
特にネットでの配布が前提になると圧縮が利かないのはキツイですし。


[210]有難うございます.
祇園
2001/09/21 22:16:16

何やらウラ技が必要なんですね.
 今はプログラム的に連番画像を表示していく類で何とかしようと思います.
 もともと,オープニングデモ部分ですし...


[209]Re:PrimarySurfaceへのAVI描画
Sinagawa
2001/09/21 00:25:11

>質問なんですが,es_screenで確保したPrimarySurfaceへAVIムービーを表示させることはできないでしょうか?
結論から言いますと、サーフェスへのAVI再生は現バージョンではサポートしていません。
HSPのMCI命令からDirectDrawサーフェスへ出力することもおそらく無理です。
調べたところ、比較的手軽に再生を行うやり方があるようなのでそれを試してみますが、
そのやり方というのも所詮MCIベースなので再生するムービーによってはなめらかに
再生されないかもしれません。


[208]PrimarySurfaceへのAVI描画
祇園
2001/09/19 15:40:22

初めまして. HSP 1年目の祇園です.
 質問なんですが,es_screenで確保したPrimarySurfaceへAVIムービーを表示させることはできないでしょうか?
 友達とシューティングを作っているんですが,DoGAで作ったムービーを表示させたいとの事なので...


[207]Re2:es_getのバグ?
猫狼(びょうろう)
2001/09/17 20:50:50

出来ました!
ありがとうございます!


[206]Re:es_getのバグ?
Sinagawa
2001/09/17 10:00:00

>さて、今さっきes_getでflag値を取得しようとしたところ
>es_flagでどんな値を入れてやっても、0が返ってきます。
>これってバグなんでしょうか?
これはマニュアルの表記ミスで、flag値を取得するときはp3に0を入れるのが正しいです。
(難しい話になりますが、1だと32bitあるデータのうちの使われていない16bitが拾われて
しまうために状況に関係なく0が返るのが原因です)
次のバージョンで書き直しておきます。
あと、関係ないですが2〜8までの偶数を指定すると座標や移動速度の小数部が得られるように
なっているみたいです。


[205]es_getのバグ?
猫狼(びょうろう)
2001/09/16 15:38:40

どうもお久しぶりです。
さて、今さっきes_getでflag値を取得しようとしたところ
es_flagでどんな値を入れてやっても、0が返ってきます。
これってバグなんでしょうか?
ちなみに、HSPDX.DLL、HSPDXFIX.DLL両方ともダメでした。


[204]バージョンアップありがとー
猫狼(びょうろう)
2001/09/04 22:11:25

ども、猫狼です。
先程、HSPDXFIX ver0.13 をダウンロードさせていただきました。
早速チェックしたところ、[Alt+F4]終了、onexit問題、共に解決されていました。
どうもありがとうございます。
また、気付いたことがあったら報告させていただきます。でわ。


[203]HSPDXFIXバージョンアップ
Sinagawa
2001/09/04 01:58:13

主な変更点は、思いつきで命令を追加したことと、onexitに対応したことです。
あと、マニュアルの類もHSP本体への同梱にあわせて形式を変えました。
本バージョンからonexit対応の副作用でAlt+Tabによるアプリケーション切り替えなどが
できるようになっています。で、フルスクリーンでそれをやると復帰できなくなるので
十分注意してください。


[202]Re3:HSPDX使用時のonexit
Sinagawa
2001/09/01 22:38:19

>(でも、対応できるようになりませんか?)
バックグラウンドで(というか見えないところで)起動しっぱなしになるのはいろんな点で危険なので、
次のバージョンで対処しておきますが、本当は近日中に新バージョンをアップするつもりだったので
状況次第ではその次で対処することになるかもしれません。


[201]Re2:HSPDX使用時のonexit
猫狼(びょうろう)
2001/09/01 11:28:16

なるほど。そういうことだったんですね。
やっと謎が解けました。ありがとうごさいます。
ウチの周りには結構[Alt+F4]で終了する人が多いので
その辺に気をつけてスクリプト組むようにします。
(でも、対応できるようになりませんか?)


[200]Re:HSPDX使用時のonexit
Sinagawa
2001/08/31 22:29:56

ドライバの入れ直ししたら安定したので試してみたところ、「うまく動いた」というのは何かの勘違いだったようです。
まずフルスクリーンで実行中にAlt+F4を押すと、何事もなかったように終了します。
ここでonexitで実行されるべき命令は実行されないわけですが、このときフルスクリーンが
解除されるだけ(?)で、プログラムはまだ実行されている状態になります。
で、Ctrl+Alt+Delで「hsp2」を終了すると、onexitに飛んで正常終了となります。

つまり、上から被さっている部分(つまりHSPDX)だけが終了してしまっていたので、
onexitが実行されなかったというわけです。


[199]HSPDX使用時のonexit
猫狼(びょうろう)
2001/08/31 01:05:41

話題が変わるんでタイトルも変えてみました(^-^

>>あと、余談ですがHSPDX動作下では、onexit命令が無視されるようです。
>あれ、そうですか? なんかうちの方ではうまく動いていましたけど。

動きますか? なんかウチでは動かないんですけど。
特にmci命令でサウンドを流して、onexitでmci開放をするラベルに
飛ぶように指定します。
そして[Alt+F4]をすると、見事にプログラムは終了してるけど
mciは開放されず、サウンド流れたまんまと言う状況になります。
mciに限らず、DirectSound系の命令を使っても同じです。
なんか指定のタイミングでもあるんでしょうか?


[198]Re:[197][Alt+F4]の終了時の変な現象
Sinagawa
2001/08/30 23:26:42

>こちらでもいろいろ試した結果、どうやらデバッグウィンドーが原因の様です。
>デバッグウィンドーをONにした状態で、[Alt+F4]をすると色化けが起こります。
何か外部アプリが悪さをしているのかと思ったんですが、デバッグウィンドウでしたか。
フルスクリーンで実行しているときには意味ないんで、というか元々あまり使わないんで
気づきませんでした。報告どうもです。

>あと、余談ですがHSPDX動作下では、onexit命令が無視されるようです。
あれ、そうですか? なんかうちの方ではうまく動いていましたけど。
↑と、これだけのことを書こうと思ったらなんか不安定で、HSPDX使用のプログラムを
3回起動したらハングしてしまったのでレス遅れました(笑)。


[197]Re2:[Alt+F4」の終了時の変な現象
猫狼(びょうろう)
2001/08/29 22:23:11

こちらでもいろいろ試した結果、どうやらデバッグウィンドーが原因の様です。
デバッグウィンドーをONにした状態で、[Alt+F4]をすると色化けが起こります。
動作中の色化けもこれによるものだと思います。
es_byeを通しても、ONの状態だとデバッグウィンドーが残ります。
(クリックすると消える)
あと、余談ですがHSPDX動作下では、onexit命令が無視されるようです。
HSPDXでスクリを組むときは、ESCキー終了とAltキー終了を組み込んだ方が
良さそうです(^-^;


[196]Re:[Alt+F4]の終了時の変な現象
Sinagawa
2001/08/29 00:16:03

とりあえずHSPDXのサンプルで試してみましたが、
Alt+F4での終了は一発でできましたし、色化けも発生しませんでした。
ふつうにes_byeを通して終了するぶんには問題は起こらないですか?


[195][Alt+F4]の終了時の変な現象
猫狼(びょうろう)
2001/08/28 00:21:11

ども、初めまして。ヘッポコプログラマーの猫狼と申すものです。
さて、率直に気がついたことを一つ。
[Alt+F4]でプログラムを終了しようとしたら、一発で終了しません。
(一回目で色化け。二回目で終了。)
また、発生タイミングについては解かりませんが、
普通にプログラム走らせてるときにも、稀に色化けが起こります。
スクリプト自身はHSPDX.DLL ver1.1で動作確認済みのものですので
問題ないはず…。
まあ、[Alt+F4]の方は裏技的要素なんで色化けしてもしょうがないのですが・・・。
これらについて確認願えますか?
(ちなみに使用しているのはHSP2.55β3付属のもの。
HSP2.5スクリプトエディタ上で動かしてます)


[194]ありがとうございました
ポロリ
(http://www.h2.dion.ne.jp/~tktuyuki/) 2001/08/14 17:03:23

やってみたところ、無事発見しました。
それで、jpgを表示できたり、hspdxでウィンドウモードに出きるって書いてアンのに、できねぇじゃん。っていうふうに、いろいろなところができるようになって、うれしいかぎりです。
ありがとうございました


[193]Re:hspdxfix
Sinagawa
2001/08/14 16:23:45

それは単に見えていない(表示されていない)だけではないでしょうか?
エクスプローラを起動して、表示>フォルダ オプション>「表示」タブ、とたどっていって、
「全てのファイルを表示する」を選択してみてください。
一応、DLLが含まれていることは確認済みです。


[192]hspdxfix
ポロリ
(http://www.h2.dion.ne.jp/~tktuyuki/) 2001/08/14 11:38:54

ダウンロードさせていただきました・・が
hspdxfix.dllがみつかりません。
hspdxfix.asはあるのですが(汗)


[191]Re:jpgの表示
Sinagawa
2001/08/13 22:54:21

>hspdxで、jpgを表示しようとすると、色がおかしくなってしまいます(画像が崩れたりなどはしない)。
おそらく256色に減色されているのでしょう。
Ver 2.55βに同梱されているバージョンのHSPDXか、うちのダウンロードページに置いてある
HSPDXFIXならフルカラーでの表示ができますので、使っているHSPDXが古いのであれば
そちらを使ってください(どちらを使っても違いはありません)。


[190]jpgの表示
ポロリ
(http://www.h2.dion.ne.jp/~tktuyuki/) 2001/08/13 19:09:50

hspdxで、jpgを表示しようとすると、色がおかしくなってしまいます(画像が崩れたりなどはしない)。サイズは1000×800で、背景にしたいと思ってます。
BMPではうまくいくのですが・・・
よろしくおねがいします


[189]どうもありがとうございました。
げん
2001/08/11 23:36:49

es_flagを使いこなすのがポイントなんですね。
難しそうだったので、まったく無視してました。
本当に感謝します。ありがとうございました。


[188]ホントありがとうございました
ポロリ
2001/08/11 20:11:59

わかりました!理解できました
本当にありがとうございます&・・
以後注意します。
また、お世話になるかもしれないので、よろしくおねがいします


[187]レス
Sinagawa
2001/08/11 15:35:45

>ポロリさん
すでにレスがありますので繰り返しになる部分は省くとして、
もしこれ以上やっても解決できそうにないなら、差し支えなければで結構ですので
画像ファイルとスクリプト(関係ないかもしれませんが念のため)一式を見せていただけると
こちらも回答がしやすいです。

>げんさん
時間の関係であまり調べてないですが、
1.サブルーチン*shotの最後に「es_flag sh,$300」を入れる
2.サブルーチン*hanteiを以下のように書き換える
es_find jitama,8,0
if jitama=-1 :return
es_check hit,jitama,2
if HIT=-1 :return
es_get BOMBX,hit,3
es_get BOMBY,hit,5
es_set hit,BOMBX,BOMBY,10
es_flag hit,$8000+29
es_type hit,0
es_pos jitama,-256,-256
es_kill jitama
return

この2点を行うことで、不完全ではありますが改善されました。
どうも処理中のどこかでスプライトの情報が勝手に書き変わっているようです。
(そしてなぜか1.を行うことでそれが改善されている)
あと、敵が出なくなるのは見た目が消えているだけでスプライトが残りっぱなしになっているのが
原因でしたので、es_flagを使ってスプライトを一定時間後に消すようにしました。


[186]RE.ポロリさんへ
pumpkin!
2001/08/11 05:38:09

こんにちは。

> ポロリさん
いやあ、ごめんごめん。
よく読んだら、まだ完全に解決はしてないみたいやね。

うすあじさんの掲示板投稿を見る限りだけど、
画像が斜めになるのは、「画像サイズが」4の倍数に
なってないからじゃないの?
4の倍数にするのはスクリーンではなく「画像サイズ」ですよ。
スプライトを含めたすべての画像です。

あと、画像が大きくなるのは解像度の違いからでしょう。
あなたのマシンが640×480より大きな解像度で
スクリプトで640×480の解像度を指定したら
そりゃあ、大きく表示されるのは当然のことです。
解像度については理解されていますか?
同じ大きさにしたい場合は、解像度を合わせる必要があると思います。


[185]ポロリさんへ
pumpkin!
2001/08/11 05:07:58

> ポロリさん
二重投稿して一方で解決した場合は、ほかの掲示板への投稿内容を削除するか、
「解決しました」の自己レスを入れておいてね。
じゃないと、解決したことにレスをつけるという
私みたいな大間抜けが「また」出る可能性がありますから。
今からでも遅くありませんよ。

#私のレスは速攻で削除しました。


[184]敵の爆発がおかしいんです。
げん
(http://maebashi.cool.ne.jp/gengenda/HSPstg.zip) 2001/08/11 04:13:54

どうも初めまして。ここのdirectX講座はとても参考になってます。
それで今、hspdxfixを使って横STGを作っているんですけど
敵を破壊した時の爆発がおかしく、別の場所も爆発しているんです。
それと時間が経つにつれ、敵の数が減って連射もおかしくなります。
完成度3%ですがこれが現在のソースファイルです。
何が悪いのかご教授いただければ幸いです。


[183](・____・)ノ
NANA
(http://www4.justnet.ne.jp/~tanchan/) 2001/08/11 00:46:09

HSP側のバッファサイズですね。

あと、実際の画面のサイズとHSP側のオフスクリーンサイズは
統一しないといけないようなので640*480などの貴方の
使っている解像度と同じサイズの画像に統一した方が無難でしょうね。

・使っている画像を640*480に統一しましょう。(これが無難。)
 もしくは640*480以内のサイズで、かつ4の倍数です。
 これはHSP側の「bufferなんたら」の所のサイズを意味しています。

これを守っていないと後でコピーされていないという障害が新たに発生します。

あと、画像が256色なのはオフスクリーンに送る画像は256色でないと
いけないというきまりがあるからではないでしょうか。フルカラーモードでも
オフスクリーンに送れるのは256色までだったはずです。
(フルカラーモードはパレットが違っても良いというモードだったはずです。)

もしかしたら見当違いなことを言っているかも知れないですが。


[182]ありがとうございます
ポロリ
2001/08/10 14:47:11

画像のサイズって、スプライトのサイズでしょうか?たとえば、24×24とか・・
それと、画像を、読みこみに成功したのですが、汚く<色が256色になってる???
なり、また、もともとのサイズより、おおきくなってしまったりします。
どうやったら、解決をすれば良いでしょうか?
よろしくお願いします


[181]Re:はじめまして
Sinagawa
2001/08/10 11:22:25

>なぜか、bmpを表示しようとすると、ななめに崩れてしまいます。
>screen命令などで、横の大きさを4の倍数に・・・ってどこかで、書かれていましたが、
>hspdxって、何にもいじんないとき(最初のところとか)、640のままですよね?
>それでも、ななめに崩れてしまします。

HSPDXはHSPのバッファの中身をそのままDirectX用のバッファにコピーして使うようになっていますので、
HSP側のバッファの横のサイズが4の倍数になってないせいで画像が崩れているのではないでしょうか。
一度、画像のサイズとbuffer命令のパラメータを確認してみてください。


[180]はじめまして
ポロリ
2001/08/09 16:29:47

現在、Hspdxを勉強中の若造ですが、hspdxについて質問です。
なぜか、bmpを表示しようとすると、ななめに崩れてしまいます。
screen命令などで、横の大きさを4の倍数に・・・ってどこかで、書かれていましたが、
hspdxって、何にもいじんないとき(最初のところとか)、640のままですよね?
それでも、ななめに崩れてしまします。
でも、jpgとかでは、なぜかちゃんとなるようです。
お願いします


[179]Re:es_bufferとパレット(解決編)
まぁちゃん
(http://http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/07/13 23:06:42

ゲーム作成に使っていたhspdxfixのバージョンを最新のものに置き換えたら現象がでなくなりました。
今回のゲームは256色で作ると決めていたのでバージョンを上げていませんでした。

お騒がせいたしました。


[178]Re:es_bufferとパレット
まぁちゃん
(http://http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/07/13 00:23:48

ご返事ありがとうございます。

>この現象はビデオボードに依存するものかもしれません。
私が使用している環境はデスクトップ、ノートPC共にVRAMが4Mなので、
限界がすぐに来てしまうのかもしれません。

デスクトップ
OS:Windows98SE DirectX7
ビデオ:nVIDIA RIVA 128(4M)

ノートPC
OS:Windows98SE DirectX7
ビデオ:RAGE Movility(4M)

会社で使っているPCのビデオを調べていませんでしたが、
仕事用なのでそんなにVRAMは積んでいないと思います。


[177]Re:es_bufferとパレット
Sinagawa
2001/07/12 23:16:29

報告どうもです。
こちらでも試してみましたが、repeatを4096まで引き上げても再現できませんでした。
時間があったらもう少し試してみますが、この現象はビデオボードに依存するものかもしれません。
参考までに、何度か書いてはいますが確認に使った環境を記しておきます。

PC-9821Xa13 OS:Windows2000 DirectX7 ビデオボード:Voodoo Banshee(VRAM16M)
HSP:Ver2.5 プラグイン:HSPDXFIX Ver0.12


[176]続es_bufferとパレット
まぁちゃん
(http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/07/12 18:44:46

連書き失礼します。
会社のPCで試してみたところ、es_bufferの回数に違いはありましたが(870回前後でした)
やはり、パレットを持ってこない現象が発生しました。
もし、発生しなかった場合、最初のrepeatの回数を増やしてみてください。


[175]es_bufferとパレット
まぁちゃん
(http://http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/07/11 23:41:23

ちょっと困った現象が発生してしまいました。
es_buffer命令は転送したbufferのパレットを自動で持ってくるはずなのですが、
832回目以降のes_bufferではパレットを持ってきてくれません。

サンプルスクリプト
#include "hspdx.as"
    es_ini
    es_screen 320,240,8,0
    buffer 3,320,240,1
    picload "sample\\hspdx\\hspdx.bmp",1
    gsel 0
    repeat 831
        es_cls
        gsel 3
        es_buffer 0,0
        gsel 0
        pos 0,0
        gmode 0,320,240
        es_copy 0,0,0
        pos 0,0
        color 255,255,255
        es_mes ""+cnt
        es_sync
        await 0
        stick st,128
        if st = 128 : break
    loop
    gsel 3
    color 0,0,0
    boxf 0,0,320,240
    picload "sample\\hspdx\\testchr.bmp",1
    es_buffer 0,0
    gsel 0
    repeat
        es_cls
        gmode 0,320,240
        es_copy 0,0,0
        pos 0,0
        color 255,255,255
        es_mes "testchr.bmp"
        es_sync
        await 0
        stick st,128
        if st = 128 : break
    loop
    es_bye
    end

1つ目のrepeatをESCキーでブレイクさせると2つ目のrepeatでは正常に表示されます。
自分のデスクトップPC,ノートPCではこの現象がでましたが、
他の環境で試していませんので、よろしければ検証していただけませんでしょうか?


[174]Re:おにたまさんとこ
Sinagawa
2001/07/10 22:45:18

>おにたまさんとこのURL移転してかなり立つんで、そろそろリンク書きかえた方がいいかと。

ご指摘どうもです。バナーが表示されてないところもあるので、まとめて直しておきます。


[173]おにたまさんとこ
名乗るほどの者じゃございやせん
2001/07/09 22:12:20

このページ移転前から見てます。初めての書き込みです。

おにたまさんとこのURL移転してかなり立つんで、そろそろリンク書きかえた方がいいかと。


[172]レス
Sinagawa
2001/07/07 14:07:27

>NANASEさん
>やはり、いきなりプラグインになれるのも難しいので、練習がてらに
>ミニゲーム(STG)を作ってます。

HSPDX(FIX)は複雑な知識を要する命令が少ない、もしくはほとんどなく、いろいろ作ったりサンプルを
いじったりしていればすぐに慣れると思いますのでがんばって下さい。

>それと、相互リンク希望です。これからお世話になります。

了解しました。次回の更新で張っておきます。

>純さん
es_getfpsは1秒たつまで同じ値しか返ってこないので、処理速度の監視をするなら
ウェイトの調整間隔を1フレームから1秒にするか、es_syncの戻り値を利用することで
改善されます。
ただ、(HSPでは)処理落ちをごまかすのは速度を落とすより難しいので、このルーチン自体
あってもなくても一緒かもしれません。


[171](無題)
(http://www.fureai-ch.ne.jp/~blogic/) 2001/07/07 00:43:01

>>FullScreenでノーウエイトだと、処理落ちしない限りFPSが
>>リフレッシュレートに依存しますよね?
>>これを不特定の環境で60FPSに固定したいのですが、
>>毎回、es_getfps の戻値から await で調整するしかないのでしょうか?
>
>awaitで調整しなくてもes_syncの第1パラメータを使ってウェイトを調整すれば可能で>す。
>ただ、タイマーの精度の関係でどうしても59〜61くらいでばらつきが出てしまいますが。

ご回答有難うございます。
es_syncの第1パラで調整するようにしてみました。
結果、どうやら、Waitの算出アルゴリズムがへぼな為、安定してないようです(;;

○現在の調整方法
・毎フレーム es_getfps の戻り値を取得
・ 60回分加算したら理想値(60*60=3600)と比較
  ※誤差を考えて3600の±150の遊びを入れて比較してます
  大きければ Wait++、小さければ Wait--

FPSのばらつきが 59〜61ってレベルの話になってません。
普段はそれなりに安定してるのですが、
重い処理があった直後は値も大きく変化して、
安定するまでも結構かかってしまいます。

・それを使ったプログラム(275k)
http://www.fureai-ch.ne.jp/~blogic/hime/Hime0.02a.lzh

根本的な考え方がおかしいのでしょうか?
良いアルゴリズムやスクリプトご存知の方いらっしゃいましたら
教えて下さい。


[170]はじめまして
NANASE
(http://www4.justnet.ne.jp/~tanchan/) 2001/07/04 01:54:28

 今までなかなかhspdxfixの使用に踏み込めなかったNANASEというものです。
はじめまして!今までずっとROMしていたのですが、特にこれ↓を待っていました。

>自分も回転や半透明あたりの機能は実装したいと思っています。

すぐにとはいかないようですが、気長に待ってます。特に半透明は。

やはり、いきなりプラグインになれるのも難しいので、練習がてらに
ミニゲーム(STG)を作ってます。

フルカラーモードの時点で「あぅ!やってくれましたね」と感激してました。
この上半透明が加われば、私としてはもう言うことはないですね。(^^


それと、相互リンク希望です。これからお世話になります。
もしかしたら何か要望が出来るかもしれませんが、そのときはまたよろしくです。


[169](無題)
Sinagawa
2001/06/30 22:47:50

現在ドキュメントの加筆修正中。意外と修正点少ないのねん。

>純さん
>今後のVersionは独自路線か、正式プラグインが前提になるのか
>ちょっと気になります。

現在のHSPDXFIXがそのままHSP Ver2.55に導入されることになりますので、
今後は「旧HSPDXとの互換性は保ちつつ独自に拡張」という形になるかと思います。

>FullScreenでノーウエイトだと、処理落ちしない限りFPSが
>リフレッシュレートに依存しますよね?
>これを不特定の環境で60FPSに固定したいのですが、
>毎回、es_getfps の戻値から await で調整するしかないのでしょうか?

awaitで調整しなくてもes_syncの第1パラメータを使ってウェイトを調整すれば可能です。
ただ、タイマーの精度の関係でどうしても59〜61くらいでばらつきが出てしまいますが。

>まぁちゃんさん
>16bit以上のとき、es_copy,es_zoomなどの命令に透過率の指定は可能でしょうか。
>(一部分の)フェードイン、フェードアウトや多様なエフェクトが可能になると思います。
>(更にスプライトにも指定ができれば…)

自分も回転や半透明あたりの機能は実装したいと思っています。
しかし、パフォーマンスの関係で必然的にDirect3Dを使用することになりますので
すぐに実装というわけにはいきませんが(こちらのスキル不足故ご容赦を)、
今後の予定に入れておきます。


[168]Re:お知らせ
まぁちゃん
(http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/06/30 15:36:24

フルカラー対応版がアップされているのに気が付きませんでした。

Sinagawaさん
>質問や要望などありましたら遠慮なくこの掲示板に書き込んでください。

さっそく要望です。
16bit以上のとき、es_copy,es_zoomなどの命令に透過率の指定は可能でしょうか。
(一部分の)フェードイン、フェードアウトや多様なエフェクトが可能になると思います。
(更にスプライトにも指定ができれば…)
もし可能であれば、追加をお願いします。

P.S.
現在作成中の同人ソフトにhspdxfix.dllを使用させて頂いております。
でも今回はあえて256色モード。


[167]Reお知らせ
(http://www.fureai-ch.ne.jp/~blogic/) 2001/06/30 02:13:19

ここの過去ログでそんな話題があったり、HSPの方の板でおにたまさんが
HSPDXFIXの事に触れていたので、期待してたのですが、
とうとう決まったのですね、おめでとうございます。

今後のVersionは独自路線か、正式プラグインが前提になるのか
ちょっと気になります。

ついでって訳ではないのですが、ちょっと悩んでるので質問です。
FullScreenでノーウエイトだと、処理落ちしない限りFPSが
リフレッシュレートに依存しますよね?

 これを不特定の環境で60FPSに固定したいのですが、
毎回、es_getfps の戻値から await で調整するしかないのでしょうか?
もっと良い方法がありましたら教えて下さい。

PS
Sinagawaさん、HP作ったのでリンク張らせて貰いました


[166]お知らせ
Sinagawa
2001/06/29 22:53:08

先日おにたまさんよりメールを頂きまして、HSPDXFIXをHSP Ver2.55より正式な
プラグインとして組み込んでいただけることになりました。
なお、サポートは今まで通りこちらでやってもらって構わないとのことですので
質問や要望などありましたら遠慮なくこの掲示板に書き込んでください。

そんなわけで、これからもよろしくお願いします。


[165](無題)
テイルづ
2001/06/23 13:59:39

こんばんは
最近いろいろ忙しくて遅くなってしまいました

画像のゴミ、パレットを整理したら正しく表示されました。
sinagawaさん,pumpkin!さん,ありがとうございました。

なんか最近Windowsの調子がすごく悪い。すぐ青い画面が出てくる。
また再セットアップやろうかな。今月3回目だけど。

pumpkin!さん
> このたびフリーのメアドを取得してしまいました(^-^)。
いや〜、実はメアド、ないんですよ。7月中には何とか取得しようと思ってるんですけど。
> 著作権上はげしく問題があるもの「ばかり」で……(^-^)。
多少ならそういうの許してくれてもいいのにね。


[164]はうあっ
MIYA
2001/06/22 23:34:03

こんちわ。
以前、「HSPDXFIXにフルカラーモードが欲しーっ」と叫んでいた者です(笑)
って、いつの間にかできちゃってますね!(爆)
「更新履歴」だけはしょっちゅうチェックしていたんですが、うかつでした^^;
試しに一度フルカラーで表示させてみました。…やっぱ綺麗☆
うぅ、涙が出るほど嬉しいです。
HSPDXFIX最高〜!(>▽<)/


[163]WinNT4.0でDirectX7
Sinagawa
2001/06/21 23:00:45

>WinNT4.0でDX7以上を動作させる裏技がないかなあって最近かけまわってます。
>なにか情報がありましたら教えて下さい。

ほんの少しですけど検索かけて調べてみましたが、それらしい情報は見つかりませんでした。
以前WinNT4.0にDirectX5をインストールさせるソフトがあったのですが、MSからお叱りを受けて
公開中止になったという前例があるので、仮に「インストールできるがそれ用のソフトが必要」
だとすると、望み薄ですね。


[162]RE:OSの話と掲示板
スミス
(http://di2-rpg.hoops.ne.jp/) 2001/06/21 10:37:55

スミスです。

私が扱ったなかでは、Win95OSR2.2とWinNT4.0SP6が今のところ一番安定してます。
どちらも成熟しきった感があるからかな。
特にWin95OSR2.2だとDX8使用のゲームをWin98SEで動作させるより30%くらい早かったです。
まあ、O/SとDriverとDXの相性次第だとは思いますが。
WinNT4.0でDX7以上を動作させる裏技がないかなあって最近かけまわってます。
なにか情報がありましたら教えて下さい。では。


[161]掲示板
Sinagawa
2001/06/20 22:47:07

>たかのんさん
>今気がついたんですが、URLの部分「http://」が消えて保存されてるような・・・?

内部で取っ払ってから保存しているのでそうなっちゃうんですが、どっちにしろ書き込んだときに
付加されるので気にしないでください。

>pumpkin!さん
>あ、全然気になさらないでください。
>「簡単にできるようでしたら、ぜひ」のレベルですから。

そうですか。じゃ、とりあえず現状維持の方向で。


[160]ああっ
たかのん
(http://homepage1.nifty.com/takanon/) 2001/06/20 01:52:47

>それ自分も気になったので、最近保存するようにしたんです。

本当ですね^^;
1週間ほど書き込みしていない間にパワーアップされてたわけですね。

今気がついたんですが、URLの部分「http://」が消えて保存されてるような・・・?


[159]Re.OSの話と掲示板
pumpkin!
2001/06/20 01:35:13

こんにちは。

> 簡単には削除機能を付けられないかもしれません

あ、全然気になさらないでください。
「簡単にできるようでしたら、ぜひ」のレベルですから。
「2時間以内に」うんぬんの件も、ほかの利用者の方を
いたずらに混乱させてしまうおそれがありますし……。

なお、Sinagawaさんの掲示板に対する冗談の感想としては
「青色は『なぜか』心臓に悪い」というのがあります。
なぜでしょう?
そう、マイクロソフトのせいです(^-^)。


[158]OSの話と掲示板
Sinagawa
2001/06/19 23:50:50

Win9x系は被害報告が豊富ですね。
自分がWin98を使っていた頃はよくリセットボタンに手をかけていましたし、
Win終了時に電源切れる準備ができたところで黒画面(9821なので)になったりとかして
なかなか愉快でした。最後はセーフモードでしか起動できなくなって原因がつかめず
あきらめる形でそのままご臨終となりましたが。

で、Win2000を入れてからはかなり安定しています。丸二日くらいなら連続稼働しても
あまり変なことをしない限りまず落ちることはありません。
が、ゲームにはいまいち向いていないのが欠点です。Win98で動かすと1.5倍くらい高速なんです。
なのでデュアルブートにしてあるんですが、この98がまた愉快(笑)なので全然使ってません。
というより、↓こいつのせいで使い物になりません。
「なんでディレクトリ名に空白を含めるとファイルの保存に失敗することがあるの?」

とりあえず愚痴はこの辺で。

>たかのんさん
>※ちなみにこの掲示板って名前とかアドレス保存するようにできません?

それ自分も気になったので、最近保存するようにしたんです。
JavaScriptがONで、クッキーを受け入れる設定になっていれば保存されるはずです。
自分はJavaScript切って使っているのでいちいち入れてますが。

>pumpkin!さん
>私の身勝手な要望は無視してくださってかまいませんが
>「削除コード」があるとうれしいです。

実はこの掲示板、かなり設計がいい加減なので簡単には削除機能を付けられないかも
しれません(ログをHTMLソースの形で持たせているので、最悪削除キーが生で見えます)。
「2時間以内に誰も書き込みがなかった場合に限り削除可能」とかでよかったらつけますけど。
#それにしてもまあ使えば使うほどボロの出る掲示板だこと。


[157]壊OSその3
butisava
2001/06/19 23:38:18

>ていうか簡単に壊れるな(笑)>Windows
こんばんは。
うちの98もよくハングアップしてしまって困りものです。
マイクロソフトのサポートに電話しても役に立たないし・・・
バックアップし忘れたときの再インストールの悲劇はこりごりです。(;_;)


[156]壊OS その2
pumpkin!
2001/06/19 18:44:07

>ていうか簡単に壊れるな(笑)>Windows

そうだ、そうだ!! >Windows
特にうちの98君はすぐにブルー画面になる軟弱者で困っとります。
この間は2時間の使用で3回ブルー画面になり再起動 -> スキャンディスク。
windows起動時に「そのまま」青い世界にいってしまわれることもたまにあり
せつなさを覚えます。
これってやっぱり再インストを検討すべき末期的症状なのでしょうね(T-T)。

>たかのんさん
>ちなみにこの掲示板って名前とかアドレス保存するようにできません?

私の身勝手な要望は無視してくださってかまいませんが
「削除コード」があるとうれしいです。
投稿してから間違いに気づき削除するってことをしょっちゅうやっている人なので、
「書き込む」ボタンを押すのにかなりドキドキします。

すみません。pumpkin! ってば小心者なんです。


[155]壊OS
たかのん
(http://homepage1.nifty.com/takanon/) 2001/06/19 01:12:41

>ていうか簡単に壊れるな(笑)>Windows

ちょいと横レス(笑)WindowsMEはほんっとよく不調に陥ります。
あんまムカつくんで仕事用のノートPCは中古で98SEを探しました^^;
さすがにテイルづさんみたいに10回/月っつーことはないですが、
今の環境で安定するまでに4回は再セットアップしましたね。
HDDパーテーション切って主要なデータやフリーソフトを別ドライブにしてるんで、
再セットアップで面倒なのは周辺機器のドライバ関係だけですけどね・・・。

※ちなみにこの掲示板って名前とかアドレス保存するようにできません?
※毎回入れるのが結構面倒だったり^^;


[154]Re:修正
Sinagawa
2001/06/18 23:38:15

>p4を0にしても正しく表示できるようにするにはどうすればいいですか?

昨日書いたとおり、236色モードでは一部のパレットが定義されないことになります。
もし画像の中にその定義されないパレット(236〜255まで)が使われているのであれば
それを置き換えることで対処できます。
いずれにしても、HSPDX(FIX)はフルスクリーンベースで使うものなので「ちゃんと表示できて
普通に動作するからまあいいや」ぐらいの気持ちでいても罰は当たらないと思います。

それにしても一月で10回以上もOSの再インストールですか・・・。
自分は今までに2回しか再インストールをしたことはないですが、あんな作業が日課になるのは
ごめんです。丸一日つぶしたことあるし。ていうか簡単に壊れるな(笑)>Windows


[153]Re.修正
pumpkin!
2001/06/18 05:49:18

こんにちは。

> すみません、いまやってたらまだ変でした

基本的にはSinagawaさんのご回答を待っていただくとして、
よかったら問題の画像を送っていただけませんか?

……という一文を書きたかったがために
このたびフリーのメアドを取得してしまいました(^-^)。
タイトル下、パセリ・プロジェクト@……までどうぞ。
首を突っ込んだ手前、気になって、気になって……。

> 先月なんていろいろあって10回以上再インストールしてますから。

おおっ、それは豪快な……。
わしも昔は再インストが趣味だったのですが、さすがにもう飽きました(^-^)。

ところで、実験台役を買っていただけるとのお言葉はだんけっしぇーんです。
まあ、冗談というか、わしが作るソフトって
「魔女の宅急便のキキちゃんがアニメしながら夜空を飛び回るセーバ」とか
「綾波のレイちゃんがなんたらかんたらするソフト」とか
著作権上はげしく問題があるもの「ばかり」で……(^-^)。
内輪では大好評ゆえ、WEBにアップできない悲しさと必死に闘っているっす。
「おともだち」ってことでメール送付なら問題ないのかな?
うーむ、微妙だ。


[152]修正2
テイルづ
2001/06/17 19:41:52

書き込んだのを見てませんでした。件数増やしてすみません
p4を0にしても正しく表示できるようにするにはどうすればいいですか?


[151]修正
テイルづ
2001/06/17 19:36:54

すみません、いまやってたらまだ変でした
es_screenのp4が2じゃないと正しく表示されません
いろいろ見てたんですが、やっぱりこれって何かおかしいですよね?


[150]Re:解決しました
Sinagawa
2001/06/17 19:18:13

>パレットに異常を見つけれなかったので、ほかの部分をいろいろいじっていると
>es_screenのp4を0から1に変えて見るとなぜか正常に表示されました。
>いろいろありがとうございました。
>・・・ところで、原因はいったいなんだったんでしょう?

es_screenのp4が0になっている場合、パレット0〜235の236色を使用することになります。
その範囲外の色が使われていると、その部分のパレットは正しく定義されないので
(たいてい不透明の黒になります)それが原因だろうと思います。


[149]解決しました
テイルづ
2001/06/17 17:45:38

こんにちは。
いろいろ調べていて遅くなってしまいました

パレットに異常を見つけれなかったので、ほかの部分をいろいろいじっていると
es_screenのp4を0から1に変えて見るとなぜか正常に表示されました。
いろいろありがとうございました。
・・・ところで、原因はいったいなんだったんでしょう?

pumpkin!さん
> おおっと、そういえば「テイルづ」さん、
> その「突き進んでしまった人」ではあ〜りませんか!?
> わしの作ったDirectXソフトの動作確認してみない?
> (すみません。悪い冗談っす m(_ _)m  )
いいですよ〜。僕はOSの再インストールすることになっても何も問題ないですし。
先月なんていろいろあって10回以上再インストールしてますから。


[148]ご回答へのお礼ほか。
pumpkin!
2001/06/17 04:13:25

こんにちは。
ご回答いただきましてありがとうございました。

> DirectX関係の話題に強い人はまだまだ多いとはいえない状況なので

確かにそんな感じは受けますね。
DirectX系の質問にはレスがつきにくい傾向がありますし……。
私はまだまだ「たしなんでいる」程度の人間ですが、これを機会に
少し没頭してみようかなと考えている今日このごろです。

> 気が向いたら自ら出向いて書き込もうと思います。

心を込めてお待ちしてます(^-^)。
と、言いますか、さっそくβ掲示板でお姿を拝見し感動しています。
3カ月ぶりのご登場に、きっと「おっ、Sinagawaさんだ、Sinagawaさんだ」と
はしゃいだ方は多いんじゃないでしょうか。

> 上位バージョンでの動作が保証できず、
> それでいて下位互換性が低いとは困ったもんです。

まったくです(^-^)。
それにしてもOSの再インストールですか(ため息)。
ところでこの「OSの再インストールした方」って、
「DirectXバージョンダウン化ソフト」を使ってもダメだったのか、
そういうソフトがあるのを知らなかっただけなのか、ちょっと気になります。
その手のソフトを探したうえで人柱になろうかと考えていただけに……。

ともかくもHSPソフトの動作に関しては、
すでに戻れない道を突き進んでしまった人を探して
動作確認してもらうしかなさそうですね。

おおっと、そういえば「テイルづ」さん、
その「突き進んでしまった人」ではあ〜りませんか!?
わしの作ったDirectXソフトの動作確認してみない?
(すみません。悪い冗談っす m(_ _)m  )


[147]有難うございました。
みみず大名
2001/06/17 03:26:45

>このとき隠れている面積が広いほど、描画が省略されるからか速度が上がるようです。

なるほど盲点でした。
私が、余程へっぽこな真似をしているのかと思っていました。
これで安心して先に進めます。ありがとうございました。



[146]レス
Sinagawa
2001/06/16 02:43:31

>pumpkin!さん
>特にDirectXに関するSinagawaさんの造詣の深さ、的確なご回答には
>いつも美しさを感じていたものです。

そう言われるとなんだか恥ずかしいです。まだまだ自分も精進が足りませんから。
本家掲示板の方は自分自身あまり積極的じゃないことと、向こうには即レス返してくれる人がいっぱいいるので
何となく出る幕ないかなって感じでROMに徹していますが、DirectX関係の話題に強い人はまだまだ多いとはいえない状況なので
気が向いたら自ら出向いて書き込もうと思います。

あと、前のレスで「後ろ向きな解決策」と書いたことに補足しておきますと、ハイカラー以上で
動かした場合に問題が解決した場合、それが根本的な原因究明になってなくて単に一時しのぎの処置で逃げているだけに
すぎないかもしれないと考えたからです。
ま、結局どうなのかはテイルづさんの返答を待つしかないのですが。

>DirectX8とHSPとの互換性
なんでも「DX7以前の機能は単なるエミュレーションで動かしているので遅い」とか「下位バージョンとの互換性が低い」
という話を聞いたことがあります。ひどいとOSの再インストールまでする羽目になるらしく、あまり評判はよくないみたいです。
で、どうすればよいかというと、これこそ後ろ向きですが「DX8が安定するまで保留する」のが現状ではベストかと思います。
それにしても上位バージョンでの動作が保証できず、それでいて下位互換性が低いとは困ったもんです。
ちなみに自分は未だに9821ユーザー故に人柱にすらなれないので、どうすることもできないので、まあ、そういうことで。

>みみず大名さん
>ウィンドウモードで使用した場合、そのウィンドウが
>アクティブの時の方が、他のウィンドウがアクティブのときよりも動作が
>遅いのですが、これはどういった原因が考えられるでしょうか?

他のウィンドウがアクティブになると、そのサイズによっては今までアクティブだったウィンドウは
その下に隠れることになります。
このとき隠れている面積が広いほど、描画が省略されるからか速度が上がるようです。


[145]HSPDXFIXでウィンドウモードで、
みみず大名
2001/06/16 01:06:52

初めまして。

HSPDXFIXを有りがたく使わせていただいています。(使い始めたばかりですが)

質問なのですが、ウィンドウモードで使用した場合、そのウィンドウが
アクティブの時の方が、他のウィンドウがアクティブのときよりも動作が
遅いのですが、これはどういった原因が考えられるでしょうか?

どうにもHSPにはなれていないため、アチコチでログを探したのですが、
さっぱりでした。

なにかヒントになるような事例でもあれば宜しくお願いします。




[144]Re:初めまして(その2)
Parsley 改め pumpkin!
2001/06/15 02:56:11

たびたびすみません。
下、長々と書いたため、質問したかったのを
忘れてしまいました(^-^)。

テイルづさんの本家掲示板からの引用なんですが……

> (HSPで)実行するときDirectX8を使ってるんですが、これは問題ないですか?
> どこかでDirectX8だと、変になる場合があると聞いたので・・・
                     *( )内はpumpkin!注

これは私も聞いたことがあって、
意識的に「8」にバージョンアップしていません。
いったん「8」にアップすると、簡単にはバージョンダウン
できないようで(何かソフトを使ってやるみたいですね)
簡単に試せないもどかしさを感じています。

Sinagawaさんは「8」とHSPの互換性について
何か情報をお持ちでしょうか?
「8」にアップしていいものかどうか
また、よくない場合、「8」搭載者へのソフトは
どう作るべきか(単純にあきらめるべきか)
アドバイスやお考えを聞かせていただけると幸いです。


[143]Re:初めまして
Parsley 改め pumpkin!
2001/06/15 02:25:51

こんにちは。
「テイルづ」さんに「Sinagawa」さんを紹介した犯人の(^-^)
「Parsley」 改め pumpkin! です。

私は最近、本家掲示板に書き込みを始めたばかりの人間ですが
読むだけでの利用は2〜3年前から続けており
Sinagawaさんのご活動はよく存じております。
特にDirectXに関するSinagawaさんの造詣の深さ、的確なご回答には
いつも美しさを感じていたものです。

最近、本家掲示板ではお目にかかれないことを残念に思いつつも
「きっとSinagawaさんなら……」と紹介させていただきました。
どうも申し訳ありません。
何でもかんでもと安易に紹介することはしませんが、
困り切っている人がいましたら、また紹介することも
あるのではないかと思いますので、その際はどうかお助けください。

ところで

>後ろ向きな解決策としては本日HSPDXFIXがバージョンアップして

いただいていきま〜す(^-^)。
どうもありがとうございます。
最近DirectX系はごぶさたなんですが、また何か考えてみようと思います。

>テイルづさん
私は全然「後ろ向きな解決策」だとは思いませんです。
このご発言は Sinagawaさんのあふれんばかりの謙虚なお人柄
ゆえのものでしょう(^-^)。


[142]Re:初めまして
Sinagawa
2001/06/14 21:49:39

黒色がパレット番号0に設定してあるか確認してください。
HSPDXは黒色の検索処理にバグがあって透明色がパレット0に固定されてしまっています。
(このとき、RGBが何色でも透過するため、ゴミが出ます)
それでも解決しないときは画像を見せていただけると何か分かるかもしれません。

あと、後ろ向きな解決策としては本日HSPDXFIXがバージョンアップして、フルカラーに暫定的ですが
対応するようになったので、それを使って16bit以上のカラーモードで動かすと言う方法もあります。


[141]はじめまして
テイルづ
2001/06/14 19:08:18

はじめまして。テイルづといいます。
HSPでhspdx.dllをつかってゲームを作ろうとしてるんですが、途中で変になってしまって・・・
「DirectXのことはsinagawaさんに聞くといい」とHSPの掲示板で紹介されてここにきました
ということで質問があるんですけど、
画面に画像を表示したんですが、なぜかいっしょにゴミみたいなものが写ってしまうんです。
絵の部分の周りに余計なものが・・・。
hspdx.dllを使わずに普通の画面で表示したときは正常なんです
画像で表示させたくないところは黒(0,0,0)にしてるし、色も100色くらいしか使ってないんですが・・・

よろしくお願いします!


[140]白線
butisava
2001/06/13 23:35:10

>なので、回避する方法があるかどうかは分かりません。
そうですか、残念です。
どうも、白線がでるのはHSPで制作されたソフトに限るようです。


[139]Re:白線
Sinagawa
2001/06/10 23:43:59

>ウィンドウモードでDirectXを使うと、ウィンドウの中央に左右へと白線が走るのですが、
>これはビデオカードが古いため起こる現象なのでしょうか?

ビデオカードが古いからかどうかは分かりませんが、環境に依存した問題であることは確かです。
(現にうちの環境では出ませんので)
なので、回避する方法があるかどうかは分かりません。


[138]白線
butisava
2001/06/10 01:01:23

 質問なのですが、ウィンドウモードでDirectXを使うと、ウィンドウの中央に左右へと白線が走るのですが、これはビデオカードが古いため起こる現象なのでしょうか?
 回避する方法がありましたらぜひ教えてください。m(__)m


[137]できましたぁ!
たかのん
2001/06/05 01:08:16

無事にごみ消去できました^^
どうもありがとうございます。
こんなことってあるんですねぇ・・・。


[136]ああ、なるほど
たかのん
2001/06/05 01:00:23

existでファイルサイズを取得してから読み込めば
ごみ混入が防げるというわけですね。なるほど。やってみます。


[135]RE:バグ?
M.K
2001/06/03 23:18:34

>そこまで状況が限定されるとかえって奇妙ですね・・・。

すいません、試していたらID3以外からでも起こりました。
よく使う画像をID3に入れているので勘違いしたみたいです。
それと、es_copyは全部gmode 2にしていました。
紛らわしいことを言ってしまってすいませんでした。
gmode 2以外でも起こるか試してみます。


[134]レス
Sinagawa
2001/06/03 22:38:52

>たかのんさん
下のスクリプトをコメントをつけたまま実行した場合と、はずして実行した場合で表示される数値が
違うことからも分かるように、パックしたテキストファイルを読み込むときはファイルサイズを指定しないと
少し余分に読み込んでしまうようです。
そのせいでゴミが入ってしまうのではないでしょうか。

alloc data,100000
;exist "test.txt"
bload "test.txt",data ;,strsize
notesel data
notemax nmax
mes nmax
stop

>M.Kさん
>この現象を確認できたのはオフスクリーンバッファID3の
>y座標96からgmode 2 でコピーするときだけです。

そこまで状況が限定されるとかえって奇妙ですね・・・。
いろいろ調べてみます。


[133]Re:バグ?
M.K
2001/06/03 18:27:44

>もし「こうしたら100%再現できる」って方法がありましたら教えていただけるとありがたいです。 

この現象を確認できたのはオフスクリーンバッファID3の
y座標96からgmode 2 でコピーするときだけです。


[132]テスト実行時とexeファイルで動作が違う
たかのん
2001/06/03 16:44:01

たかのんです。

本家BBSにも書き込みしましたが、テスト実行時には現れないスプライトが
exeにすると出現します。なんでなんでしょうねぇ・・・?全く原因不明。
キャラクタ番号0のキャラが(x,y)=(0,0)の位置に勝手に出没します。しか
もちゃんと当たり判定に反応するという^^;


[131]Re:バグ?
Sinagawa
2001/06/03 01:27:42

>es_copyする時に、指定したコピー元のy座標より
>30ドットぐらい上の位置からコピーされることがあります。

おそらくクリッピングを付加した際にできたバグだろうと思います。
実はこれ、DLLの差し替え動作実験したときに気づいたんですが、発生率が低くてよく分からなかったので
そのままにしていて、ほかの部分に手をつけているうちに忘れてしまいました。
もし「こうしたら100%再現できる」って方法がありましたら教えていただけるとありがたいです。


[130]バグ?
M.K
2001/06/02 23:56:10

はじめまして、HSPDXFIXを使わせて頂いてます、M.Kです。
ちょっと気になることがあるんですが、
es_copyする時に、指定したコピー元のy座標より
30ドットぐらい上の位置からコピーされることがあります。
HSPDXを使ったことは無いんでよくは分からないんですが、
これはHSPDXFIXのバグなんでしょうか?


[129]ありがとうございました〜
MIYA
(http://miyacchi.hoops.ne.jp/) 2001/05/31 00:09:54

わざわざ遊んで頂きありがとうございましたっ!
あのゲームが初めてDirectXを使ったものだったんですが、
これに味を占め今後もHSPDXFIXにはお世話になり続けると思いますので
これからもよろしくお願いしますです。<(_ _)>


[128]Re:SOS!誰か助けてください!!
Parsley
2001/05/30 03:37:17

こんにちは。
ちょっと「新米さん」の動向が気になったので(^-^)
連日で遊びにきました。

私も初心者レベルですので偉そうなことは言えないんですが
投稿された以下のスクリプト……

es_ini
es_screen 1024, 768, 8
if stat=1 : goto *dder1
if stat=2 : goto *dder2
bgscr 2, 1024, 768, 0, 1024, 768

素朴な疑問なんですが、最後の

bgscr 2, 1024, 768, 0, 1024, 768 

は普通

bgscr 2, 1024, 768, 0,    0,   0

じゃないんでしょうか?(おそるおそる)
何か特殊なことを意図されてます?
あ、大ぼけな発言してましたら許してくださいっ!!
また、「1024, 768」のところを
「dispx,dispy」に変えてもエラー出ます?
これは関係ないかな……

なお、わたし的には「hspdx.dll」よりSinagawaさんの
「hspdxfix.dll」を使わせていただく方がよろしいかと……
おにたまさんには大変申し訳ないんですが
1回「hspdx.dll」を使用して組んだら
デバッグ作業が想像以上に大変でした。


[127]Re:SOS!誰か助けてください!!+その他レス
Sinagawa
2001/05/30 00:09:49

>新米ですさん
とりあえず記述内容からはいまいち問題点がつかめなかったのですが、エラーが出るのは
画面の設定から作成したスクリーンセーバーを選択したときということでよいでしょうか?
調べてみたところ、プレビュー(「画面の設定」で出てくる小さいモニターのやつ)を表示
するときにDirectXの初期化をしようとするとエラーが出るようです。
コマンドラインからプレビュー/設定/スクリーンセーバー本体の判断をきちんと行うよ
うにしてみてください。(詳しくはサンプルのスクリプトを参照)
それで駄目ならもう少し詳しいスクリプトを乗せていただけると解決の糸口がつかめるか
と思います。
あと、書き忘れるところでしたがstat=2は解像度の変更に失敗したときに出るエラーです。

>MIYAさん
「モノさんの敵」遊んでみました。まだちょっとしかやっていませんがLV12で撃沈しました。
ランキングに名を連ねている人の足元にも及ばないようです(とほほ)。

>まぁちゃんさん
それは大変でしたね。自分は絵が描けないこともあって「6万色も色数あって何に使うんだ?」
とか思うクチですが、ドット絵と一枚絵では事情が違いますからねえ。
対応を中止することはないと思いますので期待しないで待っていただけると嬉しいです。

>Parsleyさん
フォローどうもです。
「1024*768で初期化」ってところでピンときました(笑)。


[126]SOS!の追加説明です。
新米です
2001/05/29 08:52:14

説明不足の注意をしていただきありがとうございます。
私が作っているスクリーンセーバーは、DirectXを使ったものです。使っているDLLは
hspdx.dll です。サンプルのプログラム等はすべて動きます。
実際に自分で作ったスクリーンセーバーを使用してみると、スクリーンの初期化のエラーがでてしまいます。そこで、stat=2 の時にエラーとなるのでこの意味を教えてください。
プログラムは、コンパイル+実行 をすると正しく動いています。
今、1024X768での初期化をしているので、640X480にしてやってみても
だめでした。
また、画面の設定のところでエラーはでているのですが、プレビューのボタンをおすと、
画面が真っ白から始まり、普通の動きをします。そこで、スクリーンの初期化の方法を画面の外にもってきて、画像の描画時にもとに戻すという方法もとってみましたが、結果は
同じでした。

初期化のプログラムの一部です。
es_ini
es_screen 1024, 768, 8
if stat=1 : goto *dder1
if stat=2 : goto *dder2
bgscr 2, 1024, 768, 0, 1024, 768


この説明でわかるでしょうか?どうか回答をお願いします。




[125]Re.SOS!誰か助けてください!!
Parsley
2001/05/29 08:08:08

>新米ですさん
おっとぉ。
「DirectX使った」スクリーンセーバだってこと
どこにも書いてないじゃない。
これ、重要よ。
Sinagawaさんならきっと
「stat=2」で反応してくださるでしょうけど……


[124]DLのお礼 & Re.SOS!誰か助けてください!!
Parsley
2001/05/29 07:38:32

はじめまして。
「hspxfix.dll」DLさせていただきました。
どうもありがとうございました。
じっくりヘルプとか読ませていただきます。

>新米ですさん
あ、本家掲示板で解決つかず困ってた方ですね。
DirectX の大家・Sinagawaさんの掲示板で聞かれるのは
センスいいっす(^-^)。
なお私には「スクリーンの初期化に失敗」以上の
回答能力はありませんm(_ _)m
それ以上の回答がほしいみたいですから……。

ただ、使っているDLLは「hspdx.dll」?
インストールされてるDirectXのバージョンは「7」? 「8」?
hspdxのサンプル「SSAVER.AS」は正常に動く?

エラー解消が目的なら
ここらへんを書かないとSinagawaさんも困ってしまうのでは?


[123]フルカラー
まぁちゃん
(http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/05/28 23:29:08

hspdxfix.dll使わせて頂いています。
オフスクリーンバッファ数などとても重宝しています。

256色制限の為に同人ソフト合作を断られた私にとって
今後のバージョンでフルカラー対応はとても嬉しいです。


[122]SOS!誰か助けてください!!
新米です
2001/05/28 14:20:51

はじめまして。
最近、HSPをやりはじめた者です。今、スクリーンセーバーを作っているのですが、
実際にスクリーンセーバーを使用してみるとスクリーンの初期化のエラーがでてしまい
ます。そこで、stat=2 の時にエラーとなるのでこの意味を教えてください。
プログラムは、コンパイル+実行 をすると正しく動いています。
今、1024X768での初期化をしているので、640X480にしてやってみても
だめでした。
どうか、至急どなたか教えてください。よろしくお願いします。


[121]DirectXゲーム
MIYA
(http://miyacchi.hoops.ne.jp/) 2001/05/26 03:22:22

>要望の声を多く聞くので今後のバージョンで
>対応していこうと思います。
  ありがとうございます。
  ぜひぜひ宜しくお願いしますっ
  めっちゃ期待してます^^

早速、hspdxfix.dllを使わせて頂きました。
「モノさんの敵」というマウスアクションゲームに導入したのですが、
宜しかったら一度遊んでみてください。
って宣伝に来たみたいで失礼しました^^;
すごすご…


[120]HSPDXFIXのフルカラー対応
Sinagawa
2001/05/25 11:27:22

遅レスすいません。

>ところで1つお聞きしたいのですが
>24Bitカラー、もしくは16Bitカラーモードへの対応は
>今後のバージョンアップでは予定されていないのでしょうか?

開発当初の方針上の都合(日本語滅茶苦茶)と、ここ最近パレット周りの問題解決のほうに集中
していたのでそこまでは考えていませんでしたが、要望の声を多く聞くので今後のバージョンで
対応していこうと思います。


[119]初めまして
MIYA
(http://miyacchi.hoops.ne.jp/) 2001/05/22 10:34:11

最近HSPでDirectXのゲームを作るようになった初心者です。
しかしhspdx.dllではいろいろ不具合が残っていたり
バージョンアップの見込みが薄い感じだったので
今後はこちらを使わせて頂く事にしました。
ウィンドウモードでデバッグ作業ができたり、
オフスクリーンバッファを64個も取得できるのは
本当に涙が出るほど嬉しいです。

ところで1つお聞きしたいのですが
24Bitカラー、もしくは16Bitカラーモードへの対応は
今後のバージョンアップでは予定されていないのでしょうか?
パレットに縛られず、思うがままに画像処理をしたいというのは
やはり無いものねだりなのでしょうか…


[118]そうですね
たかのん
2001/05/12 09:50:02

>どっちにせよデバッグ目的で実装したものなんで、多少挙動が変でも気にしないと言う
>選択肢をこちらでは推奨していますが(笑)。

確かに(笑)
ウィンドウモードの動作速度じゃ実用的ではないですからね。
デバッグウィンドウの中身が見れるのは非常に大きいし、
スクリーンショットが簡単に取れるのも嬉しいところ。

※解像度変更では試してません^^;


[117]あ、直ってましたか。
Sinagawa
2001/05/12 01:07:10

そいつはよかったです。
で、原因なんですが簡単に言うとパレット作成する際に
「256色すべてをDirectXで使うぞ」みたいなパラメーターがあるんですが、それを
何かの弾みで取ってしまってたのでフェードする色に制限ができてしまったんです。

>ただし、ウィンドウモードではやっぱりフェードしませんね・・・。
デスクトップの色数を256色にしても駄目ですかね?
どっちにせよデバッグ目的で実装したものなんで、多少挙動が変でも気にしないと言う
選択肢をこちらでは推奨していますが(笑)。


[116]うおおおおおおおっ
たかのん
2001/05/10 01:25:05

>パレット問題解消
・・・の文字を見て、仕事で疲れた体に鞭打ってテストしました^^;
懸案だった黒フェード白フェード共にフルスクリーンなら今のところ
問題は見つかりません。es_fmesで表示した文字も同様です。
ただし、ウィンドウモードではやっぱりフェードしませんね・・・。

結局原因はなんだったんですか?・・・って、教えていただいても
私には多分わからないんでしょうけど(笑)
文系Hspしかプログラムわかんない人間なので(^^ゞ


[115]FIX.DLL
butisava
(http://www.netpro.ne.jp/~butisava/) 2001/05/10 00:01:28

はじめまして。
DirectXでゲーム作りを始めたbutisavaといいます。
丁度es_copyに困っていました。ありがたいです。
hspdxfixを頂いていきます。m(__)m


[114]パレット問題解消
Sinagawa
2001/05/09 22:19:47

しました。
よく見たら「何だぁ」と言いたくなるような原因でした。でもいついじったか記憶にないんだけど。
あとは2Kフルスクリーンでフェードができればほぼ完璧なんだけど。


[113]ああ、ひょっとするとOSで・・・・
たかのん
2001/05/05 03:03:42

うちで動作確認してるのはWindowsMEです。WIN2Kの場合とちょうど逆になるケースが多々見受けられます。
・ホワイトフェードしてからブラックフェードがうまくいかない
※es_palfade 255 : es_palfade 0,16などとやると、黒に近い色は白から一瞬で元の色に戻っちゃいます。
※白から徐々に元の色に戻る、というふうにならないです。
・ウィンドウモードだと一切フェードインアウトしない。
・es_fmesで表示した文字は全然駄目。途中で色が切り替わったりします^^;

そういえば思い出したんですが、hspdx.dllで画面のフェードインアウトを
してたときは、es_palfade 0,16というような使い方をせず、別個変数で制御
させてましたね。そうしたらフェードインアウトが止まらないバグは防げてました。

-------------------------------------------------------------
    repeat 288
        es_cls 
;画面描写
        if cnt<128 : fadelevel=fadelevel+2
        if cnt>160 : fadelevel=fadelevel-2
        es_palfade fadelevel
        es_sync 
        await 0
    loop
-------------------------------------------------------------
これは「Distance」の古いバージョンで、タイトルクレジットの
フェードインアウトで使ってたルーチンです。最新のスクリプトでは
こういう形でやらなくなってますね・・・いつのまに変えたんだろ?

es_palfadeは使わない方が無難・・・ということでしょうか?^^;
使ってるパレットの内容によっても動作が変わってくるでしょうし、
OSによってもこれだけ違いが出てくると・・・ひょっとしてDirectXの
バージョンにも左右されるかもヽ(゚-、゚)ノ


[112]新着情報&パレット問題
Sinagawa
2001/05/04 22:16:20

とりあえず放置していた不具合を解消したので久しぶりに正式バージョンをアップしました。
長々と続いているパレットフェード周りの問題ですが、現バージョンの場合うちの環境では以下のような感じになってます。

●Win98の場合
・どのモードでもフェードアウトしない色が2色有り。
・es_fmesで表示した文字はフェードアウトする色で表示している場合ちゃんとフェードアウトしてくれる。

●Win2000の場合
・まずフルスクリーンじゃフェードアウトしてくれない。
・ウィンドウモードならWindowsに保護されている色以外はフェードアウトしてくれる。
・es_fmesで表示した文字はフェードアウトしてくれない(どっから色拾ってるんでしょう。HSPのウィンドウか?)。
・黒(パレット0)はホワイトフェードしてくれるが、白(パレット255)はブラックフェードしない。

●Win98、Win2000共通の問題
・ウィンドウモードでのフェードイン/アウトが汚い。
・グレースケールのパレットを作ってウィンドウモードでフェードすると3分の2くらい変色する。

●その他
・3/31にアップしたβ版と一昨日アップしたβ版のパレット周りのコードは同一のはずである。
・念のためWin2K上でAMddraw ver0.99gを使って試したところ、やはり白はフェードアウトしなかった。

パレット周りは謎がいっぱい。


[111]そして再び
たかのん
2001/05/03 12:29:30

素早い修正有難うございました。es_angの角度は完璧でした。
ところが今度はパレットフェード関係がまた・・・^^;
es_fmesは使わないことにします。
なんか繰り返しになってる〜ヽ(゚-、゚)ノ


[110]Re:再びのes_ang
Sinagawa
(http://www.diveto.net/zero/junk/hdfbeta.lzh) 2001/05/02 09:46:54

>es_angで示される角度がちょっと変かもしれません。
>真下(時計で言うなら29分から31分の間くらい)が「63」になるようです。

なんか符号を間違えてたっぽいので直しました。URLは前回と一緒。
これで駄目なら精度が悪いか計算そのものがおかしいのかもしれません。


[109]再びのes_ang
たかのん
2001/05/01 13:39:36

多忙のためes_angのテストが後回しになってました^^;

http://www.diveto.net/zero/junk/hdfbeta.lzh のβ版ですが、
es_angで示される角度がちょっと変かもしれません。
真下(時計で言うなら29分から31分の間くらい)が「63」になるようです。
es_adirの方角とあわせるなら真下は「0」にして頂きたいんですけど・・・。


[108]Re:WindowModeでの透過
2001/04/01 22:34:24

>ウィンドウモードで画面の色数が16bit以上になっているとパレットの区別がなくなります。
>従って、パレット0がRGB=(0,0,0)で透明色に指定されていて、パレット1とかにもう一つ
>RGB=(0,0,0)が有るとその2色は同じ色と見なされる為に透過されてしまいます。

そういう理由だったのですね。
勉強になりました、有難うございます。


[107]RE:パレット関係
たかのん
2001/04/01 13:02:36

>β版
フェードイン・アウト、完璧でした^^
どの色を使っても、es_fmesで表示してる文字まで完璧に明転暗転してくれます。

ちなみに今までは、完全な白以外を使っててもes_fmes使うと駄目でした。
一部の色を除いて、ほとんどの色がフェードイン・アウトに逆らうといった
状態でしたんで^^;


[106]レス
Sinagawa
2001/03/31 23:18:20

パレット周りの問題でいろいろいじっていたら急に完全な黒がホワイトフェード可能になりました。
とりあえずβとして下記URLにおいておきます。
http://www.diveto.net/zero/junk/hdfbeta.lzh

あと、これでだめならこっちをDLして問題が出るか試してください。
http://www.diveto.net/zero/junk/hspdx.lzh
純正HSPDXを無改造で再コンパイルしたものです。
(これでだめならDirectXまたはビデオカードの仕様ということになります。
 そんなことはないと思うのですが念のためアップしておきます)

>純さん
>背景用に画面サイズの1枚絵を転送するとRGB各0の黒い部分が
>透過処理されているようです。
>その為、その部分のみスプライトの残像が残ってしまいます。

ウィンドウモードで画面の色数が16bit以上になっているとパレットの区別がなくなります。
従って、パレット0がRGB=(0,0,0)で透明色に指定されていて、パレット1とかにもう一つ
RGB=(0,0,0)が有るとその2色は同じ色と見なされる為に透過されてしまいます。
これを防ぐには、透明色かそうでない方の色が重複しないようにする必要があります。

>たかのんさん
完全な白を使っている場合でしたら、既出のような気がしますが
・HSPDXFIXでフェードイン・アウトが行われないパレットが1〜20色存在する
・es_mesとes_fmesはそのフェードイン・アウトが行われない白を使う
ようなのでそれが原因です。
es_fmes使うならパレットのRGB値を微妙にずらして衝突を防ぐのが得策なのが現状です。

それから、スプライトテストのスクリプトやってみました。30FPSをキープするのは512個が
いっぱいでした。かなり貧弱です・・・。


[105]パレットフェード関係の問題ですが
たかのん
2001/03/31 13:38:26

どうやらcolorとes_fmesを使わなければ大丈夫みたいです。

> パレットモードの画面では、指定した色に一番近いパレットが選択されます。 

どうやらhspdx.dllの時はこれが正常に働いてなかったということみたいです。
hspdxfix.dllの場合はこれが正常に働いてる為、color命令で色を指定して
es_fmesで文字列を表示してる部分にes_palfadeをかけると「color命令で
指定してる色に最も近いパレットを選択」するため、es_fmesで表示してる
部分がちゃんとフェードしないという現象が出ていたと。

要するに文字列を画像として保管しておき、それをes_copyすれば問題なしと^^;

※ただし、#000000が明転時に色が変わらない問題は残ってます。


[104]不具合?仕様?
2001/03/31 00:58:31

はじめまして、HSPDXFIX頂きました。
WindowModeでの動作確認も出来て非常に助かっています。

そのWindoModeなのですが、ちょっと気になる所があって
書き込みさせてもらいます。

背景用に画面サイズの1枚絵を転送するとRGB各0の黒い部分が
透過処理されているようです。
その為、その部分のみスプライトの残像が残ってしまいます。

同じソースでフルスクリーンに変更すると正常に描画されるので
怪しいなと思ったのですが、使いはじめて間も無いのでポカやって
るかもしれません(^^;

WindowModeはデバッグ時にしか使う予定が無いので実害は無いのですが
一応報告しておきます。

新参者ですが、皆様これから宜しくお願いします。
それでは


[103]RE:試しに作ってみた
スミス
2001/03/29 20:07:43

スミスです。

dxtest.asをWinNT4.0で試してみました。
2048個で25FPSでした。VGAがPCIのへぼい奴の割には結構いけました。
(AGPだったらもっとはやそう)
やっぱりDirectXは凄いなとも思いましたが、
それ以前に2048個の玉がうごくのは気持ち悪かったかも(がは
2048個の玉繋げて蛇の動きさせたらゾッとしますな・・・。


[102]試しに作ってみた
たかのん
(http://homepage1.nifty.com/takanon/hsp/dxtest.lzh) 2001/03/27 01:40:30

試しに作ってみました。CTRLで弾発射で、弾は永久に画面内をバウンドし続けます。
FPSと弾の数のカウントも行ってるので、よかったらご自分の環境でどのくらいまで
耐えられるか試してみてください>ALL


[101]すさまじい
たかのん
2001/03/25 23:29:02

試しに1024個にしてみました。うちのハードウェア環境だと限界みたい。
カウントしてませんが、多分800個くらい表示した所で処理落ちしました。
それでも20FPS前後はキープしてました。DirectXの威力恐るべし。
これで超弾幕弾幕〜なシューティングゲーム作れます^^


[100]スプライト
nyo
(http://www.geocities.co.jp/SiliconValley-Bay/7541/) 2001/03/25 23:17:22

>カッコ内の値はデフォルト値であることに注意。
ホントですね。
試してみたら表示されている(数えてないので・・・)みたいですね。
知らなかったです。


[99]・・・てことは
たかのん
2001/03/25 22:22:02

>カッコ内の値はデフォルト値であることに注意。

・・・ということは、最大数はVRAM容量に依存する
(実質無限大)ということですかぁ?ヽ(゚-、゚)ノ
ちょっと試してみます・・・。


[98]スプライト&近況報告
Sinagawa
2001/03/25 21:43:27

以下、HSPDX.TXTより抜粋。
>es_ini p1,p2                システムの初期化
>        p1=スプライトの最大数(512)
>        p2=キャラクタ定義の最大数(1024)
>
>    パラメータを省略すると、スプライトは512個まで、キャラクタ定義数は1024個
>    までを最大としてスプライトを初期化します。es_ini命令は何度でも実行する
>    ことができるので、スプライトをすべてクリアしたい時などにも使用可能です。

カッコ内の値はデフォルト値であることに注意。

あと、パレットフェードですが原因がつかめないどころかBanshee+Win2Kでフルスクリーンにして
es_bufferを実行するとパレット関係の命令がすべて無効になるというふざけたバグに遭遇したため
難航しています(HSPDXから有り)。1から組み直すしかないのかねぇ。


[97]え (☆-◎;)
たかのん
2001/03/25 10:10:35

>スプライト数は何げにes_iniで変更可能です(マニュアル参照)。

スプライトに関しては最大数512との記述があるのみなのですが・・・^^;


[96]Re:使用できるスプライト数
Sinagawa
2001/03/25 01:48:56

スプライト数は何げにes_iniで変更可能です(マニュアル参照)。

[95]使用できるスプライト数
たかのん
2001/03/24 12:49:38

弾幕弾幕〜なシューティングを作ってると、hspdx.dllで使用できる
スプライト数限界の512を越えてしまうことがままあります^^;
この数限界を増やすことって可能でしょうか?倍の1024あれば
超弾幕弾幕〜でとってもキモチ良くなれるんですけど・・・。

※なんか毎度要望ばっかですいません


[94]ああっ
たかのん
2001/03/23 00:28:16

すいません。画面更新する前に書き込んだので、下記「↓訂正」は
Sinagawaさんのレスを読む前に書いた文です。話がややこしくなる^^;

修正ありがとうございます〜^^

※後はパレットフェードを・・・^^;


[93]↓訂正
たかのん
2001/03/23 00:18:59

下記の「es_aim」は「es_adir」に読み替えてください^^;


[92]Re:es_ang
Sinagawa
2001/03/22 23:46:29

あぁなるほど。わかりました。
つまり「切り捨て(現状)」より「四捨五入」の方がいいってことですよね。
確かに真下を指してるのに少しでも右にずれたら右下と判定されてしまうのはやや不自然な
印象を受けますので、修正しておきます。
ということは、es_aimもそのように変えた方が良さそうですね。


[91]es_ang
たかのん
2001/03/22 00:07:14

とりあえず復帰おめでとうございます。
やっぱりクラッシュしてたんですね^^;

>es_angについて
言葉で説明するのが非常に難しいのですが・・・。
es_aimの場合「方向」ですが、es_angの場合「範囲」と
言えばわかりやすいでしょうか?要するにes_aimで「0」
の方角は時計で言うと「30分」の位置ですが、現状の
es_angで「0」の範囲は「29分から30分の間」になってる
ような気がするのです。

感覚的には「0」の範囲は「29.5分から30.5分の間」の方が
やりやすいかな〜?と思うのですが・・・。たかだか3度弱の
差ですが、これが意外に大きかったりするので。

※毎回無茶な要望ばかりですいません


[90]とりあえず近況報告
Sinagawa
2001/03/20 23:49:30

前回の書き込みの次の日に直ったと思ったHDDが死亡し、まぁシステム入れてない方だし、
てことで新しくHDDを買ってつけ直したのですがなぜかWindowsがセーフモード限定でしか
起動しなくなり、直る見込みがなかったのでフォーマットし、再インストールがなんだか
面倒になって新規にWin2000を購入、というアホなことをしてたので約1週間ネットに接続
できませんでした。
おかげでいっぱいソフトの入れ直しする必要は出るわ、HDDの総容量は無駄に増えるわで大変でした。

>たかのんさん
>HSPDX.DLLでのフェードイン・アウト
HSPDX.DLLでは前パレットがフェードイン・アウトできることを確認済みです。
バグ取りをしたときにエンバグしたのか、はたまた別の要因があるのかまでは確認できてません。
そもそもまだVC++入れ直してません(コラ)。

>es_angで得られる角度値
es_aimと全く同じように動いていれば「真下=0」だと思うのですが、この辺もまだ確認できてません。

妙に適当なレスですが、あまり長い間沈黙してるといらぬ混乱を招きそうなので
とりあえず「復活したよ」って報告がメインだと思ってください(え〜)。


[89]うーん
たかのん
2001/03/20 23:19:13

HDD本格的にクラッシュしちゃったんでしょうか?心配です。

[88]ちょっと確認です
たかのん
2001/03/18 15:29:18

es_angで得られる角度値についての質問です。
例えば取得値が0の場合、時計の針でいえば
「29分〜30分」の間を意味してますよね?

※だいたいの目安で考えてください^^;

(mx,my)からみた(ex,ey)の方向が『真下』を
意味するように、ということを考えると63〜0
の間(29分〜31分)ということでよかったん
でしょうか?観測によるとたぶんそうだと
思うのですが・・・。


[87]ぱれっと
たかのん
2001/03/12 23:52:24

参考になるかどうかわかりませんが、先だって報告させていただいた
フェードイン・アウトの不具合はhspdx.dllを使ってる段階では出ま
せんでした。要は全ての色が問題なく暗転・明転していた、という事
です。

うーん、このあたりhspdx.dllのバグ(暗転・明転が止まらない)と
何か関連がありそうな無さそうな。ひょっとしてhspdx.dllの場合
パレットと関係無い部分で暗転・明転処理を行ってたんでしょうか?

ちなみにHsp標準命令のpalfadeも、特定の色が明転時に暗転したり
する場合があります。Aeolianationでボスを倒した際に左下の赤系
の色だけフェードアウトするんですよね^^;


[86]236色モードについて
Sinagawa
2001/03/12 18:16:28

>あと、236色モードの時のパレットの割り当て方がおかしいような気がしたので、
>とりあえずこっちは修正しておきます。
>(本当は色化けが起こるソフトが出てきそうで怖いんだけど) 
↑試しに修正してHSPDX使用のソフトを差し替えて実行したら見事に色化けしたので
やめました。どうやら、

236色モードでは、パレット0〜235までを使って下さい。自動的にDX側で10〜245にアサインされます。

と言うことらしいです。なんだかHSPのウィンドウを使う際の注意点と矛盾しているのが気になったので
直そうと思ったのですが・・・。
↑と言う感じの文を昨日の夜に書こうと思ったらHDD半壊でWindowsを動かすことすら
ままならなくなってしまいました(号泣)。幸いHSPDXFIXのソースは無事でしたが。

>nyoさん
>実は現在作成中のゲームは236色で作成していたのですが
>下記のビデオボードで色化け?(スプライトの殆どが真っ黒)の不具合が出ていたのです・・・^^:
そんなわけで、解決には至りませんでした。何となくes_bufferの挙動が怪しいのかも・・・?

>スミスさん
>もはや最近のVGAはフルカラー向けに最適化されているということも
>聞きましたし、パレットモードよりもフルカラーモードでいくほうが
>安全なのかもしれません。
むしろフルカラーで行くならDirect3D使った方が良さそうですねぇ。
DirectDrawと違って拡大縮小回転半透明全部HALでできるし。
(ってなんでサポートしないまま切り捨てるかなぁもう・・・)

>ところでHSP2.6からSinagawaさんのHspdxfixを正式に組み込んで
>頂く事はできないんですかね。
>おにたまさんに相談したことってありますか?
ある程度バグも取れてきたら互換性を無視して一人歩きしてしまう前に
おにたまさんに渡そうか、と考えたことはありますが実際に行動に移したことは
ありません。
最近のバージョンでは機能拡張ばかり行っているので、そろそろ話を持ち出しても
いいかなと思ってます。自分もあまりセルフ宣伝をするのはいやですし、
かといってその場しのぎ的な解決法を持ち出すのも申し訳ないので。


[85]パレットモード236色の謎?
スミス
(http://di2-rpg.hoops.ne.jp/) 2001/03/12 13:07:42

こんにちは、スミスです。
パレットモードでは、236色が一番安全だということと、
Windowsに予約されちゃうNo.は0〜9、246〜255も判明したのですが、
どうもVGA次第なのかDXによるところなのか一部おかしくなることも
あるようですね。
もはや最近のVGAはフルカラー向けに最適化されているということも
聞きましたし、パレットモードよりもフルカラーモードでいくほうが
安全なのかもしれません。

ところでHSP2.6からSinagawaさんのHspdxfixを正式に組み込んで
頂く事はできないんですかね。
おにたまさんに相談したことってありますか?
いえね、Hspdxを初めて使うユーザがハマル度にBBSにその報告が
来ているのもなんだかなあ、と思いまして・・・。
その度にHspdxfixを出来るだけご紹介はしているのですが、もはや
FAQになっているような・・・。


[84]Re^2:フェードインフェードアウトについて
nyo
(http://www.geocities.co.jp/SiliconValley-Bay/7541/) 2001/03/12 00:54:44

ど〜もnyoです。
下のカキコを見て、もしかするとって事が有りましたのでご報告致します。

>あと、236色モードの時のパレットの割り当て方がおかしいような気がしたので、
>とりあえずこっちは修正しておきます。
>(本当は色化けが起こるソフトが出てきそうで怖いんだけど) 
実は現在作成中のゲームは236色で作成していたのですが
下記のビデオボードで色化け?(スプライトの殆どが真っ黒)の不具合が出ていたのです・・・^^:
VIDEO Creative Graphics Blaster Exxtreme 4MB

色々と原因を探っているのですが解りません。
もし、上記のパレットの割り当て方による不具合でしたら良いのですが・・・
修正版を心待ちにしております。


[83]URL間違えた
Sinagawa
(http://www.diveto.net/zero/junk/hdfptest.as) 2001/03/11 22:53:58

下の書き込みのURLは間違いです。正しくは↑こっち。

[82]Re:フェードインフェードアウトについて
Sinagawa
(http://www.diveto.net/junk/hdfptest.as) 2001/03/11 22:50:02

自分も以前RPGツクールで似たような現象が起こって疑問に思っていたのですが、
↑のスクリプトを実行して確認したところ、2色ほど影響を受けない色があり、さらに
文字や背景も同様に影響を受けていませんでした。この実行結果から、

・パレット0とパレット255はフェードイン/アウトの影響を受けない(ビデオボード依存?)
・es_clsやes_fmesは白と黒にこの2色を選ぶ
・240番当たりにパレットが破壊されている箇所がある
・上2つから、es_screenで1や2を選ぼうが253色が限度

と言うことがわかりました。なんか関係ないことも混じっていますが一応。
ちなみに自分が使っているビテオボードはVoodoo Banshee(VRAM 16M)です。

個人的にこれはHSPDXのバグではなく、ビデオボードあるいはDirectXの仕様だと
思っていますが、本当にそうなのかわからないのでもう少し調べてみます。

あと、236色モードの時のパレットの割り当て方がおかしいような気がしたので、
とりあえずこっちは修正しておきます。
(本当は色化けが起こるソフトが出てきそうで怖いんだけど)


[81]フェードインフェードアウトについて
たかのん
2001/03/09 23:19:37

HSPDXFIX Ver0.08早速試しました。角度系に関しては完璧でした。
現時点でのDistanceのスクリプトに何も手を加えなくてもいい、と
いうのは非常にうれしいです。ご要望にお答えいただきありがとう
ございます^^

もう一点気になったことが。フェードイン・フェードアウト時に、
es_palfadeが0より小さい値の時にes_fmesで書いてる文字が色がおかしくなります。
-256の時には特定の色を除き、文字だけ255,255,255になるようです。
逆にes_palfadeが0より大きい値の時には0,0,0の部分が変わらないです。
つまり、画面全体が255,255,255でフラッシュして徐々に普通の色に戻っていく、
というような効果をだそうとしてるんですが、es_palfade 256と指定しても
0,0,0の部分は変わらない、という事です。


[80]Re:こんにちは
Sinagawa
2001/03/08 23:47:59

>スミスさん
本家BBSの方ではたびたびHSPDXFIXをすすめて下さってありがとうございます。
おかげさまで本日ログが面白い事態になりました(意味不明)。

それはそうと、ARPG見ました。
なんだか市販ソフト並に凄そうですね。グラフィックも綺麗だし。
(やっぱり見栄えって軽視しちゃダメですねぇ・・・)
完成が楽しみです。


[79]こんにちは
スミス
(http://di2-rpg.hoops.ne.jp/) 2001/03/08 10:48:40

はじめましてスミスです。

実はだいぶ前から密かに覗いていたのですが(w
Hspdxfixにはとても期待しながらいつも拝見しております。
HSPの講座もとても詳細かつたのしげで大好きです。
残念ながらまだHspdxfixにはお世話になっておりませんが、
これからもがんばってください!

お粗末ながら現在NetworkARPGを製作中です。


[78]HSPDXFIX Ver0.08アップしました
Sinagawa
2001/03/06 20:52:26

なんか2連チャンでサーバーダウンしてデータが消えたようです。

>たかのんさん
報告どうもです。計算ミスってましたので修正しました。


[77]あれ?消えてる・・・というわけで再投稿
たかのん
2001/03/06 00:31:08

>Sinagawaさん
早速hspdxfix.dllのv0.07DLして色々試してみました。
そこで一点気づいたことをご報告させていただきます。
そのまま「Distance」に組み込んだところ、es_angの
命令で制御している部分が正反対になりました^^;

つまり、今までだったら自機の方向を向いていた敵が、
正反対を向くようになってしまったのです。
es_adirの場合真下が0で、半時計回りに63まで増加と
いう形ですが、どうやらv0.07では真上が0で半時計回
りに63まで増加、という形になってるようなんです。
ひょっとしたら仕様なのかもしれませんが、es_adirと
同じ数値が算出されたほうが便利なので、是非変更を
お願いしたいです。


[76]はじめまして! いきなりお願いを・・
TAKA
2001/03/05 20:36:31

はじめまして!早速ですが、「HSPDXFIX.DLL」に新機能を追加していただきたいのです
それは、「オフスクリーンバッファを増やして!」というものです。
理由は、「640×480」が10枚じゃ少ない!という、なんともそのまんまで自分勝手な欲望が出てきたからです。
なんか僕が作りうと思っている格闘ゲーム、やたらと画像ファイルため込まなきゃいけないんですよ。だからできるだけ多めに・・・(自分勝手ですみません)
だから、どうかよろしくお願いします。


[75]Re:感謝多謝深謝
Sinagawa
2001/03/01 13:18:59

と言うわけで、HSPDXFIX.DLL ver0.07をアップしました。

>実は「Distance(現在開発中のSTG)」が完成したら、
>Hsp+DirectXの解説をやろうと考えてます。Sinagawaさんとは
>ちょっと違った味付けをしようかな〜と。で、その解説のベースを
>hspdxfix.dllでやろうと思うのですがよろしかったでしょうか?

よろしいですよ。というか、宣伝になるのなら止めはしません(笑)。


[74]感謝多謝深謝
たかのん
(http://homepage1.nifty.com/takanon/) 2001/03/01 02:01:23

> 次のバージョンで実装します(というか、もう実装済みです)。
> 早ければ明日にはアップしますので。

うぉ〜、素早い対応ありがとうございます^^

実は「Distance(現在開発中のSTG)」が完成したら、
Hsp+DirectXの解説をやろうと考えてます。Sinagawaさんとは
ちょっと違った味付けをしようかな〜と。で、その解説のベースを
hspdxfix.dllでやろうと思うのですがよろしかったでしょうか?
宣伝にもなるかと思うのですが(笑)


> #さすがにMax1024バイトは制限きついですな。

私はやたら長文を書き込みすることが多いので要注意です^^;


[73]Re: hspdxfix.dllについて
Sinagawa
2001/02/28 11:04:35

>最近になってhspdxfix.dllの存在を知り、実に悔しい思いをしてます^^;
>というのは、現在開発中のシューティングゲームが90%くらいまで
>完成している段階だからです。

HSPDXFIX.DLLの開発に取りかかってから2ヶ月になりますが、いまいち宣伝不足のため
まだこれから悔しい思いをする人が出てくるかと思われる今日この頃。
100%完成する前に気づいて良かったと考えた方がよいでしょう(笑)。

冗談はさておき、

>そこで、非常に自分勝手な要望ですが、hspdxfix.dllにも同じ命令
>を追加していただけませんでしょうか?内容的にはこうです。
>(中略)
>hspdxfix.dllにこの命令が追加されたら非常に移行が容易なんですが
>なんとかお願いできないでしょうか?

自機めがけて弾を1発うち、そこから角度を求めて残りを出す、と言う動作を
想定していたのですが、偶数方向に弾を吐くときなんかはスプライトを設置する前に
角度が指定できたほうが便利ですね。
次のバージョンで実装します(というか、もう実装済みです)。
早ければ明日にはアップしますので。

>あと、よかったら相互リンクして下さい。

了解です。次回の更新で張らせていただきます。

#ちなみにたかのんさんの書き込みは約1900バイトあったようです。
#さすがにMax1024バイトは制限きついですな。


[72]hspdxfix.dllについて
たかのん
(http://homepage1.nifty.com/takanon/) 2001/02/26 23:42:47

はじめまして、たかのんと申します。

最近になってhspdxfix.dllの存在を知り、実に悔しい思いをしてます^^;
というのは、現在開発中のシューティングゲームが90%くらいまで
完成している段階だからです。

実はhspdx.dllを使い始めてすぐ、「角度が調べたいっ!」と思い
知人に頼んで新しい命令を追加してもらったものを使ってます。
既にその命令にどっぷり依存した形の内容になってるため、バグ
やWindowモードに非対応といった不便さに目をつぶっても、開発
終了までは使い続けなければならなくなってしまってるんです。

そこで、非常に自分勝手な要望ですが、hspdxfix.dllにも同じ命令
を追加していただけませんでしょうか?内容的にはこうです。

------------------------------------------------------------
es_ang mx,my,ex,ey
 (mx,my)・・・対象元座標
 (ex,ey)・・・対象先座標
  (mx,my)からみた(ex,ey)の方向がstatに代入されます。
  方向は0〜63までの数値で表され、半時計回りに増えます。
  (es_adirが示す方角と同じです)
------------------------------------------------------------

これを使って何をやってるか?というと、3方向弾4方向弾もそうで
すが、「常に自機の方向を向く敵」というのをやってるんです。
回転系の命令がないので、1機あたり16〜64枚のグラフィックを用意
(グラフィックエディタで回転させてずらっと並べてます)して、
この命令で調べた方角を反映させる、というやり方を取ってます。
他にも敵の移動制御に使ったりと、非常に多岐に渡った使い方をし
てます。便利です。

hspdxfix.dllにこの命令が追加されたら非常に移行が容易なんですが
なんとかお願いできないでしょうか?

# 実はes_aimでstatに角度が返る、という仕様がhspdxfix.dllに付加
# されてることや、Windowモードにも対応してる、という事を知らず
# に本家β版BBSにその要望をしてしまいました(恥

# ダミースプライトを出してes_aimで角度を調べてすぐ削除、てな方法
# で代用できる(hspdxfix.dllなら)ことではありますけど^^;

あと、よかったら相互リンクして下さい。


[71]お久です。
nyo
(http://www.geocities.co.jp/SiliconValley-Bay/7541/index.html) 2001/02/25 23:20:51

先日hspdxfix.dllをDLさせて頂いてから順調にSTGの作成に励んでます。
未だβ版で完成は大分先になりそうですが・・・
ホントに有り難うございましたぁ〜。m(__)m

今日は何となくカキコでした。
また遊びに来ますぅ〜。


[70]はじめまして
まぁちゃん
(http://www02.u-page.so-net.ne.jp/ta2/marchang/) 2001/02/13 11:37:51

はじめまして、まぁちゃんと申します。
私は1年半ほど同人ソフトをHSPで作成しています。
全てのソフトにHSPDX.DLLを使用していたのですが、
es_bufferの上限数、es_palfadeで行き過ぎや真っ黒になるなど少々困っていました。

最近、SinagawaさんのページでHSPDXFIX.DLLを見て「これだっ!」と思い
早速ダウンロードしました。
テキストファイルを読んでみるとバグフィックスだけではなく、
新しい命令まで追加されているではありませんか。
しかもHSPDX.DLL同様、同人ソフト利用可能というのがとてもありがたいです。
次のソフトからHSPDXFIX.DLLを使用させて頂きます。

これからも開発頑張ってください。


[69]Re:おはつ。
Sinagawa
(http://www.onionsoft.net/hsp/hsp2dl.html) 2001/02/02 00:27:44

拙作プラグインTOOLBOX.DLLはあまり難しいことはしていなかったのですが、HDDが
クラッシュしてしまいソースが消滅してしまいました。まあ、どっちにしても
参考になるような物じゃないですけど。

それはさておき、上のURLからHSPSDKというプラグインの作成キットをダウンロードすると
DLL作成マニュアル(Ver2.5に標準でついてくるのと同じ奴)と一緒にサンプルがいくつか
ついてきます。それほど長くない簡単な物なので、ヘルプなどを片手に流れを追っていくと
よいかと思います(Cの基礎についてある程度の知識があればすぐ理解できるはずです)。


[68]おはつ。
マリモ
(http://www.geocities.co.jp/SiliconValley-Oakland/3884/) 2001/02/01 19:22:46

はじめましてです〜。
講座とか色々参考にさせてもらってます。
近頃Visual C++を買って、dllを作ろうかなぁ・・・とおもっています。
最初の方まではできたんですが、関数じゃ何じゃがわかりません。
サンプルとかありますでしょうか?こうやって作れ!とかいうアドバイスとか。(強引ですみません・・・。)


[67]Re:はじめまして。
Sinagawa
2001/01/31 10:57:37

>hspdxを使用してSTGを作成中だったので
>hspdxfix.dll頂きましたぁ〜。
>とても助かっています。(有り難う御座いました。
こちらも使っていただいて有り難いです(他人の褌モノですけど(^^;)

>あと、リンク張っても良いですか。
ご自由にどうぞー。


[66]はじめまして。
nyo
(http://www.geocities.co.jp/SiliconValley-Bay/7541/index.html) 2001/01/30 19:01:04

はじめまして、nyoといいます。
hspdxを使用してSTGを作成中だったので
hspdxfix.dll頂きましたぁ〜。
とても助かっています。(有り難う御座いました。
あと、リンク張っても良いですか。


[65]作業完了
Sinagawa@テストはローカルでやりましょう
2001/01/03 01:49:31

なんか微妙に使いづらかったので掲示板スクリプトを改良しました。
これによって連続する半角スペースとタブが有効になりましたので、インデントのきいたソースを
そのまま貼りつけることができます。
それから、動作テストをこのサーバー上で行ったため、1時台にここをのぞいた方には大変見苦しいところを
見せてしまったことを深くお詫びいたします(笑)。


[64]Re:単色コピー
居眠り仔猫
2001/01/02 23:06:38

Sinagawaさん有難うございました。
実は前回の奴をちょこっと変えたら出来てしまいました。
パレットが変わっても、gmode 0なら問題なかったんで、 

buffer 2,,,1
picload "画像.bmp"
buffer 3,,1 :palcopy 2
gmode 1 :gcopy 2
repeat 256 :getpal cnt
if (rval!0)|(gval!0)|(bval!0) :palette cnt,255,255,255
loop :palfade
buffer 4,,,1 :palcopy 2
gmode 0 :gcopy 3
gsel 0,0 :gcopy 4 :stop

お手数かけてすいません。


[63]Re:単色コピー
Sinagawa
(http://www.diveto.net/zero/junk/scopy.as) 2001/01/02 03:05:15

Ver 2.5より実装されている、mref命令によるVRAM直接アクセスを使って
TOOLBOX.DLLのscopy命令に相当するプログラムを作ってみました(長いので上記URLにアップ)。
ただしscopyの約30倍(!)時間がかかりますので、処理速度が要求されるのであれば
やめた方がよいです。
ひょっとしたら組み方次第でもっと速くできるかもしれませんが。

#もっと言うと、MIAさんの「AGE.DLL」を使った方がもう少し速くなると思います。
#こっち(TOOLBOX)は最適化なしでコンパイルしてあるので。


[62]単色コピー
居眠り仔猫
2001/01/01 06:40:23

はじめまして、だと思います。居眠り仔猫です。
ええと、toolboxの中にあった単色コピーを標準命令だけで
やることは出来ないでしょうか?一応,
repeat 256 :getpal cnt
if (rval!0)|(gval!0)|(bval!0) :palette cnt,255,255,255
loop :palfade
で出来るんですけど、別のウィンドウにコピーすると
パレットが戻っちゃうので、どうやったらいいんでしょう、教えてください。
でも、「BASICにはあるのになぜかHSPにはない便利な命令〜」
だそうですので、出来ないなら即諦めてtoolboxを使わせていただきます。
出来ることなら、標準だけでやっちゃいたいので。


[61]解決しました(^^;
ゆうき
2000/12/13 06:29:05

わかってみるとあらあらここやってないじゃないといったかんじのミススクリプトでした(^^;;; お手数おかけしました(^^;

[60]あはははは(^^;
ゆうき
2000/12/08 22:56:03

%と\の違いはわかったんですが、どうも描画ルーチンのほうに問題があるかんじで(爆)
おっかしいなぁ(^^; 可視範囲の配列参照してから描画ルーチンにまわしてるのに全パ
ーツが表示されてしまう(--; なしてでしょ(--;

>しゅ、主婦!? ヤラレタ(意味不明)。
あははははは(^^; 友人ほとんどが主婦です(爆)(^^;(わたしは主婦ではないですが(汗))
PC触ってる友人がいないので苦悩しております(^^;


[59]訂正です。
Sinagawa
2000/12/08 22:25:41

昨日書いたスクリプトですが、
>j=cnt*2+1+d%4
↑この部分が間違ってました。正しくは
>j=cnt*2+1+d\4
↑こうです。なんかCとゴッチャになってました。すみません。

>何しろ友人はみなアウトドア派とか主婦ばかりなものでパソコン持ってる人いないのです(^^;
しゅ、主婦!? ヤラレタ(意味不明)。


[58]Re:ダンジョン お手数おかけしてます(^^;
ゆうき
2000/12/08 04:25:59

お手数おかけしております、ゆうきでございます。
こんなに短くすむんですね・・・・ 東西南北毎に可視範囲の配列を読み込むようにし
てその配列を参照して壁を描画するルーチンに回してたんですが・・・

可視範囲の配列を 2次元配列 mv.3.4 として、二重ループの中で下のサンプルルー
チンでの マップの中でのx2,y2座標にある値を mv.i.j のなかに代入し、描画ルー
チンのなかでmv.0.0からmv.2.3 までを参照し壁があったらパーツを並べるとしてたん
ですが・・・・
下のサンプルルーチンも当てはめてみたんですがやっぱりうまくいかないんですよね・・・・(TT

>しかし身近に質問できる人がいないと大変ですよね、自分の周りもそうなんですが。
>でも最近はWEBで手軽に情報を探し出せるんで幾分便利になったかと。
何しろ友人はみなアウトドア派とか主婦ばかりなものでパソコン持ってる人いないので
す(^^; WEBでも3Dダンジョンの解説してあるサイトみて考え方は昔と変わらないのわ
かってるんですがうまく動かない(--;
昔、BASICでつくったときは対して悩まずにさっくりうまくつくれたんですが(--; 
もう10年も前だしなにか基本的なプログラムの組み方忘れてるのかも(--;


[57]Re:ダンジョン
Sinagawa
2000/12/07 22:37:23

可視範囲の参照の仕方がおかしいかも、とのことですのでその部分の処理を作ってみました。
即席で作ってデバッグ等してないので変な所があるかもしれませんがお許し下さい。
(あと、掲示板の都合でインデントしていません。見づらいのでコピペ後タブを打つと良いです)

とりあえず自分のいるところから前5マスまでと、その左右1マスを可視範囲としています。
実際にはもう少し左右が見えた方が見栄えがいいです。

;x,y ... 自分の座標
;v,w ... 移動量(時計回りに設定されているものとする)
;d ... 現在の向き
;xmax,ymax ... マップの端(サイズ)
;----- ここから -----
repeat 6
i=5-cnt
xx=v.d*i+x
yy=w.d*i+y
if(xx<0)|(xx>xmax)|(yy<0)|(yy>ymax) : continue
;**MAP表示 (xx,yy)を参照**
repeat 2
j=cnt*2+1+d%4
x2=v.d+xx
y2=w.d+yy
if(x2<0)|(x2>xmax)|(y2<0)|(y2>ymax) : continue
;**MAP表示 (x2,y2)を参照**
loop
loop
;----- ここまで -----

しかし身近に質問できる人がいないと大変ですよね、自分の周りもそうなんですが。
でも最近はWEBで手軽に情報を探し出せるんで幾分便利になったかと。


[56]ダンジョン
ゆうき
2000/12/07 17:37:09

初めまして、ゆうきともうします。ぼくも毒宮さんと同じく最近hspをはじめて、同
じように3Dダンジョン(wizタイプ)のプログラムを作ろうとしてるのですがうま
くいきません(^^;

方角毎のX軸、Y軸の移動量を設定した変数
可視範囲のマップデータを読み出すための配列
パーツは奥から順々に転送して全部転送終わった段階でredraw

などを設定していろいろやってみたのですが、どうにもうまく表示されません・・・
どうやら可視範囲の配列の参照の仕方がおかしいみたいなのですが、友人に聞ける人が
いない(プログラムを趣味にしている人どころかパソコン所有者0)ので苦労しており
ます。
なにか参考になるソースとかないでしょうか・・・


[55]ありがとうございます!
毒宮
2000/11/02 09:09:03

ありがとうございました!
本当に助かります!


[54]Re:修行中です。
Sinagawa
2000/11/01 22:52:52

またまたレス遅くなりました。申し訳ございません。

簡単なプログラムを作ってみました。参考にして下さい。
やってることは以下の通りです。
●上を0として時計回りに移動量を記憶(X方向をv、Y方向をwの配列に記憶させています)
●カーソルキー左右・下が押されたら向き(変数d)をそれぞれ-1、+1、+2して回る
●カーソルキー上が押されたら今向いている向きの移動量を座標に足す

画面端や壁の判定は一切していません。

;▽----ここから----------
dim v,4
dim w,4
sdim ch,3,4
x=15
y=15
d=0
ch="↑","→","↓","←"
v=0,1,0,-1
w=-1,0,1,0

*main
redraw 2
color 255,255,255
boxf 0,0,640,480
stick s
if s=1 : d=d+3\4
if s=4 : d=d+1\4
if s=8 : d=d+2\4
if s=2 : x+=v.d:y+=w.d
color 0,0,0
pos x*16,y*16
mes ch.d
redraw 1
await 16
goto *main
;△----ここまで----------

>それから、この掲示板にも書いてある、付属マニュアルとは
>一体なんのことなのでしょうか・・・?

HSP本体と一緒について来る、*.htmlや*.txtの拡張子がついたヘルプなどのファイルの
事だと思います。というか、多分それです。


[53]修行中です。
毒宮
2000/10/23 18:45:44

初めまして〜。僕、毒宮といいます。もちろんHNです。
HSPをつい先日始めたのですが・・・。
わからない事だらけです(^^;。
学ぼうにも、HSPというものを動かすための言語がわかりませんです。
というわけで、教えてもらいたいプログラムの仕方があるのですが、
それは、僕が作ろうとしている、擬似3D(メガテンシリーズみたいな)RPG
で、ダンジョンを歩くとき、僕の考えでは(言語はわかりませんが、
理屈だけは自分の頭の中で考え、とりあえず紙面にまとめてみました。)
、まず、横幅一マス分の長いまっすぐの通路を歩くときの場合を考えました。
入り口から出口まで、全部まっすぐです。
キー操作は、前に進むのが↑、後ろに振りかえるのが↓とします。
出口への方向を向いているときは奇数(例としてa=1)、入り口の方向を
向いているときは偶数(例としてa=0)と置いて、
↓が押されたとき、
そのときの向いている方向が、偶数方向であったとき、a+1をして奇数となり、
逆に奇数であったときは、a-1をして偶数になって、方向転換を完了します。
また、↑を押したときの、1歩前へ進む処理では、
a+2が行われ、偶数方向を向いていたなら、偶数のまま、1歩その方向へ。
奇数の場合も同じく奇数へ1歩。

と、こんな感じで、僕は理屈だけで考えていたのですが、
実際、このようなプログラムを組むことは可能でしょうか?
見事に的をはずしまくっていると思うので、間違えの指摘と、
正しいプログラムを教えていただければうれしいです。
それから、この掲示板にも書いてある、付属マニュアルとは
一体なんのことなのでしょうか・・・?できればそれも教えてください(^^;。
初心者丸だしの質問を長々としてしまって、すみませんでした・・。
それでわよろしくお願いします。


[52]hsp楽しいです
SARu
(http://eclat.gaiax.com/home/sar065/) 2000/10/23 17:36:22

はじめまして。
hsp初めたばっかりの初心者です。
現在アセンブラやらCやらfortranやらを学校でやらされてますが、
ちーっとも頭に入ってきません。
「俺はゲームが作りたいんだ!数学用のプログラムはもー飽き飽きだ!」
…と思ってきたところで、ベーマガを購入。hspのソースを丸写し。
何度かデバックを繰り返していたら、コンパイル&実行成功。
「これは、面白い。スクリプト組むだけで動くんだ…!」

そしてヤフーで検索したらこのサイトにたどりつきました。
ソース丸写しさせてもらってます。手書きでです、勿論。
あとはいろいろ改造して遊んでみたいです。冗長文お許し下さい。再見。


[51]Re2:リクエスト
KAZ
2000/10/22 13:54:39

まさか答えてもらえるなんて...はい。すいませんでした。
初心者なので、また来るかもしれませんが、なるべく自分で何とかするようにします。
 ありがとうございました!!


[50]Re:リクエスト
Sinagawa
2000/10/20 23:18:04

レス遅れました。どうもすいません。

・画面のスクロール
 ここはgcopyで一発・・・と行きたいところですが、画面に背景や効果などが重なってくると
そうも行きません。そこで、矢印の座標を配列変数に記憶させておいて1フレームごとに上へ移動
させていくとよいです。このときX座標は左から0〜3(つまりキャラクタ単位)で記憶させておきます。
 画面サイズをあまり大きくしなければこの方法でも結構な速度が出せます。

・キー判定
 あらかじめキー入力を読んでおき、押されたキーに対応するフラグを立てておきます。
どういうことかというと、例えば「↑←→↓」と並んでいて、上と右を押したときは
フラグ1と3にあたる変数を1にする、ということです。
 次に、矢印のスクロール時に「矢印が決められた範囲内に入っていて、矢印のX座標の
フラグが立っているかどうか」を調べ、条件に一致するならばタイミングに応じてポイントを
加算します。
 これで判定ができます。「矢印は踏めた時点で消す」「フラグは判定が一通り終わったらすぐ下げる」
の2点を忘れるとバグりますので注意して下さい。

以上、DirectX未使用を想定して書きました。ややこしいですが分かりましたでしょうか。
(ちなみにDirectXを使うともっと楽です。矢印を上に移動する設定で表示させてほっとけばスクロール
しますし、キー入力もスプライトで簡単に実現できます。)


[49]リクエスト
KAZ
2000/10/10 22:05:49

 DDRな音ゲーを作ろうと思ってるんですが画面のスクロールやキー判定がいまいちよくわかりません
 お願いです 教えてください!


[48]サイト移転のお知らせ
Sinagawa
(http://www.diveto.net/zero/) 2000/09/30 16:09:37

突然ですが、サイトを移転「しました」。
これからじゃなくて、すでに移転完了しています(笑)。
URLは上記の通りですのでリンク、ブックマークの変更をお願いします。
(とりあえず旧アドレスでトップページに行くとフレームで新アドレスの方に飛ぶようにしてあります。
いつ無くなるか分からないのでお早めに・・・)


[47]Re:お
Sinagawa
2000/09/18 02:55:31

>移転ですか、その時は、HSPをやろうの内容が増えてくれてたら嬉しいです(^^
じゃあなんか良さそうなネタ下さい(笑)。


[46]
ちかやん
2000/09/17 07:07:59

移転ですか、その時は、HSPをやろうの内容が増えてくれてたら嬉しいです(^^
勝手なこと言ってますが(汗;


[45]お知らせ+レス(まとめてで失礼)
Sinagawa
2000/09/16 22:44:46

しばらく沈黙状態が続いていましたが(って長すぎ)、近いうちにサイトを移転する
つもりです。
詳しいことは決まってからお知らせします。

>ワーナベさん、SHOさん、民さん、BAR NEWさん
書き込みありがとうございます。今後ともよろしくお願いします。

>ちかやんさん、するめさん
リンク変更しておきました。変更遅れてすみません>するめさん

>醒イさん(文字化けしてます?)
「HSPをやろう」内の「弾を撃ちながら移動するの巻」にあるスクリプトが
参考になると思います。
(具体的には、stick命令のあるあたりからです)
そのままだと左右にしか動けないですが、同じような感じで上下の移動処理を
付け加えれば8方向移動もできるようになります。


[44]骸潅
醒イ
2000/09/12 00:34:33

シューティングゲームの自機を表示して、それの操作のしかたを教えて下さい。


[43]ナイスとぅミーチュー
BAR NEW
(http://www.alpha-net.ne.jp/users2/thinkhsp/) 2000/08/28 23:46:08

はじめまして〜。HSPやってるBAR NEWです。
こちらHSPにお詳しいようで?ぜひいろいろご指導ねがえますかな?
これからもよろしく〜。


[42]リンクの変更お願いします
するめ
(http://www110.hoops.ne.jp/) 2000/08/09 09:28:20

どうもリンクしてもらっているするめです
ホームページを移転したので変更よろしくお願いします


[41]ありがとー
2000/07/22 15:29:25

ほんとーにありがとうございました!!
いままでHSPで5,6本スクリプト作って力尽きてました。
ここに来てある程度の知識が入り、(だって付属マニュアルあんまり読む気しない)
だいぶ配列変数とかがよく解りました!
あ、ちなみにハジメマシテ(おいおい)


[40]はじめまして
SHO
2000/07/18 17:59:50

どうも、こんにちは。
HSPと出会って、もうちょっとで一週間。
ヘルプには 見た事のない言葉が並ぶ。
さて、どこから手をつけたらいいのやら・・・。
まぁ、地道にやっていくしかないですね!
HSP講座を見て頑張ります!


[39]はじめまして
ワーナベ
2000/07/11 21:13:31

はじめまして。
HSP初心者です。
さっそくHSP講座にいって、勉強しようと思います。
わからないことがあったらよろしくね!!


[38]お久しぶりです
ちかやん
2000/05/15 00:01:35

お久しぶりです。
やっとこさ、復活できました。
HPは準備中なので完成しだい、連絡致します。
それでは、これからもよろしくおねがいします。


[37]Re:教えて・・・
Sinagawa
2000/04/23 23:08:22

シューティングの処理というのは大まかに
1)自機を動かす
2)弾を発射する(自機)
3)敵を動かす
4)弾を発射する(敵)
5)それぞれの衝突を判定する
という感じに分けられます。
まずはキー入力で自機を動かしたり弾を発射させたりするところから作って、
それができたら敵を出したり敵を倒せるようにするといった処理を付け加えていくと
いいと思います。

ちなみにHSP本にはシューティングの作り方が載っているので、本屋で見かけたら
買っとくと参考になります。現在入手困難らしいですけど。


[36]教えて・・・
katuya
2000/04/21 21:34:30

僕は、シューティングゲームを作ろうとしています。
そこで、どなたか作り方を教えてください。
お願いします。


[35]ホームページ移転しました
するめ
(http://cgi01.plala.or.jp/mikeneko/index.shtml) 2000/03/17 07:02:15

どうも元海亀だったするめです
ホームページを移転しましたので
ここに報告します
タイトルは
3D suttlefish roomです
バナーも変わりましたので
トップから奪い取ってください


[34]HSP本
Sinagawa
2000/03/12 22:42:00

発売まで後3日ほどとなりました。
はじめて本で紹介されるのでなんかとても楽しみですな。

今までかなりマイナーだったこのページの知名度を上げるチャンスかも。
↑それは考えすぎ(笑)。「そんな効果ある分けないだろ」という意味じゃなくて。


[33]ちは。
NobodY
(http://sinpi.hypermart.net/sls/sls.html) 2000/03/12 01:36:31

HSPの本、楽しみですね。


[32]もうすでにご存じかと思いますが
Sinagawa
2000/03/02 22:12:58

HSP本の発売が3/15に決定になりました。
おそらくこのページも紹介されていることでしょう。
以上、お知らせ。


[31]そんな声に応えて(?)
Sinagawa
2000/01/08 11:10:06

トップページを「隠し」の方を出すようにしてみました。
ただ、画像が40近くあってすごい重いんであまり好ましくないんですが(しかも文字なし)、
しばらくこっちでいってみようかと思います。
上に書いたとおり、画像ばっかりなので時間帯によっては表示しきれないかもしれないので注意して下さい。
一応フレームでメニューは出ますが。
それと元ネタがわかる人は年がバレると思うのでそこも注意(笑)。


[30]はじめまして
nasu
(http://www.page.sannet.ne.jp/kyuri/) 2000/01/07 22:22:08

どうもはじめまして。nasuと申します。
前々から見させてもらっています。
ちなみに日記に書いてあったsannetユーザーとは僕のことです。
すみませんm(__)m・・・あれが見たかったもので。(爆
本当にすみませんでした。
それでは


[29]2000年問題対応
Sinagawa
2000/01/02 16:55:06

別に問題はないのですが、西暦100年のまま放置しておくのはマヌケなので直しました。
つまり、テスト書き込み。


[28]そうなんですか
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 100/01/02 09:53:05

そうなんですか
じゃあ運が良かったんですね
また見れるのはいつになるんだろう?
ではでは



[27]Re:戻った?
Sinagawa
100/01/01 23:38:35

実はトップページは5%の確率でいつもと違うバージョンが出るようになってるんです。
画像ばっかで重いですけど、見れたらラッキーってことで。

そういえばこの掲示板、日付の表示に手をつけていなかった・・・100年になってる(^^;。


[26]戻った?
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 100/01/01 13:25:57

あれ?
戻ったんですか?


[25]変わった
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/31 23:31:19

トップがずいぶんと変わっちゃいましたね…
来て一瞬びくっちまいました
まあそれだけなんでさいなら〜〜〜


[24]宣伝っぽいけど・・・
Chikayan
(http://www.d3.dion.ne.jp/~mistsoft/) 99/12/26 22:14:41

はじめまして。(だっけ?)

うちのHPに掲示板ができました。
雑談用とHSP専用と二つあります。
みなさんで盛り上げてください。

う〜ん、やっぱり宣伝になってしまった・・・


[23]間違えた
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/14 00:09:34

タイトルと
名前を見事に逆にしてしまった…


[22]海亀
Re:バナ−作りました
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/14 00:07:54

とりあえず一番下のバナ−をいただきました
個人的に今ずげー眠たいからこれで


[21]バナー作りました
Sinagawa
(http://www2u.biglobe.ne.jp/~sinpei/banner/index.html) 99/12/13 23:31:28

上のリンクからバナーを持って帰れます。
まだ目立つところからリンクされていないので、そのうちリンクページからも行けるようにします。
次はどんなバナーを作ろうかな〜。


[20]Re:バナ−
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/12 07:15:57

とりあえず
こっちでノーバナーってかいてあるバナ−を
作ってリンク張りました
そちらバナ−が出来たらちゃんと張り替えておきます
ではでは


[19]バナー
Sinagawa
99/12/11 10:28:40

>ところで、このページのバナーってないんですか?

今のところバナーはないですが、一応作ってあるのでもうちょっとしたらアップします。
とりあえずマトモなものはないと思っていただいて構いません(笑)。


[18]海亀
Re:Re:ありがとうございます
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/10 08:01:03

>次の更新でこちらからもリンクを張らせて頂きますね。
こちらも次の更新でリンク張らさせていただきます。
ところで、このページのバナーってないんですか?

ではでは


[17]Re:ありがとうございます
Sinagawa
99/12/09 10:18:36

>今度リンクはって良いでしょうか?

了解しました。
URL書いていただいてますので、次の更新でこちらからもリンクを張らせて頂きますね。


[16]ありがとうございます
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/12/07 07:50:45

こんにちは
出来たんですか、ありがとうございます
>ちなみに変更点は少ないので、以前のプログラムと比較するのもおもしろいと思いますよ。
では頑張って比較なんぞしてみたいと思います

最近ゲーム作りがとまっているので、また再開させたいと思います
では、ありがとうございました。

追伸
今度リンクはって良いでしょうか?


[15]完成しました
Sinagawa
(http://www2u.biglobe.ne.jp/~sinpei/move.as) 99/12/06 13:25:05

ある日突然よい解決策が見つかりました。しかも仕事中に。
(ってなんでいつもパソコンに向かえないときに思いつくのだろう。気分転換ってヤツ?)
というわけで長く待たせてしまいましたが、完成作をアップしました。

ちなみに変更点は少ないので、以前のプログラムと比較するのもおもしろいと思いますよ。


[14]Re:SRPGにおけるキャラクターの移動・その後
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/11/27 06:50:08

う〜〜ん
やっぱり難しいんですね

>宣言してからもう2週間も経っているのでもう解決しちゃったかもしれませんが、
ちっとも進んでません…
とりあえずSinagawaさんの途中経過をこれから解析しようと思います
ではでは


[13]RPGといえば・・・
とげ君
99/11/26 16:23:51

RPGといえば僕もつっくっていますよ
完全2Dのヤツを(笑)
今マップを歩き回ることしかできないけどいつかは完成させます!!
期待しないでね、、、(^-^)


[12]SRPGにおけるキャラクターの移動・その後
Sinagawa
(http://www2u.biglobe.ne.jp/~sinpei/movebeta.as) 99/11/25 22:26:35

宣言してからもう2週間も経っているのでもう解決しちゃったかもしれませんが、
一昨日くらいから移動ルートを求めるプログラムを組んでいるところです。
これがまた面倒なアルゴリズムで、ちっとも完成せずに難航しています。
とりあえず途中経過をアップしておきますが、必要な部分だけですでに120行くらいあり、
アルゴリズム的にも無駄が多いので、完成したら使えるかどうか疑わしいものになりそうです(^^;。
絶対もっといい方法があるはずなので、一度作り直した方がいいかなあ。


[11]Re:そういえば(SRPGにおけるキャラクターの移動)
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/11/11 07:45:49

そう言えばそうなんですよね〜
今敵の移動を抜かした思考回路の製作中で気にしていませんでしたね。
期待していますのでよろしくお願いします。


[10]そういえば(SRPGにおけるキャラクターの移動)
Sinagawa
99/11/09 22:51:08

フト気がついたのですが、3つほど下で
「カーソルの移動にあわせてキャラを動かすようにすると簡単」と書いたのですが、
結局敵を動かすときに移動ルートを決めるようにしないといけないんですよね。
一気に目的地までワープさせるのもカッコ悪いですし・・・。
で、一応アルゴリズムは思いついたので確実なものになったらまた書くことにします。


[9]ありがとうございます。
Chikayan
(http://www.d3.dion.ne.jp/~mistsoft/) 99/11/09 17:22:51

どうもはじめまして。

リクエストに答えてくださってどうもアリガトウございます。
メールも送ったけどもっかいお礼。


[8]RE:はじめまして
海亀
99/11/07 10:07:28

返事遅れてすみません。

移動について
あぁアークザラット風にすると良いんじゃないですか?ってことですか。
確かにそれなら簡単かもしれませんね。

敵について
かなりたくさんの条件を検索する必要がありそうですね
むずかしー

では


[7]Re:はじめまして
Sinagawa
99/11/04 11:22:56

とりあえず思いついただけ書いてみました。

>1つ目の質問について
カーソルで目的地を指定し、決定するとそこまでキャラが自動的に歩いていくふうにすると
障害物を回っていくのが難しいので、カーソルが障害物に重なったり移動範囲からはみ出さ
ないようにしておき、カーソルの移動にあわせてキャラを動かすのが簡単だと思います。

>2つ目の質問について
敵(ここではプレイヤー)との距離が遠いときはなるべく有利な地形に移動しつつ少しずつ
距離を詰めていき、行動範囲内に敵がいるときは行動範囲内で一番有利な位置にいるキャラ
に攻撃を仕掛けるようにするといいと思います。HPの残りが少ないキャラや孤立しているキ
ャラを優先的に攻撃するのがよいでしょう。他にも回復系のキャラや相性面で優勢なキャラ、
主人公などを潰しにかかるようにすると結構な強さになると思います。
できるならキャラごとにそういった性格付けができるとおもしろいです。プログラムが複雑
になりますが・・・。

これで一応形にはなると思いますが、納得のいかない部分は試行錯誤するしかありません。
市販のゲームの思考ルーチンを研究するのも参考になっていいのではないでしょうか。

それでは。


[6]はじめまして
海亀
(http://www.geocities.co.jp/SiliconValley-PaloAlto/6858/) 99/11/03 10:07:59

現在シュミレーションRPGを製作中です。
現在の状況はクオータービューのマップで地形による歩数の減少
(早い話が沼だと歩数が減るとか…)
を吟味したキャラクターの移動可能範囲の表示まで出来ています。
そこで2つ質問をさせてください。

1つは
移動可能範囲表示は出来てもキャラクターが障害物を無視して
直線的に目的地に運動をするのを直す方法

2つ目は
敵の思考回路ですね…。これは取っ掛かりすらつかめていません。

よろしくお願いします。


[5]ありがとうございます
とげ君
99/10/25 16:37:35

大変参考になりました。どうもありがとうございます。
HSPで1からRPGを作るという無茶な考えをしております。
これからもどうかよろしく!


[4]Re:#INCLUDEについて
Sinagawa
99/10/21 01:39:23

#include"結合したいファイル名"
とやれば、「その位置に」プログラムが結合されます。
簡単な例を挙げると、

*include_test
mes"これは「test.as」です"
return

というスクリプトを「test.as」という名前で保存してから新規作成し、

mes"#includeのテストです。"
gosub *include_test
stop
#include"test.as"

などとやって実行してみて、メッセージが2行表示されたら成功です。
#includeのかかれた位置にファイルが差し込まれるのでサブルーチンを含んでいるときは
ファイルの一番最初とかに置くとreturnしようとしてエラーが出ることに注意してください。

ちょっと長くなりましたが、分かりましたでしょうか?

他にもメモ帳などでプログラムを書いて「外部ファイル実行」を使えば48000バイトを越えても
読み込めたと思います。これについてはヘルプの「HSPプログラムガイドを開く」に説明があります。


[3]#INCLUDEについて
とげ君
99/10/20 16:43:34

HSPでファイルを作ると48000バイト以上は読み込めない、ということなので
#INCLUDEをつかいたいのですが、どのようにつかったらよいのでしょうか?
教えてほしいのですが、、、


[2]HSP講座が充実しててサイコー
green makiba
99/10/09 11:33:24

結構ゲーム作りに役立ちそうですね。
それだけ。


[1]掲示板変えました
Sinagawa
(http://www2u.biglobe.ne.jp/~sinpei/) 99/09/26 14:19:40

掲示板が新しくなりました。見た目にはそんなに変わった感じしませんけどね。

さて、これの書き込みテストをするためにのぞきに来てみたら、カウンタが壊れて
「2」になっていました。そんなに簡単に壊れるか!?
ま、一応元に戻しておきましたけど。