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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0830
suzukiOBAQでアルファブレンドコピーを使いたい2解決


suzuki

リンク

2011/8/30(Tue) 07:36:38|NO.40944

OBAQでオブジェクトの表示に画像を用いる際、アルファブレンドコピーを使うために、qmat3命令でgmode7を指定したのですが、反映されません。
gmode3などの他のコピーモードだと正常に反映されるのですが、gmode7だけがうまくゆきません。
ご助言をいただけましたら幸いです。


#include "obaq.as" //アルファブレンド用の画像を用意 buffer 1,100,50 color ,255 : boxf 0,0,50,50 color 255,255,255 : boxf 50,0,100,50 screen 0,320,240:title "OBAQ" qreset qborder -40,-30,40,30 qaddpoly obj1,4,25,40,,10,10 qaddpoly obj2,4,50,40,,10,10 qmat obj1,mat_spr,1 qmat obj2,mat_spr,1 //マテリアル表示パラメータ qmat3 obj1,3,128 ; gmode 3 qmat3 obj2,7,256 ; gmode 7 *main redraw 0 color ,,255:boxf ;背景 pos 0,0 : gmode 7 : gcopy 1,0,0,50,50 ; gmode7をgcopyを使った場合、正常に反映される qexec qdraw 1 redraw await 20 goto *main



この記事に返信する


K-s

リンク

2011/9/2(Fri) 08:59:04|NO.41010

grotateと同様、gmode7は対応していないんだと思います。
こちらのサイト(http://simasuzu.web.fc2.com/)で公開されている embed_grotate を使うと
アルファブレンドコピーできます。

その他には、HGIMG3と組み合わせてtexload2でアルファチャンネル付き画像を登録なども。

もしくは↓のように、gmodeの 5 と 6 のオブジェクトを重ねて無理やりそれっぽく見せたりも。

#include "obaq.as" //アルファブレンド用の画像を用意 bgscr 1,100,100 color ,255 : boxf 0,0,100,100 gradf 0,50,50,50,0,$000000,$00ff00 gradf 50,0,50,100,0,$000000,$ffffff celdiv 1,50,50 screen 0,320,240:title "OBAQ" qreset qborder -40,-30,40,30 qaddpoly obj1,4,40,20,0.5,10,10 qgroup obj1,1,2 qaddpoly obj2,4,40,20,0.5,10,10,0 qgroup obj2,2,1 qtype obj2,type_bind qmat obj1,mat_spr,1,3 qmat obj2,mat_spr|mat_delay,1,2 //マテリアル表示パラメータ qmat3 obj1,6,256 ; 減算コピー qmat3 obj2,5,256 ; 加算コピー *main redraw 0 color ,,255:boxf ;背景 pos 0,0 : gmode 7 : gcopy 1,0,0,50,50 ; gmode7をgcopyを使った場合、正常に反映される qexec // obj1 に obj2 を重ねる qgetpos obj1,x,y,r qpos obj2,x,y,r qdraw 1 redraw await 20 goto *main



suzuki

リンク

2011/9/3(Sat) 11:52:34|NO.41042

解決しました。
K-s様、ありがとうございました。



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