コンテンツにスキップ

Curve クラス

t∈[0,1] を写像するイージング曲線の基底。FlutterのCurve相当。 端点(t==0/t==1)はそのまま返し、その間だけTransformInternalへ委譲します。

名前空間: FloatSoda.Animation
アセンブリ: FloatSoda.dll

public abstract record Curve : ICurve, IEquatable<Curve>

object ← Curve

BounceInCurve, BounceInOutCurve, BounceOutCurve, Cubic, DecelerateCurve, ElasticInCurve, ElasticInOutCurve, ElasticOutCurve, FlippedCurve, Interval, LinearCurve, SawTooth, ThreePointCubic, Threshold

ICurve, IEquatable<Curve>

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

時間軸・値軸を反転したカーブ(Flutterのflipped)。

public Curve Flipped { get; }

Curve

ToStringが出力するメンバーを書き出します。基底のCurveは何も出力しません。

protected virtual bool PrintMembers(StringBuilder builder)

builder StringBuilder

出力先。

bool

メンバーを出力した場合はtrue。

recordが自動生成する実装は、publicなインスタンスプロパティをすべて出力します。 Flippedは新しいカーブを毎回作って返すため、自動生成のままだと ToStringが無限再帰します。派生型が宣言したメンバーは、派生型の実装が出力します。

t∈[0,1] を変換します。端点は保証され、内部処理はTransformInternalに委譲します。

public double Transform(double t)

t double

double

t∈(0,1) の変換本体。派生クラスが実装します。

protected abstract double TransformInternal(double t)

t double

double