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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0723
魔龍hspdishで半透明の表示4解決


魔龍

リンク

2015/7/23(Thu) 23:50:02|NO.70211

hspdishでは、gmodeなどによる半透明描画はできないのでしょうか。
pc用に作ったゲームをスマホ版に置き換えたところ、pc版ではちゃんと指定した色のところは透明になっているのですが、スマホ版では元の画像の色がついたままです。
↓このようにプログラムを組みました。(画像の透明にしたいところは真っ白です)
color 255,255,255
gmode 4 ,35,35,255
celput (画像)
というようになっています。これは、pc版もスマホ版も全く同じスクリプトなのですが・・・。



この記事に返信する


窓月らら

リンク

2015/7/24(Fri) 00:50:02|NO.70212

「特定の色コードを透過するモードは選択できません」です。
以下「HSP3Dish プログラミングマニュアル・基本仕様ガイド」より引用

gmode命令について
hsp3dishでは、celput、gcopy等の画像コピー命令で、アルファチャンネルを含めた
コピーが実行されます。そのため、gmodeによる指定は、いくつか違いが出ます。

gmode 0,1 : アルファチャンネルなし(無視)
gmode 2 : アルファチャンネル有効、半透明レート無効
gmode 3,4 : アルファチャンネル有効、半透明レート有効
gmode 5 : 色加算・アルファチャンネル有効、半透明レート有効
gmode 6 : 色減算・アルファチャンネル有効、半透明レート有効

アルファチャンネルは、PNG形式などの画像データに付加される情報です。
通常のHSPにあるRGBが0の場合に透過するモードや、
特定の色コードを透過するモードは選択できませんので注意してください。
現在のバージョンでは、android(NDK)ランタイムにおいてgmode 6(色減算)は
サポートされませんのでご注意ください。



魔龍

リンク

2015/7/24(Fri) 14:16:15|NO.70218

返信有り難うございます
hspdishではgmodeの使い方が違うのはわかったのですが、この場合どのようなスクリプトを書けばいいかわかりませんでした。
hspdishの場合、画像のある色だけは表示せずにそれ以外表示するにはどのように書けばいいのでしょうか。
pre
color 255,255,255
gmode 4,35,35,255
celput 画像
/pre
では間違っていますよね・・・。



窓月らら

リンク

2015/7/24(Fri) 21:37:44|NO.70223

まず色指定による透過が使えないわけですから、透過pngを作ります。
32bitのアルファチャンネル付pngでパターン画像を作って単純にコピーするだけです。
むしろこっちのが簡単です。透過は1色ではなくピクセルごとに半透明が可能です。



魔龍

リンク

2015/7/30(Thu) 22:39:15|NO.70354

返信遅れてすいません。
画像自体に透明表示を含めたらしっかり透明になりました。
ありがとうございました。



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