私は私の "ヒーローセレクションメニュー"が作成されているときにボタンを作成中です。これらのボタンは、に関連する画像/スプライトを表示します。これらのボタンは、それらが表す「ヒーロー」に応じて表示されます。Unity3D C#ボタンスプライトスワップ - 実行時に画像を添付
私は以下のメソッドを持っていますが、の変数はにスプライトを適用する必要があります。
Button _thisButton;
Sprite _normalSprite;
Sprite _highlightSprite;
protected override void DoStateTransition (SelectionState state, bool instant){
switch (state) {
case Selectable.SelectionState.Normal:
_thisButton.image = _normalSprite; //.image is not correct
Debug.Log("statenormalasd");
break;
case Selectable.SelectionState.Highlighted:
_thisButton.image = _normalSprite; //.image is not correct
//...
}
状態は間違いなく動作していますが、Debug.Log(...)で確認しました。
もう一度問題が発生します。どの値を変更しなければならないのですか.image?事前に
おかげで、 Csharpest
確かに。まあそれはちょっと厄介です:D。ありがとうございます^^ 3分であなたの答えを受け入れることができます。 – Csharpest
ええ、私は実際にを "_thisButtonImage = _thisButton.GetComponent ();"フィールドにキャッシュしています。 void Start()。次に、私は単に "_thisButtonImage.sprite = _normalSprite;"と呼んでいます。状態が変わるたびにGetComponentを呼び出すよりもパフォーマンスが良いと思います。これは本当ですか? –
Csharpest
確かに、本当です! – Maakep