Unityで発見しにくいファイル名ミス
発見しにくいミスを見つけたので投稿。
【FadeScript1.cs】:普通にフェードアウトする
というものを作りました。
これに緩急が欲しくなり
【FadeScript2.cs】:ボタンを押すとフェードアウトする
を作りました。
(実際はもう少しアレンジしてるけど、それを全部書くと長くなるので省略)
【FadeScript2.cs】は、【FadeScript1.cs】の亜種なので、コピペしました。
ちゃんと↓も変更しました
public class FadeScript2: MonoBehaviour
ただ、この時ひとつ余計なファイルが作られているのを僕は知りませんでした。
【FadeScript.cs】
【FadeScript1.cs】
【FadeScript2.cs】
で、
【FadeScript.cs】
public class FadeScript2: MonoBehaviour
と記述されていて、
【FadeScript2.cs】
public class FadeScript: MonoBehaviour
となっていました。これで、【FadeScript2.cs】をオブジェクトにアタッチすると
【FadeScript.cs】が動作します。エラー吐いてくれよ!
これでは、【FadeScript2.cs】の内容をいくら修正しようが、思うように動作しません。
でも、コピペした亜種なので、似たような動作するので、自分のpublic classの記述ミスを疑うまでに時間がかかってしまいました。
Unityでコピーしたプログラムを修正しても、思うように動かない時は、ファイル名テレコ(大阪弁)を疑ってみて下さい。
特に自分のプログラムに自信がなく、まず自分を疑う人は特に要注意。
貴重な3時間を無駄にしたくないでしょう?
無能で泣きたくなったwww