HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2025
0703
hkr2Dのゲームを作る8未解決


hkr

リンク

2025/7/3(Thu) 20:41:27|NO.103595

現在HSPの標準命令のみで2Dのゲームを作成しています。
スプライト周りも自作描画ルーチン(gcopy,gzoom,grotate)を使用して描画しています。
一通り完成してDirectXに対応させようとしましたが、どのライブラリを使っていいのか見当もつきません。
とりあえずHSPDXFIXを使えばそのまま移行できるか?と思いましたが、es_ini命令でいきなり「外部DLLの呼び出しに失敗しました」
ちなみにHSPDXFIXは昔使ったことがあるのですが、当時動作していたプログラムも久々に起動したら同じエラーで全滅していました。
次にHSPDISHを使おうとしたらgcopy,gzoomはなんとかなってもgrotate命令の移行先がない状況です。
とりあえずHSPDSFIXが動けばどうにかなりそうな気がするのですがもう時代遅れの空気も漂ってるし…

現状2Dゲームに関して、今時の環境でどうやって動かしているのでしょうか?



この記事に返信する


へびぃ

リンク

2025/7/3(Thu) 21:25:21|NO.103597

わたしも2Dゲームをいろいろ作ってますが、昨今のPCだと基本能力が高いので標準命令だけでも色々出来ちゃいますよね。

自作描画で作ったのならDXに移行する意味がよくわからないですが、DXじゃないけどDishでもスプライトの回転は可能ですよ。
es_setrotで出来ます。

”標準スプライト”としての概要はこちらをご覧くださいませ↓
https://www.onionsoft.net/hsp/v36/doclib/sprite.html



hkr

リンク

2025/7/3(Thu) 21:32:50|NO.103598

ありがとうございます。
前述の通り現状で描画エンジンが完成してしまっているので、
スプライト命令を使い始めるとほぼ作り直しになってしまうので避けていたんですよねー。
あと内部的にスプライトと背景を同列に扱っているのもスプライト命令を使いたくない原因です。
HSPDX系ならcopyもzoomも頭にES_を付けるだけ(?)でコンバート出来そうなふいんきだったのですが、
まさかrotate命令のみハブられているとは…



hkr

リンク

2025/7/3(Thu) 21:42:31|NO.103599

ちなみになんでDXに移行しようとしているのかというと、まー厳密には違いますが
アフターバーナーII並みのオブジェクトをgrotate等で表示させるとやはり重いからですw
10年前とかと違って今時のPCで2D表示だけでゲームを作る場合、CPUパワーででごり押すのと
GPUで描画するのではあまり差はないもんでしょうか?
とりあえず「スプライト制御機能」には全く期待していないのですが、多少なりと速くなれば
いいなぁくらいの感覚だったのですが、ここ数日HSP.TVのページを解決策を求めて色々探して
みたのですが、とにかく古いドキュメントが未更新でずーっと残ったままになってて、
公式ライブラリの何が使えて何が現状使えないのか分からず困ってました。
これだと「ご新規さん」のとっかかりもかなり厳しいかもしれませんね…



名無し

リンク

2025/7/3(Thu) 21:55:19|NO.103600

>とりあえずHSPDXFIXを使えばそのまま移行できるか?と思いましたが、es_ini命令でいきなり「外部DLLの呼び出しに失敗しました」
これ、前に同じような質問を見た気がして調べて見たところ、
https://www.hsp.tv/play/pforum.php?mode=pastwch&num=92351
こちらが見つかりました。これと同じ原因だったりしませんか?
既にご自身で調べていてこちらも確認済みかもしれませんが...。



hkr

リンク

2025/7/3(Thu) 22:26:50|NO.103601

ありがとうございます。動作しました!
アーカイブのlzhに入ってたドキュメントを読んでMSVCR71.dll をC:\Windows\System32に
入れてはいたのですが、これ、HSPのフォルダにもコピーしておかないと動作しないんですね…

あと、先ほどのスレッドにDishはHSPDXの上位互換的な書かれ方をしていたのですが、
それなら最初からそっち使えよ!との葛藤があったり…
DishやHGIMG系との命令の互換表とか・・・
も、公式サイトのどこかを探せば存在するのでしょうか?(;´・ω・)



Ve

リンク

2025/7/3(Thu) 22:35:15|NO.103602

基本DirectX使ってはないです
やりようとジャンル次第かと

https://youtu.be/b200WiM15LM



hkr

リンク

2025/7/3(Thu) 22:51:56|NO.103603

ありがとうございます。

やっぱりそうですかねー?
一応今昔作ったプログラム(hspext.as DirectDraw系)を動かしてみたのですが、
スクリーン初期化命令が動作しませんねー

そもそもWin11にDirectDrawが入っていないのが原因だと思うのですが、
Win10時代だと「もう古いから使うの辞めない?どうしてもってなら入れるけど…」
とダイアログが表示されて自動インストールされたと思うのですが、Win11のこのご時世、
既にこの機能削除されてるんですかね?w



TOMATO

リンク

2025/7/4(Fri) 07:43:54|NO.103604

>アーカイブのlzhに入ってたドキュメントを読んでMSVCR71.dll をC:\Windows\System32に
>入れてはいたのですが、これ、HSPのフォルダにもコピーしておかないと動作しないんですね…

64bit版WindowsでHSPが32bit版の場合は
C:\Windows\SysWOW64
にDLLを置かないとダメかと思います。

64bit版Windowsの場合、C:\Windows\System32は64bit用DLLの置き場なので。
(名前が紛らわしいけど)



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.103595への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2025(c) All rights reserved.