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

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

新規登録して質問してみよう
ただいま回答率
87.20%
C#

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

解決済

Unity スクリプトに矛盾する行末があります の警告文

ssssggg
ssssggg

総合スコア40

C#

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

2回答

1評価

0クリップ

4792閲覧

投稿2019/04/04 04:20

Unityについてです。
下記の警告が出ていてスクリプトが正常に動作しないのですがどうすればいいでしょうか。
原因はコードだと思われますが、どこが悪いのかがわかりません。


警告文

There are inconsistent line endings in the 'Assets/Attack.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.

日本語
'Assets / Attack.cs'スクリプトに矛盾する行末があります。 Mac OS X(UNIX)もあればWindowsもあります。
これにより、スタックトレースの不正な行番号やコンパイラエラーが発生する可能性があります。多くのテキストエディタは、行末変換メニューコマンドを使用してこれを修正できます。


動かないスクリプト

ゲームのアイコンのオブジェクトにアタッチされています。
表示非表示を切り替えたり、クリックされた動作をBattleManagerに送る役割をしています。

開始時に、Debug.Log"AA""dd"が2回ずつ出ます。なのでスクリプトは動いてます。でもAAが二回出るはずがないのでおかしいです。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Attack : MonoBehaviour
{
GameObject BattleManagger;
BattleManager sc;

int BNsyori = 0;//scから変数の変化によって処理をするのを重複させない役割 void Start() { Debug.Log("AA"); BattleManagger = GameObject.Find("BattleManagger"); sc = BattleManagger.GetComponent<BattleManager>(); } // Update is called once per frame void Update() { int BsyoriA = sc.BsyoriA; int BsyoriB = sc.BsyoriB; int Inputo = sc.Inputo; if (BsyoriA == 1 && BNsyori == 0) { BNsyori = 1; StartCoroutine("hyouzi"); } if (Inputo == 1 && BNsyori == 1) { BNsyori = 2; StartCoroutine("hihyouzi"); } } public IEnumerator hihyouzi() { Debug.Log("dd"); transform.position = new Vector2(-6, -4); for (float f = 0; f < 16; f++) { transform.Translate(new Vector2(0, -0.125f)); yield return new WaitForSeconds(0.02f); } } public IEnumerator hyouzi() { Debug.Log("dd"); transform.position = new Vector2(-6f, -6); for (float f = 0; f < 16; f++) { transform.Translate(new Vector2(0, 0.125f)); yield return new WaitForSeconds(0.02f); } BNsyori = 0; } void OnMouseOver() { if (Input.GetMouseButtonDown(0) && BNsyori == 0) { BNsyori = 1; sc.Attack(); } }

}


ちなみに、同じような動作をするオブジェクトがもう一つあって、それのスクリプト(下記)は正常に動きます。


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class bunseki : MonoBehaviour
{
GameObject BattleManagger;
BattleManager script;

int BNsyori = 0; void Start() { BattleManagger = GameObject.Find("BattleManagger"); script = BattleManagger.GetComponent<BattleManager>(); } // Update is called once per frame void Update() { int BsyoriA = script.BsyoriA; int BsyoriB = script.BsyoriB; int Inputo = script.Inputo; if (BsyoriA == 1 && BNsyori == 0) { BNsyori = 1; script.BsyoriAsyori(); StartCoroutine("hyouzi"); } if (Inputo == 1 && BNsyori == 1) { BNsyori = 2; StartCoroutine("hihyouzi"); } } public IEnumerator hihyouzi() { transform.position = new Vector2(1.3f, -4); for (float f = 0; f < 16; f++) { transform.Translate(new Vector2(0, -0.125f)); yield return new WaitForSeconds(0.02f); } } public IEnumerator hyouzi() { transform.position = new Vector2(1.3f, -6); for (float f = 0; f < 16; f++) { transform.Translate(new Vector2(0, 0.125f)); yield return new WaitForSeconds(0.02f); } BNsyori = 0; } void OnMouseOver() { if (Input.GetMouseButtonDown(0) && BNsyori == 0) { BNsyori = 1; script.Bunseki(); } }

}


BattleManager (必要そうな部分だけ)


public class BattleManager : MonoBehaviour
{
public int Z = 0;
public int flee = 0;//自由に使って良い変数
public Text messagewindow;
public static int PlayerLV;
public int BsyoriA;
public int BsyoriB;
public int m_syori = 0;
//略

public void BsyoriAsyori() { BsyoriA += 1; } public void Bunseki() { MsgB = 1; Inputo = 1; StartCoroutine("Bunsekii"); } public void Attack() { MsgB = 1; Inputo = 1; StartCoroutine("Attackk"); } public void MsgBa() { MsgB = 1; }

説明やコードが理解しがたかったらすみません。抽象的な事でもいいので、警告文やスクリプトが動かない理由として考えられること、手がかりがあれば教えていただけると嬉しいです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

C#

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

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。