【Unity】ScrollBarでSliderのような挙動をさせる


当然Sliderを使うべきですが
やむを得ぬ事情でScrollBarしか使えない事もある

 

ScrollRectからScrollBarを削除してScrollBarのサイズを調整する
こんな感じのコードを書く

public class ChangeScrollbarSize : MonoBehaviour
{
    private Scrollbar scrollbar;
    private ScrollRect scrollRect;

    private void Start()
    {
        scrollbar = GetComponent<Scrollbar>();
        scrollRect = transform.parent.GetComponent<ScrollRect>();
    }
    public void OnchangeScrollSize()
    {
        scrollRect.normalizedPosition = new Vector2(scrollRect.normalizedPosition.x, scrollbar.value);

    }

}

書いたコードをScrollBarのOnValueChangedの中でOnchangeScrollRect()を呼んであげる

【Unity】VisualStudioとUnityの連携が解除された!再起動しても連携されずデバッガが実行できない!

 

UnityEditorの
edit→preferencs→RegenerateProjectFiles
で再度プロジェクトファイルを作成する
連携関連のエラーがでたら大体これで直ります

 

【Unity】Xboxコントローラーのスティックがinputで設定したにもかからわず反応しないorおかしな挙動をする

・状況

 タイトル通り。デバックログで見てみると数字がおかしかったり、ずっと1だったりする

・原因

 Xbox以外のコントローラーをPCに接続している

 

 引っかかって一時間無駄にしました☆当たり前ですね☆

【Unity】ジェネリックを使用したクラスがJson(多分他の形式も)に書き出されない

・状況

 タイトルの通り。[Serializable]はついている。変換できないメンバの中身を見ると「version=0.0.0.0 culture=neutral publickeytoken=null」と書いてある

エラーは特に起きない。もし他のクラスも書き出そうとしていた場合、ジェネリックを使用していないクラスのメンバのみ書き出される。

・解決策

 ジェネリックを使用しない。

・参考

https://caitsithware.com/wordpress/archives/74

確かにシリアライズできないのは納得できる・・・インスペクターに出しても型が不定だったら何の値入れていいか分からないし

参考リンクに継承して解決する方法あるけどジェネリックの利点消えてるしほぼ意味ないのでは・・・