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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
1228
上蔵hspdxfixの透過色について6解決


上蔵

リンク

2012/12/28(Fri) 02:09:06|NO.51489

スプライトの回転エフェクトを使うためにes_screenのp6パラメーターを1にして、
es_setのp5パラメーターで1を指定すると透過色が透過されないどころかスプライトが真っ白になってしまいます
p5パラメーターを0にするときちんと透過されるのですが、es_effectが使えなくなってしまいます。
問題の原因はどのようなことが考えられるでしょうか?
または、es_effectを使わずに(Direct3Dを有効にしないで)スプライトを回転させる方法はないでしょうか?



この記事に返信する


晩御飯

リンク

2012/12/28(Fri) 02:18:35|NO.51490

透過色の指定ってどうしてるんでしょう



上蔵

リンク

2012/12/28(Fri) 02:24:43|NO.51491

>透過色の指定ってどうしてるんでしょう

透過色の指定はes_bufferのp3パラメーターで行い、
フルカラーモードなので$ff00ff(紫)を指定しています



晩御飯

リンク

2012/12/28(Fri) 03:26:53|NO.51492

>スプライトが真っ白
何だか環境の線な気がしてきたけど
>・画像サイズが256ドット、 もしくはグラフィックボードの上限を超えていないか
>・画像サイズは2の累乗(1,2,4,8,16,32,64,128,256,...)になっているか
>・画像の縦と横のサイズが同じになっているか
は、どうでしょう



暇人

リンク

2012/12/28(Fri) 19:11:22|NO.51518

こういう時は実際に使ったスクリプトを書き込んで
他の環境でも起きるのか命令の使い方が間違ってるのかを
確認するのが重要(画像ファイルのフォルダ指定忘れてたので再掲載)

#include "hspdx.as" es_ini ; system初期化 onexit *owari es_screen 640,480,32,,1,1 ; スクリーン初期化 if stat : end buffer 3 picload dir_exe+"\\sample\\hspdx\\testchr.bmp" es_buffer 0,2,0,,1 if stat : end es_size 64,64,60 es_pat 0, 64,64 ; 顔 gsel 0,1 es_cls es_sync wait 100 es_set 0,300,200,0,1 ; メインのスプライト repeat stick ky,$1f if ky&$80 : goto *owari es_cls 0,0,255 ; 青でクリア es_effect 0,64,64,,,cnt/5 es_draw ; スプライト描画 es_sync 16 ; 画面の更新 await 0 ; タスク更新 loop *owari es_bye end
これで自分の環境では問題なく透過されて回転してる



上蔵

リンク

2012/12/28(Fri) 22:29:32|NO.51525

スクリプトを最小単位まで削っていろんなサンプルと照らしあわせた結果、原因が判明、解決しました
使用する画像をバッファにおくる時、
es_buffer のp5パラメーターに0を入れていたのが原因でした
省略するか1を入れることで正常に表示されました



@key

リンク

2012/12/28(Fri) 22:50:22|NO.51526

この手の質問ってそういううっかり系が多いんだよね・・・
せめてソースは晒して欲しいと思う



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