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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0317
WHITEhgimg3の透過8解決


WHITE

リンク

2010/3/17(Wed) 21:23:05|NO.31332

hsp3.2+hgimg3を使ってゲームを作っているのですが、
addplate で作ったオブジェクトのテクスチャが透明色で透過してくれません・・・

テクスチャ画像はbmp形式の128x128で、
透過させる部分はRGB(0,0,0)にしてあり、
addplate では透明色抜きありでオブジェクトを作っています。

なにか設定しわすれたものがあったのでしょうか??
それともバグかなんかなのでしょうか?
お願いします;;



この記事に返信する


しきり2

リンク

2010/3/17(Wed) 21:41:05|NO.31336

以下のスクリプトで画像は透過されて表示されますか?

#include "hgimg3.as" hgini chdir dirinfo(1) texload "sample/hgimg3/testchr.bmp" texid=stat addplate modelid,1,20,20,0,0,256,128,texid regobj objid,modelid clscolor $1368ac repeat hgdraw hgsync 20 loop

されなければ、
グラフィックアクセラレータなどの環境の問題の可能性があります。

もし透過して表示されれば、
WHITEさんのスクリプトか画像にミスがあるかもしれません。

以下の事項を確認してみてください。

・画像の色(RGB)が本当に0,0,0になっているか。

・addplateの9番目の引数にテクスチャIDを指定しているか。

・背景色が黒色で、透過されていないと勘違いしていないか。

・テクスチャのUV値が正しく指定されているか。

がんばってください。



WHITE

リンク

2010/3/17(Wed) 22:02:59|NO.31343

ご丁寧な回答ありがとうございます☆

提示していただいたスクリプトではきちんと透過されています。
画像のRGB値はもう一度チェックしましたが0,0,0になっています。
テクスチャIDの設定もできています(モジュールを通していますが)。
背景は黒なのですが、オブジェクトが重なったとき
黒い部分が見えて透過されていないので、やはり透過できていないかと・・

UV値の設定に関してですが、画像の大きさが128x128であれば
左上 0,0 右下 128,128みたいなかんじでいいのでしょうか??



しきり2

リンク

2010/3/17(Wed) 22:05:40|NO.31345

もしよかったら、画像とスクリプトを
のせていただけると分かるかもしれません。



WHITE

リンク

2010/3/17(Wed) 22:25:01|NO.31352

ぁ、画像ののせかたがわからないです・・・・(ごめんなさい・・

スクリプトはこんなかんじです
オブジェクト登録部

モジュール(システム変数を使うのが嫌いなんです・・
#module
#defcfunc m_texload str adress
texload adress
return stat
#global

ship_iは2次元整数型配列です

addplate obj,1,128,128,0,0,128,128,m_texload( "resource\\intre5.bmp" )
regobj ship_i.0.SHIP_I_OBJ_ID, obj



WHITE

リンク

2010/3/17(Wed) 22:28:31|NO.31357

またまちがえました
最初はこうですね・・


addplate obj,1,10,10,0,0,128,128,m_texload( "resource\\intre5.bmp" )
regobj ship_i.0.SHIP_I_OBJ_ID, obj



しきり2

リンク

2010/3/17(Wed) 22:41:47|NO.31361


#module #defcfunc m_texload str adress texload adress return stat #global
理由は分かりませんが、
texload adress
texid=stat
で取り出せば透過されます。

あと、WHITEさんが作ったモジュールは以下の点から、私は使用しません。

・モジュールにするほど複雑な処理ではない。

・テクスチャの削除などが難しくなる。

・同じテクスチャを流用できない。

・速度が遅い。

・結局はシステム変数を使っています。

システム変数を使うのが嫌いという理由だけで、
システム変数を使わないのは、プログラマとして止めたほうがいいです。



WHITE

リンク

2010/3/17(Wed) 22:46:23|NO.31362

解決しましたありがとうございます^^

そうですか・・
そんな反面があったんですね・・

もう一度プログラミングのスタイルを考え直してみます



WHITE

リンク

2010/3/18(Thu) 11:54:43|NO.31370

解決にしてませんでしたね;



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