質問: GetComponent(); } void FixedUpdate() { rigidbody2D.velocity *= 0.99f; } } ``` 説明 -- このSlowDownクラスの中身を白玉と番号玉のスクリプトに入れたいのですが、ここで宣言しているメソッドはすべてprivateなので別スクリプトに持っていけず、、、 なにかいい方法はありませんか?
回答: 白玉と番号玉に共通する部分を玉クラスに記述して、白玉・番号玉は玉クラスから派生させる(玉クラスを`class Ball : MonoBehaviour {...}`としておき、白玉は`class CueBall : Ball {...}`、番号玉は`class ObjectBall : Ball {...}`といった風に)方法があるかと思います。 (参考:MonoBehaviour のメソッドをオーバーライドする [Unity , C#] - いんでぃーづ) あるいは単純に、白玉には白玉スクリプトと`SlowDown`スクリプトを、番号玉には番号玉スクリプトと`SlowDown`スクリプトをアタッチする...という方式でも行けそうに見えますが、それだとまずい理由がありますでしょうか?