SubAppSprite   [w]

*20240216 子の仮想フレームサイズが大きく、スクロールした際に表示がされなくる不具合の修正
*20231102 ActiveImageCanvasV2との連動拡張
*20231003 SubAppSpriteを入れ子構造した際の動作対応(サブアプリ内サブアプリのSubAppSpriteの動作)
*20230427 サブアプリ内リスタートが行われた際の挙動の修正
*20221120 DirectX9で下記調整に伴い、等倍サイズにおいて半ピクセルほど値がずれていたのを修正
*20221118 DirectX9で子が大きい場合に意図していない動作をしていた部分の修正
*20221015 DirectX9で複数のサブアプリを配置した際に解像度が干渉する不具合の修正
*20221014 サブアプリオプション "変更可能なサイズ"・"オブジェクトサイズにフレームを引き延ばす" への対応

透過モード時、サブアプリ内の半透明オブジェクトが表示されるようになりました。(DX9/DX11共に)
※サブアプリ内での加算や減算などのエフェクトは正しく表示される訳ではないので注意

sample2は 親フレーム内で、子の座標から親の座標を取得できる機能のサンプル
sample3は 親フレーム内で、親の座標から子の座標を取得できる機能のサンプル


--------------------------------------------------------------------------------
-- SubAppSprite Extension
--------------------------------------------------------------------------------
動作までの配置
CF25\Extensions\Unicode\SubAppSprite.mfx
CF25\Data\Runtime\Unicode\SubAppSprite.mfx

----------------------------------
動作に必要なDLLについて
d3dx9d_43.dll
を使用しています。

公式によるDLL取得はこのパッケージのインストール
https://www.microsoft.com/ja-jp/download/details.aspx?id=35

----------------------------------
 d3dx9d_43.dllを手動で入れる場合に必要な箇所

c:\windows/system32/d3dx9d_43.dll
ここに入れる

もしくは・・・(例)
C:\Program Files\Clickteam Fusion Developer 2.5\d3dx9d_43.dll
C:\Program Files\Clickteam Fusion Developer 2.5\Runtime\Unicode\d3dx9d_43.dll
に配置が必要

※CFアプリのビルド時にd3dx9d_43.dllが組み込まれるのでエンドユーザーへの追加DLL配布は不要
その場合
C:\Program Files\Clickteam Fusion Developer 2.5\Runtime\Unicode\d3dx9d_43.dll
への配置が必要です

--------------------------------------------------------------------------------
■エクステンションの説明
サブアプリをアクティブオブジェクト的に使えるようにするエクステンションです

・描画順位対応(他のアクティブオブジェクトと混ざれます)
・ウインドウサイズの変更に対応(他のアクティブと同じように拡縮されます)
・サブアプリの背景透過
・RGB・透明度変更・エフェクトも対応
・ホットスポットと回転・拡大縮小(その際のクリック位置もサポート)
・当たり判定を持たせる

動作仕様としては
・DirectX9 / DirectX11 用
・サブアプリのスプライト表示をオンにする必要がある
・親フレームと、サブアプリ対象の子フレームそれぞれに設定が必要(コピペで完了するレベルですが)
・サブアプリ透過時におけるサブアプリ内エフェクト(加算・減算…など)は正しく表示されません


サブアプリ内エフェクト(加算・減算…など)は有効にはならない為
親側で座標を取得できるようにしたので、上手く組み合わせると良いでしょう


sample2は 親フレーム内で、子の座標から親の座標を取得できる機能のサンプル
sample3は 親フレーム内で、親の座標から子の座標を取得できる機能のサンプル

--------------------------------------------------------------------------------
■使い方について
親フレームの設定(parent)と個フレームへの設定(child)と分かれていますが
使い方自体は難しくないと思うので各種命令については省略します。

--------------------------------------------------------------------------------
■あとがき

だいぶCFがサイキョーになってきたかと思います
いろいろ試してみてください

*20240216 子の仮想フレームサイズが大きく、スクロールした際に表示がされなくる不具合の修正
*20231102 ActiveImageCanvasV2との連動拡張
*20231003 SubAppSpriteを入れ子構造した際の動作対応(サブアプリ内サブアプリのSubAppSpriteの動作)
*20230427 サブアプリ内リスタートが行われた際の挙動の修正
*20221120 DirectX9で下記調整に伴い、等倍サイズにおいて半ピクセルほど値がずれていたのを修正
*20221118 DirectX9で子が大きい場合に意図していない動作をしていた部分の修正
*20221015 DirectX9で複数のサブアプリを配置した際に解像度が干渉する不具合の修正
*20221014 サブアプリオプション "変更可能なサイズ"・"オブジェクトサイズにフレームを引き延ばす" への対応
*20220830 子フレームが仮想領域サイズで生成されていた部分の修正
*20220827 子フレーム側で大きくスクロールした際に発生する不具合の解消
*20220726 親フレームから子フレームの座標を得られるように対応
*20220427 スクロール時の当たり判定や消失する不備の対応
*20220426 再調整と親から子の座標を取得できる機能を追加
*20220421 内部を色々再調整
*20220406 DX9/DX11版の調整
*20220331 DX11対応版
*20211211 アルファ値がある描画を行った際に発生した描画不備への対応
*20210827 サブフレームのサイズが異なっていた場合の調整


DOWNLOAD
OLDVER(20231102)
OLDVER(20231003)
OLDVER(20230427)
OLDVER(20221120)
OLDVER(20221015)