ここから本文です

unityのスクリプトについて質問です。

ban********さん

2016/8/2315:02:28

unityのスクリプトについて質問です。

ーーーーーーーーーーーーーーーーー
using UnityEngine;
using System.Collections;
using System;

public class torf : MonoBehaviour
{

// Use this for initialization
void Start()
{

}


void Update()
{
float dist = Vector3.Distance(new Vector3(0, 0, 0), transform.position);
if (dist > 22.0f)
{
GetComponent(new grav).enabled = false;
}
if (dist < 22.0f)
GetComponent(new grav).enabled = true;
}
}
ーーーーーーーーーーーーーーーーーーーー
このスクリプトの下から三行目と六行目の(new grav)の ) エラーになってしまいます。
※gravというのは別のスクリプト名です。こちらは問題なく動いています。
エラー内容はCS1526、new式は型の後に()、[]または{}を必要としています。と書いてあります。
どうすればよいでしょうか。
私自身プログラミングには詳しくないので馬鹿なことを言っていたらすみません。

閲覧数:
36
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

dea********さん

2016/8/2323:22:21

GetComponentの中でnewは使えません。
GetComponentは「(このgameObjectに付いた)〜〜というコンポーネントを取得する」という意味です。
一方、new gravは「gravクラスを新たに生成する(インスタンス化する)」という意味です。
意味が食い違っているのがお分かりかと思います。

また、C#だったらそもそも書き方が違います。
コンポーネントを取得する場合は
GetComponent<grav>().enable = true;
クラスを新たに生成する場合は
grav gr = new grav();
となります。

質問した人からのコメント

2016/8/25 13:07:05

助かりました!無事修正できました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる