【3Dゲームエンジン】Unity質問スレッド11
■ このスレッドは過去ログ倉庫に格納されています
0500名前は開発中のものです。
2014/09/01(月) 00:07:05.95ID:BLyG/4d5ラップってのはある機能を自前のクラスで等価に扱いながら自分の望む事をするために特殊化する事を意味する
Unity標準のInputと同一メソッドを持たせてやれば呼び出しコストが少しかさむが同じ機能を提供できることは理解できるとおもう
たとえばInput クラスのbool GetButton(string key)だけを模倣するなら
class MyInputClass {
static bool GetInput(string key) {
return Input.GetInput(key);
}
}
こうなる、ここでMyInpuClassのGetInputに外からの情報に基づいた追加機能を使うように修正すれば初回の質問の答えになる。
たとえば
class MyInputClass {
static bool _forcePressFire1;
static bool GetInput(string key) {
if(key=="Fire1")
return _forcePresFire1;
return Input.GetInput(key);
}
このようにする事でMyInputClass.GetInutは"Fire1"引数に対してクラス変数_foresPressFire1がtrueなら実際の入力に依存せずに任意の値を返せる。
>>492
がstatic Functionだから隠蔽するのは無理って言っているのはラップを継承で片付けようとする誤解から来てる。
これ読んでも理解できないならC#言語の解説とGoFの書籍読むべき
■ このスレッドは過去ログ倉庫に格納されています