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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0603
SADOUS(描写に関して)拡張のやつか標準か・・・どちらが適しているか6解決


SADOUS

リンク

2014/6/3(Tue) 13:28:17|NO.62277

現在hspdxを使おうか検討中です。
販売を前提にしたゲームの制作にdirectXを使ったほうが絶対にいいと
思い込んでいたのですが、hspdxのある一節を読んで考えを改めようと思いました。

引用:http://www.onionsoft.net/hsp/v33/doclib/hspdx.txt 逆に言えば、フルスクリーンモードを使わない限りは、これらの恩恵には預か れません。ウインドゥモードでは、制約も多く、使える機能も制限されてしま うので少なくとも画面描画に関しては、 DirectXを使う利点はほとんどありま せん。
パソコンにあまり詳しくないので、これをまんま信用しようとしても
誤解が生まれるとも思うので、皆様の意見も聞いておきたいのです。

標準命令にも解像度を変更しフルスクにしたり、回転コピーもできるので
フルスク以外に利点が無いとするならば、描写に関しては標準だけで行いたいです。



この記事に返信する


check

リンク

2014/6/3(Tue) 15:35:03|NO.62278

語弊のある書き方だな。
確かにフルスクリーンモードでは排他的制御を行って、
動作速度が安定し、描画や音声の再生などを最優先で行うことができる。

けれども、ウィンドウモードでもDirectXを使う利点は沢山ある。
2D、3Dのハードウェアアクセラレーションによる高速な描画、
音声をより細やかな設定で再生できる等、挙げればかなりの数がある。



あり

リンク

2014/6/3(Tue) 17:47:22|NO.62279

引用文にある『これらの恩恵』がどういうものなのかを理解すれば
現在のPC環境においてその恩恵を受けられない事は
それ程デメリットではない事が分かると思います。

そもそも引用文の原型が書かれたのは、フルスクリーンでないと
高速な描画が期待できないようなPC環境が標準的だった時代ですので
現在のPC環境では描画速度確保の為にフルスクリーンを利用するメリットは
ほとんど無いと言えるでしょう。

それよりも、今の時代の販売目的でDirectX7ベースかつ開発無期限休止中の
プラグインを使うデメリットの方が個人的には気になります。



SADOUS

リンク

2014/6/3(Tue) 18:14:12|NO.62280

>checkさん
なるほど、directX使おうかな

>ありさん
テキストの編集日を見ていませんでした。そんなに古いのか・・・
hspに標準で入っていたプラグインだったので信用仕切っていたのですが、
開発停止してたんですか!!
とするとhgimg3とやらが・・・


f1ヘルプでざっと目を通して見たのですが見当たらない、
hgimg3って円の描写は可能ですか?そこのところが個人的に重要視していて。
無いとは思いますけどスプライトではない画像のコピー(半透明・回転)も
できたらうれしい。



暇人

リンク

2014/6/3(Tue) 20:28:25|NO.62282

>DirectXを使う利点はほとんどありません。
Direct3Dを使う設定で使用して3D用の命令で描画すれば
ウィンドウモードでも標準命令とは速度面で全然変わる
半透明など使った場合は特に

>hgimg3って円の描写は可能ですか?
>そこのところが個人的に重要視していて。
画像で円を用意して・・・色を変えたいとき面倒だけど・・・
(hspdxにも円描画命令は無いけど描画時に色をいじれる)

一応エフェクトモデルで円形にできる設定がある

#include "hgimg3.as" hgini addeprim m_sd,EPRIM_CIRCLE //円 seteprim m_sd,0,1.0 //りん光部分のサイズ(外縁) seteprim m_sd,1,64 //64頂点 seteprim m_sd,2,10.0 //X方向の倍率 seteprim m_sd,3,10.0 //Y方向の倍率 seteprim m_sd,16,$ffff0000 //中央の色 seteprim m_sd,17,$8000ff00 //外側の色 seteprim m_sd,18,$60ffffff //外縁の内側の色 seteprim m_sd,19,$40ff0000 //外縁の外側の色 regobj mychr, m_sd, OBJ_LATE|OBJ_XFRONT ; 半透明なのでOBJ_LATEを指定する setefx mychr,$500 ; 半透明(色減算)の指定 texload dir_exe+"\\sample\\hgimg3\\sb_bg1.bmp" clstex stat setpos HGOBJ_CAMERA, 0,0,100 ; カメラ位置の設定 setangr HGOBJ_CAMERA, 0,0,0 ; カメラ角度の設定 *main stick key,$3ff if key&128 : goto *owari if key&2 : addpos mychr,0,-0.5 if key&8 : addpos mychr,0,0.5 if key&1 : addpos mychr,-0.5,0,0 if key&4 : addpos mychr,0.5,0,0 w=0.001*mousew addscale mychr,w,w,w //マウスホイール回転で拡大縮小 hgdraw ; 描画 hgsync 15 ; 時間待ち goto *main *owari end
でも3Dオブジェクトになるので描画サイズをスクリーン上のサイズで合わせるのは工夫が必要
後、色を変えたいときはモデル単位になる・・・

>スプライトではない画像のコピー(半透明・回転)もできたらうれしい。
hgrotateがある

hgimg3の注意としてはスプライトが優先度の設定を廃止されたので2Dゲーでは使いにくい


モジュールでhgimg3に円描画命令追加しようとして途中までできてて放置してた・・・



スプライト

リンク

2014/6/3(Tue) 21:07:11|NO.62283

HGIMG3も、バグだ仕様だかよく解らない仕様があったり、『登り階段はあるけど下り階段はない』みたいなところがあったで、いろいろですよ。
ドキュメントが整理されていなくて、説明書に説明されていない命令もある。
他のプラグインと、よく衝突する。
コンパイルすると、未初期化の変数がぽろぽろと出てくる。

設計思想が違うので、そのあたりを理解するか、プラグイン開発者と無言の意思疎通ができるようになるまでは、苦労すると思います。


HGIMG3用にフツーの円を描くコマンドは無いので、どこか別のbufferに円を描いて、テクスチャとして貼り付けますか。
スプライトではない半透明や回転コピーは……うーん、それらの作業をこなす命令がHSPの標準として用意されいるので、それで描いたものをテクスチャとして貼り付けますか。


HSPDXに関しては、技術屋から見れば「使う利点はほとんどありません」かもしれませんが、使うほうからすれば「これで十分じゃない?」という感じでした。
開発が終わっていることへの不安に関して言えば、「そんなこと気にしていたらプログラムなんてやってられない」かなあ。
8だ7だ64ビットOSだで「動きません」「不具合が出ます」って報告があれば別だけど、動いているうちは動くでしょ。



SADOUS

リンク

2014/6/8(Sun) 20:46:50|NO.62362

>暇人さん
3DObjectを使うつもりもありませんしカメラ云々が出てくると
お手上げです。
また今度触れてたときに考えてみます。

>スプライトさん
hgimg3でもバグの報告があるんですね。

操作が簡単なhmmの使用を続けることにしました。
挙動が怪しい部分もありますが現状目立った問題もなく、
なにしろ簡単にコピーできるので、また大きな問題が出たらhspでのdxの使用は
断念しようかと思います。
皆様ご協力ありがとうございます。



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