Jbutaのブログ

腹だけでた豚のブログ

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時間を無駄にしたくないでしょう?

 

f:id:jbuta:20170831204153p:plain

無能で泣きたくなったwww