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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0815
d.Potatogzoomを使用した際の透過6解決


d.Potato

リンク

2008/8/15(Fri) 05:25:22|NO.18282

アニメーションのすべてのコマを1つの透過GIFにまとめてバッファに書き込み、
そこからgzoomでコピーすると、透過されずにウィンドウに表示されます。
これを透過させてウィンドウに表示するには、
やはり1コマずつ別々にファイルを作るべきなのでしょうか?



この記事に返信する


s

リンク

2008/8/15(Fri) 09:04:43|NO.18294

gzoom 以外にも gcopy や、grotate などという描画命令もあります。
ただgrotateは他2つに比べて癖が強いので使うときは説明をよく読んでくださいね。

それと透過画像は対応してなかった気がしなくも無いです。
imgloadなどのモジュールを調べてみるといいかと思われます。



ANTARES

リンク

2008/8/15(Fri) 21:05:04|NO.18317

初期段階でgzoomしておき、本番ではgcopyすればいいのでは?



あり

リンク

2008/8/15(Fri) 22:34:42|NO.18321

d.PotatoさんがアニメGIFをどのように使おうとしてるかによって
答え方が変わってくると思います。

もしゲームのパターンとして使おうとしているのなら
アニメGIFは向いていないので他の画像フォーマットを使った方が楽です。
アニメパターンの処理については幾つか方法がありますがここではひとまず省略。

単純にアニメGIFを表示したいという事なら
Let's HSP!さん(http://lhsp.s206.xrea.com/hsp_other.html
の『HSP3 あれこれ』にある『ActiveXコントロールの利用』記事中の
『アニメーションGIFファイルの単純再生』が参考になるかもしれません。



d.Potato

リンク

2008/8/16(Sat) 06:01:44|NO.18329

皆さんの回答本当にありがとうございます。
ホームページのほうに製作途中のものを
ソースファイルを含めてアップロードしたので、
見ていただけたらとても幸いです。

>>sさん
imgloadを試してみたのですが、システムエラーが発生します。

>>ANTARESさん
一応試してみたのですが、透過されないようです。

>>ありさん
GIFアニメではなく、アニメーションのコマをそれぞれ違う座標において
それらをgzoomでコピーしています。



あり

リンク

2008/8/16(Sat) 10:34:21|NO.18332

質問の意味を勘違いしていましたね、失礼致しました(汗)
という事で改めてソース(fight.hsp)から検証してみました。

まず読み込んだ透過GIFの透過情報は読み込んだ時点で失われますので新たに透過処理を
しなくては透過コピーされません、あとgzoomでは色透過が出来ません(grotateなら可)
みたところgzoomを画像の反転にしか使ってませんし、なにやら回りくどい処理を
しているようなのでもう少しシンプルな方法をお奨めします。
例えば

・透過GIFはやめて透過部分を黒(RGBが0,0,0)で塗りつぶした画像を用意する。
 (透過させたくない部分はRGBを0,0,0以外にする、黒なら1,1,1にするとか)
・キャラ画像をバッファに読み込み別のバッファにgzoomで反転コピーする
 (拡大させるならここで済ましておく)
・それぞれのバッファからgcopyでコピーしてくる。

のようにすれば色も透過されますし、処理もシンプルで速くなります。
それにリアルタイム処理中にバッファ作成を繰り返すのはあまり良い方法とは
いえないと思います。

それにしてもこのソースだとimgloadが上手く動きませんね、何故でしょう?



d.Potato

リンク

2008/8/19(Tue) 10:08:37|NO.18436

ちゃんと透過できました!
本当にありがとうございます。



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