ymm4-plugin-document
読み取り中…
検索中…
一致する文字列を見つけられません
YukkuriMovieMaker.Commons.Animatable クラスabstract

アニメーション可能なプロパティを持つオブジェクトの基本クラス。 Undo/Redo機能を持ち、子のIAnimatableオブジェクトのキーフレームやアニメーション設定を管理します。 [詳解]

YukkuriMovieMaker.Commons.Animatable の継承関係図

公開メンバ関数

 Animatable ()
 Animatableクラスの新しいインスタンスを初期化します。
void SetAnimationParameters (int animationLength, int videoFPS)
 アニメーションの長さとビデオのフレームレートを設定します。 この設定は、管理下にあるすべての子IAnimatableオブジェクトに伝播されます。
void SetKeyFrames (global::YukkuriMovieMaker.Commons.KeyFrames keyFrames)
 このオブジェクトおよび管理下にあるすべての子IAnimatableオブジェクトにキーフレームコレクションを設定します。
virtual void BeginEdit ()
 オブジェクトの編集を開始します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集開始を通知します。
virtual async global::System.Threading.Tasks.ValueTask EndEditAsync ()
 オブジェクトの編集を非同期で終了します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集終了を通知します。

限定公開メンバ関数

global::System.Collections.Generic.IEnumerable< global::YukkuriMovieMaker.Commons.IAnimatable > GetAnimatables ()
 このオブジェクトが管理するアニメーション可能な子要素のコレクションを取得します。
override bool Set<[global::System.Runtime.CompilerServices.Nullable(2)] T > (ref T storage, T value, [global::System.Runtime.CompilerServices.CallerMemberName] string name="", params string[] etcChangedPropertyNames)
 プロパティ値を設定し、変更を通知します。 プロパティがIAnimatableまたはそのコレクションである場合、キーフレームの関連付けも更新します。
override bool Set<[global::System.Runtime.CompilerServices.Nullable(2)] T > (global::System.Linq.Expressions.Expression< global::System.Func< T > > propertySelector, T value, [global::System.Runtime.CompilerServices.CallerMemberName] string name="", params string[] etcChangedPropertyNames)
 プロパティ値を設定し、変更を通知します。 プロパティがIAnimatableまたはそのコレクションである場合、キーフレームの関連付けも更新します。

限定公開変数類

int videoFPS

詳解

アニメーション可能なプロパティを持つオブジェクトの基本クラス。 Undo/Redo機能を持ち、子のIAnimatableオブジェクトのキーフレームやアニメーション設定を管理します。

このクラスを継承することで、プロパティの変更がアニメーションのキーフレームと連動し、 Undo/Redoの履歴にも自動的に記録されるようになります。

構築子と解体子

◆ Animatable()

YukkuriMovieMaker.Commons.Animatable.Animatable ( )

Animatableクラスの新しいインスタンスを初期化します。

public class MyAnimatableObject : Animatable
{
// 子のIAnimatableオブジェクトを返す実装
protected override IEnumerable<IAnimatable> GetAnimatables()
{
yield break;
}
public MyAnimatableObject()
{
// コンストラクタで特別な初期化が必要な場合はここに記述
}
}
Animatable()
Animatableクラスの新しいインスタンスを初期化します。
Definition Animatable.cs:52
global::System.Collections.Generic.IEnumerable< global::YukkuriMovieMaker.Commons.IAnimatable > GetAnimatables()
このオブジェクトが管理するアニメーション可能な子要素のコレクションを取得します。

メソッド詳解

◆ BeginEdit()

virtual void YukkuriMovieMaker.Commons.Animatable.BeginEdit ( )
virtual

オブジェクトの編集を開始します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集開始を通知します。

public class MyAnimatableObject : Animatable
{
protected override IEnumerable<IAnimatable> GetAnimatables()
{
yield break;
}
public void EditProperties()
{
BeginEdit(); // 編集開始
// プロパティの変更など
// ...
EndEditAsync(); // 編集終了
}
}
virtual async global::System.Threading.Tasks.ValueTask EndEditAsync()
オブジェクトの編集を非同期で終了します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集終了を通知します。
Definition Animatable.cs:282
virtual void BeginEdit()
オブジェクトの編集を開始します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集開始を通知します。
Definition Animatable.cs:246

◆ EndEditAsync()

virtual async global.System.Threading.Tasks.ValueTask YukkuriMovieMaker.Commons.Animatable.EndEditAsync ( )
virtual

オブジェクトの編集を非同期で終了します。 管理下にあるすべての子IAnimatableオブジェクトに対しても編集終了を通知します。

public class MyAnimatableObject : Animatable
{
protected override IEnumerable<IAnimatable> GetAnimatables()
{
yield break;
}
public async ValueTask EditPropertiesAsync()
{
BeginEdit(); // 編集開始
// プロパティの変更など
// ...
await EndEditAsync(); // 編集終了を待機
}
}

◆ GetAnimatables()

global.System.Collections.Generic.IEnumerable< global.YukkuriMovieMaker.Commons.IAnimatable > YukkuriMovieMaker.Commons.Animatable.GetAnimatables ( )
abstractprotected

このオブジェクトが管理するアニメーション可能な子要素のコレクションを取得します。

戻り値
アニメーション可能な子要素のコレクション。

◆ Set<[global::System.Runtime.CompilerServices.Nullable(2)] T >() [1/2]

override bool YukkuriMovieMaker.Commons.Animatable.Set<[global.System.Runtime.CompilerServices.Nullable(2)] T > ( global.System.Linq.Expressions.Expression< global.System.Func< T > > propertySelector,
T value,
[global::System::Runtime::CompilerServices::CallerMemberName] string name = "",
params string[] etcChangedPropertyNames )
protected

プロパティ値を設定し、変更を通知します。 プロパティがIAnimatableまたはそのコレクションである場合、キーフレームの関連付けも更新します。

テンプレート引数
Tプロパティの型。
引数
propertySelector設定するプロパティを指定する式ツリー。
value新しい値。
nameプロパティ名。通常は自動的に設定されます。
etcChangedPropertyNames同時に変更通知を行う他のプロパティ名。
戻り値
値が変更された場合はtrue、それ以外はfalse。

◆ Set<[global::System.Runtime.CompilerServices.Nullable(2)] T >() [2/2]

override bool YukkuriMovieMaker.Commons.Animatable.Set<[global.System.Runtime.CompilerServices.Nullable(2)] T > ( ref T storage,
T value,
[global::System::Runtime::CompilerServices::CallerMemberName] string name = "",
params string[] etcChangedPropertyNames )
protected

プロパティ値を設定し、変更を通知します。 プロパティがIAnimatableまたはそのコレクションである場合、キーフレームの関連付けも更新します。

テンプレート引数
Tプロパティの型。
引数
storageプロパティのバッキングフィールド。
value新しい値。
nameプロパティ名。通常は自動的に設定されます。
etcChangedPropertyNames同時に変更通知を行う他のプロパティ名。
戻り値
値が変更された場合はtrue、それ以外はfalse。
private string _myProperty;
public string MyProperty
{
get => _myProperty;
set => Set(ref _myProperty, value);
}

◆ SetAnimationParameters()

void YukkuriMovieMaker.Commons.Animatable.SetAnimationParameters ( int animationLength,
int videoFPS )

アニメーションの長さとビデオのフレームレートを設定します。 この設定は、管理下にあるすべての子IAnimatableオブジェクトに伝播されます。

引数
animationLengthアニメーションの全長(フレーム数)。
videoFPSビデオのフレームレート。
public class MyAnimatableObject : Animatable
{
protected override IEnumerable<IAnimatable> GetAnimatables()
{
yield break;
}
public void UpdateAnimationSettings(int length, int fps)
{
SetAnimationParameters(length, fps);
}
}
var animatableObj = new MyAnimatableObject();
animatableObj.UpdateAnimationSettings(1800, 30); // 1800フレーム、30FPSに設定
void SetAnimationParameters(int animationLength, int videoFPS)
アニメーションの長さとビデオのフレームレートを設定します。 この設定は、管理下にあるすべての子IAnimatableオブジェクトに伝播されます。
Definition Animatable.cs:172

◆ SetKeyFrames()

void YukkuriMovieMaker.Commons.Animatable.SetKeyFrames ( global.YukkuriMovieMaker.Commons.KeyFrames keyFrames)

このオブジェクトおよび管理下にあるすべての子IAnimatableオブジェクトにキーフレームコレクションを設定します。

引数
keyFrames設定するキーフレームコレクション。nullを設定するとキーフレームの関連付けが解除されます。
public class MyAnimatableObject : Animatable
{
protected override IEnumerable<IAnimatable> GetAnimatables()
{
yield break;
}
public void AssignKeyFrames(KeyFrames newKeyFrames)
{
SetKeyFrames(newKeyFrames);
}
}
var animatableObj = new MyAnimatableObject();
var myKeyFrames = new KeyFrames();
animatableObj.AssignKeyFrames(myKeyFrames); // キーフレームを設定
animatableObj.AssignKeyFrames(null); // キーフレームの関連付けを解除
void SetKeyFrames(global::YukkuriMovieMaker.Commons.KeyFrames keyFrames)
このオブジェクトおよび管理下にあるすべての子IAnimatableオブジェクトにキーフレームコレクションを設定します。
Definition Animatable.cs:211

メンバ詳解

◆ videoFPS

int YukkuriMovieMaker.Commons.Animatable.videoFPS
protected

このクラス詳解は次のファイルから抽出されました:
  • YukkuriMovieMaker.Plugin/YukkuriMovieMaker/Commons/Animatable.cs