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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0418
TNK透過の扱い方4解決


TNK

リンク

2015/4/18(Sat) 20:11:35|NO.68622

最近HSPをダウンロードしたばかりです。

うまく説明出来ないのですが、
アルファ付きの画面を扱うにはどのようにするのが良いのでしょうか?

今は、全てどこかしらが透過されているPNGを複数重ね合わせるためには、
実際に表示する画面に順番どおりにpicloadしてます。
gcopyが使えません。(透過データも、重ね合わせ構造も消えるので)。
よって画面をちょっと画面を変更するだけでも、全部書き直ししています。

それが嫌です。
でも良い方法が分かりません。

gcopyやmes、picloadなどがオブジェクト化されていないことに問題があると思っているのですが、
うまいことやるにはどんな処理構造とかがあるでしょうか?



この記事に返信する


窓月らら

リンク

2015/4/18(Sat) 20:36:14|NO.68624

> gcopyが使えません。(透過データも、重ね合わせ構造も消えるので)。

たぶ gmode を指定していないため。
gcopy の前に gmode 2 を置いてみてください。



GENKI

リンク

2015/4/18(Sat) 21:23:18|NO.68628

> 今は、全てどこかしらが透過されているPNGを複数重ね合わせるためには、
> 実際に表示する画面に順番どおりにpicloadしてます。

picloadはアルファチャンネル情報を読み込みません。
gcopyで使用できるピクセルアルファブレンドコピーは通常の透過色付きPNGとは異なる方法で不透明度の情報を用意する必要があります。
HSP標準命令だけでは簡単には取り扱うことができません。

ご希望の機能を使用したい場合は、標準で付いているArtlet2Dモジュールを使用してください。


> gcopyやmes、picloadなどがオブジェクト化されていないことに問題があると思っているのですが、

そんなこと言ってると「無いものは作る」とか言ってオブジェクトとして管理できるモジュールを作り出そうとする人が出てきてしまいそうですね…。
その前に一般的な解決方法があるのであるものを使いましょう。ペイントソフトでは一般的な機能にレイヤーというものがあります。bufferを1枚のレイヤーと考え使用するとわかりやすくなります。

HSPでの描画命令は基本的には「ペイント」で描画領域にベタベタ絵を書いていくイメージで使うように作られています。あ「ペイント」はVista以前のものをイメージしてください。
HSPが単純さを追求した結果…というわけではなくPCは昔から基本的にはこういう仕様です。



TNK

リンク

2015/4/19(Sun) 02:32:58|NO.68644

>GENKIさん
返信が遅れました。ただいま書き込みを確認しました。

>Artlet2Dモジュールを使用してください
今ドキュメントを読みましたが、(まだ試してませんが)欲しいのはこれのようです。
ありがとうございます。
一応ドキュメントは読んでから質問してるつもりだったのですが全く気づきませんでした。

>オブジェクトとして管理できるモジュールを作り出そうとする人が出てきてしまいそうですね…。
>その前に一般的な解決方法があるのであるものを使いましょう。
それ以外にも色々な点で、全てがオブジェクト化されていれば便利なことがあるので、
そうゆう物があれば喜んで使うだろうと思います。

>レイヤーというものがあります
そのレイヤーのような物が欲しかったのですが、Artlet2Dがそれだったようです。
ありがとうございました



TNK

リンク

2015/4/19(Sun) 06:18:06|NO.68645

先ほど色々試し、これに合わせプログラムの構造を書き換えてみました。
改めてお礼申し上げます。



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