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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0712
rain画像の白いところが黒くなります3未解決


rain

リンク

2007/7/12(Thu) 17:41:59|NO.9448

以下のソースを実行すると画像の白い部分が黒く表示されてしまいます
初歩的な質問だと思うのですけど、わからないのでおしえてください


;------------------------------------------------
#include "hsp3util.as"
#include "hspdx.as"
es_ini
es_screen 640,480,8
if stat=1 : goto *dderr1
if stat=2 : goto *dderr2

goto *staet

*dderr1
dialog "DirectXの初期化に失敗しました",1
dialog "終了します",0
end
*dderr2
dialog "スクリーンの初期化に失敗しました",1
dialog "終了します",0
end

;-----------------------------------------------


*staet
repeat -1
es_cls 255,255,255
buffer 0,640,480,1
picload "gazo1.bmp"
es_buffer 2

bmppalette "gazo1.bmp"
palette -1,,,,1

gsel 0

pos 0,0
gmode 1,300,396
es_copy 2,0,0

es_sync
wait 1

stick key,128,0
if key&128 : break
loop

es_bye
end



この記事に返信する


GENKI

リンク

2007/7/12(Thu) 20:54:08|NO.9453

hspdxfixは使ったことがないので詳しくは分からないので推測ですが…。

es_copy命令のマニュアルの記述は

> コピーモードが1か2の場合は、コピー元の画像で透明色に指定された色は
> コピーされません。

ということなので、透明色が白(255,255,255)に設定されているんじゃないでしょうか。es_clsかな?
うーん、やっぱりどなたか詳しい方いましたら回答お願いします…。(-_-;


 さて(ここから本題)質問内容とは異なりますが、スクリプトで気になる部分が見られたので、
一度この↓リンク先をご覧になることをお勧めします。
http://hspwiki.tm.land.to/?HSP%B9%D6%BA%C2%2F%B4%F0%CB%DC%C5%AA%A4%CA%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8%A4%CE%A5%D1%A5%BF%A1%BC%A5%F3



rain

リンク

2007/7/12(Thu) 23:03:06|NO.9456

返信ありがとうございます。

このソースで透明色に設定してあるのは黒です。
命令どおり画像のまわりにある黒い部分は透明になりました。
しかし、画像の中身の部分(白いところ)がなぜが黒くなってしまいます。
透明色の設定をなしにしても同じように白いとこが黒くなります。

HSPDXをつかわずにHSPソースで画像を表示すると上記のようなことはおきませんでした。
説明などみると、動きのあるものはHSPDXを使うとよいようだし、今後はこれをつかっていきたいと思っています。

まだHSPをつかって1週間とたっていなくてわからないことだらけなのですが、わかるかたいらっしゃったらよろしくおねがいします。

GENKIさんの張ってくださったHPもみさせてもらいました。
ありがとうです。



f

リンク

2007/7/12(Thu) 23:24:20|NO.9457

自分も使った事が無いんでよく分からんけど


buffer 0,640,480,1 picload "gazo1.bmp" es_buffer 2 bmppalette "gazo1.bmp" palette -1,,,,1

のパレット読み出しの位置と、

es_bufferの説明文の中の

「現在gsel命令で選択されているHSPのバッファ内容を、
 DirectXのオフスクリーンバッファにすべて転送します。
 この時、パレットも読み出されDirectX側のパレットに転送されます。

と言う文書から、ぼんやりと
「画像からパレット読み出す前にオフスクリーンバッファに送ってんじゃね?」
と言う気はするものの。

256画像用意するのがめんどくさいので確認まではしなかった(鬼



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