質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

9226閲覧

nity2Dでscriptをspriteにドロップ時のエラー

bekotaizi

総合スコア11

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/07/16 21:36

unityを学び始めたものです。
unity2Dで教本を元にアクションゲームを作っているのですが。
物理エンジンの箱を戦車の砲弾で崩すサンプルゲームを実装中に以下のエラーメッセージが発生しました。

###発生している問題・エラーメッセージ
scriptをspriteにドロップ&ドラッグしようとしたとき
Please fix compile erros before creating new script components

compileタグにでてるエラーメッセージ

here are inconsistent line endings in the 'Assets/scrips/core.cs.cs' script.
Some are Mac OS X (UNIX) and some are Windows.
This might lead to incorrect line numbers in stacktraces and compiler errors.
Many text editors can fix this using Convert Line Endings menu commands.

UnityEditor.DockArea:OnGUI()

Assets/scrips/core.cs.cs(4,18): error CS8025: Parsing error

Assets/scrips/tahk.cs.cs(4,18): error CS8025: Parsing error

###該当のソースコード

C#言語

1using UnityEngine; 2using System.Collections; 3 4public class tahk.cs : MonoBehaviour { 5 gemeobject goshell = null; 6 bool action = false; 7 8 9 // Use this for initialization 10 void Start () { 11 //砲弾のゲームオブジェクト取得と砲弾の非表示設定 12 goshell = Transform.findchild("tahk_sell").gameobject; 13 goshell.setActive(false); 14 } 15 16// Update is called once per frame 17void Update() { 18 if (Input.GetMouseButton(0)) { //ボタンが押されたか?? 19 //タンクがクリックされたか?? 20 Vector2 tappoint = Camera.main.ScreenToWorldPoint(Input.mouseposition); 21 Collider2D collition2d = Physics2D.OverlapPoint(tappoint); 22 if (collition2d.gameObject == GameObject) { 23 action = true; //アクションを無効にする 24 } 25 } 26 if (action) { //ボタンが押されたままか? 27 //タンク移動 28 Rigidbody2D.Addforce(new Vector2(+30.0f, 0.0f)); 29 } 30}else{ 31 if(Input.GetMouseButtonup(0)&& action){ //ボタンが押されたか? 32 //砲弾発射 33 if(gosell){ 34 gosell.setactive(ture); 35 gosell.rigibody2D.AddFoce(new vector2(+300.0f,500.0f)); 36 Destroy(gosell.gameobject,3.0f); 37 } 38 action=false; 39 } 40 } 41} 42 43void OnGUI() { 44 GUI.TextField(new Rect(10, 10, 300, 60,), 45 "[unity2Dでゲームを作る本 sample 2_1]\n戦車をクリックすると加速\はなすと発射!"); 46 if (GUI.Button(new Rect(10, 80, 100, 20,), "リセット")) { 47 Application.LoadLevel(Application.loadedLevelName); 48 } 49 } 50} 51 52###試したこと 53現在エラー原因検索中 54###補足情報(言語/FW/ツール等のバージョンなど) 55より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずファイルがtahk.cs.csと二重拡張子になっている点が問題であると思われます。
UnityEditor上では拡張子が表示されないため、UnityEditor上でファイルを作る際に拡張子付きの名前で作成してしまうと、二重拡張子のファイルができてしまいます。
拡張子なしでファイルを作成しなおしてみてください。

イメージ説明

その際、コンポーネントを作成する際はクラス名が、ファイルの拡張子を除く名前と同じである必要があるため、クラス名も以下のように変更してみてください。

csharp

1public class tahk : MonoBehaviour 2{ 3 4}

core.cs.csも同様に修正してみてください。

here are inconsistent line endings in the 'Assets/scrips/core.cs.cs' script.

Some are Mac OS X (UNIX) and some are Windows.
This might lead to incorrect line numbers in stacktraces and compiler errors.
Many text editors can fix this using Convert Line Endings menu commands.

これは改行コードがUNIXのLFになっていることが問題です。
改行コードをWindowsのCR+LFに変えることで解決できると思います。

あとtahk.csのソースコードについてですが、C#のソースコードにおいて英文字の大文字小文字の違いは判断されます。
コードをぱっと見たところ、大文字で書かねばならないところと小文字で書かれているものや、その逆の部分も多くみられます。
例えば、以下の点などです。
gemeobject goshell = null;
は以下のように記述する必要があります。
GameObject goshell = null;

unity2Dで教本を元にアクションゲームを作っているのですが。

教本を元に作成しているのでしたら、もう一度写し間違いや書き間違いがないかを確認して見てください。

投稿2016/07/16 23:12

urahimono

総合スコア714

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問