TextSprite   [w]



HTML5版テスト2(新)
HTML5版テスト(旧)



何度目かの作り直しでやっと納得の行く表示になったかと思います。


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

-----------------------------
※新しい更新箇所

20231222	画面外に移動しても自動的に削除されないように調整

20221114	外部ファイル読み込み起動に関する処理を修正

20220908	表示の再修正・コールバック位置を取得できる機能の追加

20220907	[CALL:abc]コールバック機能の追加と一部不具合の修正

20220905	[P]タグまでスキップする機能の追加と一部不具合の修正

--------------------------------------------------------------------------------
■仕様など
標準のテキストオブジェクトとリンクさせる事で、色々な表現ができるようになります。

・文字の出現アニメーションとその管理
・文字のグラデーション、アウトライン、シャドウ、アンチエイリアス(文字・アウトライン)
・単一文字への座標管理、拡大、回転、着色、座標取得
・行間の設定
・縦書きへの対応と位置合わせ
・文字全体の回転・拡大・着色
・フォントの画像化とスプライトフォント化機能
・文字へ画像の合成

基本的に文字列オブジェクトの文字配置設定を互換します。

□アンチエイリアスの設定について
それぞれ動作に特徴があり
・文字列オブジェクトのアンチエイリアス設定(文字の回りにアンチエイリアス)
・TextSprite Extensionでのアンチエイリアス設定(アウトラインやスケーリング時に有効)

RGB設定などのエフェクトはTextSprite側で利用されます。

□制限について
DX11でも動作しますが、乗算済みテクスチャがONになっていると正しく動作しないようです
32bitカラーのみ対応
PNGフィルタの追加を明示的に行わなくてもビルド時にPNGフィルタが内包されるようになりました


※FRGB,GRGB,ORGB,IMSKといった、フォント生成に関係する機能では
スプライトフォント化しての実行動作に対しての動作はしませんので注意。

--------------------------------------------------------------------------------
■簡易スクリプトについて
文中に下記の書式が混ざる場合、文字及びアニメーションへの効果が起こります
文字効果については設定以降の文字に対して影響されますので、戻す場合は再度上書きする形で再設定してください

[FRGB:255,0,0]	文字の色自体の変更
[GRGB:255,0,0]	グラデーションカラーの変更
[ORGB:255,0,0]	アウトラインカラーの変更
[RGB:255,0,0]	フィルタエフェクトとして色を変更します(この例では赤になります)
[WAIT:60]		ウエイトを掛けます(この例では60フレームのウエイト)
[SPD:5]			標準ウエイト値の変更 (TextSync時に設定するウエイトの変更)
[FADE:5]		フェードスピードの変更(TextSync時に設定するアニメーションフェードスピードの変更)
[SCALE:1.0,1.0]	スケール値の変更(widthとheightのスケールを変更します)
[P]				表示の一時停止を行います

[WAVE:1.0,0.1]	文字を揺らします。渡す値はfloat(幅,フレームあたりの速度)です
				※ドット幅をマイナスにすると横方向に揺らします

[IMSK:0,1]		画像マスク適用フラグを変更します (この例ではslot 0を Onにする)
				機能的に UseImageMask( slot , flg )と同じものです。

[CALL:あいう]	このスクリプトが表示されるタイミングでCallBackScriptが発生します
				getCallBackによってその内容を取り出せます。

--------------------------------------------------------------------------------
■プロパティ
アウトサインの幅やアウトラインの色
フォントシャドウの有無、シャドウの色などを設定できます

■Action

LinkTextObject
	標準のテキストオブジェクトの固定値を指定し、エクステンションとリンクさせます

TextSync( ウエイト , アニメーションフェードスピード)
	テキストオブジェクトに設定されている文字情報を元に、表示設定を行います

AnimationSkipToPauseTag
	次にある[P]タグまでアニメーションをスキップします

AnimationSkip
	アニメーション機能をスキップし、全部表示させます

AnimationPause
	アニメーションのウエイトを一時停止させます(それまでのフェードインは継続される)

AnimationResume
	アニメーションのウエイトを再開します

SetGradientMode
	文字のグラデーションモードを変更します(プロパティのチェックボックスにもあり)

SetOutline
	アウトラインの幅を指定します(プロパティのチェックボックスにもあり)

SetHotSpot
	テキストボックスを対象に、ホットスポットを設定します(回転拡縮向け)

SetScale
	テキストボックスを対象に、スケール値を設定します

SetAngle
	テキストボックスを対象に、回転角を設定します

SetPosition
	テキストボックスを対象に、位置を変更します


CharactersDefaultAngle
	表示される文字全体の回転角を設定します

CharactersDefaultScale
	表示される文字全体のスケールを設定します
	
CharactersDefaultRGB
	表示される文字全体のRGBを設定します
	

setCharacterPosition
	1文字あたりを対象に、位置を変更します

setCharacterHotspot
	1文字あたりを対象に、ホットスポットを変更します

setCharacterScale
	1文字あたりを対象に、スケールを変更します

setCharacterAngle
	1文字あたりを対象に、回転角を変更します

setCharacterRGB
	1文字あたりを対象に、RGB色を設定します

setCharacterAlpha
	1文字あたりを対象に、アルファ値を設定します
	
refreshCharacters
	文字情報(サイズなど)を変更している場合、変更後サイズを元にテキスト位置の再計算を行います

addCharacterWait
	1文字あたりを対象に、アニメーションウエイトを加算します(マイナスを指定すれば減算)

SetLineSpace
	行間を指定します

SetVerticalWrite
	縦書き設定を指定できます(プロパティのチェックボックスにもあり)


imagefont_outfile
	現在のテキストを元にスプライトフォントを出力します

imagefont_infile
	スプライトフォントを読み込みます

imagefont_mode
	スプライトフォントの使用を設定します

ChangeTextBoxRect
	描画する位置やサイズを変更できます

SetOutLineMode
	アウトラインを使用する際の描画モードを設定します(0で囲み表示 1で描画をズラして表示)

SetAnimationType
	表示アニメーションのパターンを設定します

SetImageMask( slot , active_object_fixed )
	フォントに合成する画像を、アクティブオブジェクトを通して指定します

UseImageMask( slot , flg )
	登録したスロットに対して、使用フラグを設定します



※基本的な使い方は動作サンプルを見て頂ければ大体わかるかと思います。
--------------------------------------------------------------------------------
■Expressions

getcharcterPosition
	1文字あたりを対象に、配置位置を取得します(ボックスからの相対距離)
	0:x座標 1:y座標 2:計算後x座標 3:計算後y座標
	(setCharacterPosition等で変更した値は前者の値が取れ、後者の値は配置後の固定値)

getcharcterSize
	1文字あたりを対象に、幅情報を取得できます(行間含む)
	※文字のピクセルサイズも取得できるように拡張されました (PW PH)

getcharcterAnimationStep
	1文字あたりを対象に、アニメーションフェード値が取得できます

getcharcterAngle
	1文字あたりを対象に、角度が取得できます

getcharcterAlpha
	1文字あたりを対象に、アルファ値が取得できます

getStringSize
	スクリプト記述を除外した文字列の長さを取得できます

getCallBack$
	簡易スクリプト[CALL:]の中身を取得します

getCallBackPosition
	コールバック発生位置にある文字位置を取得できます

--------------------------------------------------------------------------------
■Conditions

FinishAnimationDraw
	全ての表示が終了したら発生します

ScriptPause
	簡易スクリプトによる一時停止発生時に発生します

CallBackScript
	簡易スクリプト[CALL:]が呼び出されたタイミングで発生します
	getCallBackと連携し、中身を取り出せます


--------------------------------------------------------------------------------
□変更点
20231222	画面外に移動しても自動的に削除されないように調整
20221114	外部ファイル読み込み起動に関する処理を修正
20220908	表示の再修正・コールバック位置を取得できる機能の追加
20220907	[CALL:abc]コールバック機能の追加と一部不具合の修正
20220905	[P]タグまでスキップする機能の追加と一部不具合の修正
20220903	文字に画像を合成する機能の追加
20220729	表示アニメーションのパターンを追加
20220725	文字を揺らす簡易スクリプトの追加[WAVE:vec,spd]
20220521	アクションから影の指定をできるようにするSetTextShadowの追加
			簡易スクリプト構文の追加
			テキストシャドウ生成の調整
20220520	少し綺麗に見えるアウトラインモードの追加 SetOutLineModeの拡張
20220513	ChangeTextBoxRectにより任意の位置とサイズにできるように拡張
			フォントによってはスペースにドットが出現していた点を調整
20220508	簡易スクリプトを除外した文字列の長さを取得できるように拡張
20220506	シャドウONの際に文字単体のα値を操作してもシャドウはそのままだった点の修正
20220505	簡易スクリプトのRGBが正しい値になっていなかった点の修正(CharactersDefaultRGBの追加)
20220504	文字のリアルサイズを取得できるように拡張
20220119	簡易スクリプトの実装
20220118	アニメーションの一時停止と再開の実装
20220127	ターゲット文字列側スクロールオプションに追随する拡張
20211126	連続する改行を認識していなかった点の改良
20211016	DX11において最速描画時に表示が1テンポ遅れていた点の修正
20211015	アウトライン設定アクション命令が抜けていたので調整
			サブアプリ実行時に描画が狂った部分の修正
20210922	ビルド後の実行ファイルでは
			スプライトフォントの読み込み利用時に
			自動でバイナリ内包ファイルを展開して読み込むようになりました

20210927	フォント画像生成時にフォントがテキストBOXより小さい場合に不正落ちする点の改良
20210927	複数のフォントがある場合、上手く動作しなかった点の改善
20210925	シャドウカラーに不備が見られたので改善

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

	完成した。


基本的に無償で公開していますが
制作したエクステンションを使っての作品が大ヒットして
儲かって儲かって仕方がないというような方は
干し芋リストを公開していますので何かご支援下さると、とても喜びます。

















DOWNLOAD
OLDVER
OLDVER