>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に円描画命令追加しようとして途中までできてて放置してた・・・