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

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

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

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

284閲覧

スクリプト上部のimportが失敗している?

agu

総合スコア41

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/08/31 02:28

Unityにてjavascriptを利用しています。
スクリプト上部にimportを記述しているのですが、以降の呼び出しでうまく利用が出来ないことがあります。

具体的には、下記のようなスクリプトを書いた場合、
BCE0019: 'LoadScene' is not a member of 'SceneManager'. エラーが起きます。

#pragma strict import UnityEngine.SceneManagement; function Start () { SceneManager.LoadScene(1); }

ただし、UnityEngine.SceneManagement.SceneManager.LoadScene(1);
と記述すると正常に起動します。

何か問題があってimportに失敗しているかと思うのですが、何が原因なのかご教授頂けないでしょうか。
宜しくお願いいたします。

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

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

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

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

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

fiveHundred

2018/08/31 02:41

最新版ではJavaScriptは新規に作成出来なくなり、非推奨になっておりますが、それでも使いたい理由は何でしょうか?
agu

2018/08/31 02:59

ご協力いただきありがとうございます。恥ずかしながらUnity2018の情報を逃しており旧バージョンのものを利用していたため、Javascriptも新規作成できていたためとなります。2018での開発にシフトしようと思います。上記の不具合は非推奨となったために発生していたものと考えてよいでしょうか?
fiveHundred

2018/08/31 03:23

「非推奨となったために発生していたもの」かどうかは、すみませんが私は分からないです。ただ、普通に新規作成できるバージョンであれば、非推奨になる前のものなので、他に原因があるような気がします。
agu

2018/08/31 04:11

unity2018にシフトしました。気付く機会を頂きありがとうございました。C#に変更して起動したところ同じ現象が起きているので他に原因があるようです。
agu

2018/09/01 18:28

>Bongo様 ありがとうございます!解決しました!おっしゃる通りクラス名もスクリプト名もゲームオブジェクトもSceneManagerとなっていたので全部変えてみた所うまくいきました!ベストアンサーとさせて頂きたいです!お手数ですが回答の方にご記入いただけないでしょうか?
guest

回答2

0

ベストアンサー

JavaScriptは慣れておらず自信がなかったのですが、どうやら「Unityのシーン遷移にてCS0117のエラーを吐いてしまい遷移できない」と同様のケースだったご様子ですね。

エラーメッセージの内容が直接的に名前かぶりを指摘するものではないので、確かにちょっと原因追及に手間取りそうなケースかもしれません。「BCE0019」について検索してみても、他の原因によるものが多くを占めるようです。
名前かぶりが原因のケースは「スクリプトの名前は分かりやすく、でも分かりやすすぎは危険? - 大抵いつも、低空飛行」や「UnityのJavaScriptとブラウザに載ってるJavaScriptの違いをまとめたブログ記事 - 強火で進め」で言及されていました。

今回はUnityEngine.SceneManagement.SceneManager.LoadScene(1);ならうまくいったという情報を提供してくださいましたので、比較的容易に原因に思い当たりました。ありがとうございます。

※先ほど見てみたところ、fiveHundredさんのご指摘の通り、JavaScriptは現行バージョンだとすでに「Assets」→「Create」→「Legacy」からも削除されてしまったようですね。C#に移行するちょうどいい機会かもしれません。

投稿2018/09/01 21:07

Bongo

総合スコア10807

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

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

agu

2018/09/01 22:19

ご回答いただきありがとうございます! Bongo様もfiveHundred様も皆様ご協力いただきありがとうございました! 今回の件はケースに関わらず気を付けるべき部分と思ったので今後は名前にも気を配っていこうと思います。 fiveHundred様に2018ではJavaScriptが使えなくなっていることを教えて頂いたときは少しショックをうけましたが、c#に切り替えてもなんとかやっていけそうです。よかった。。。
guest

0

ご指摘いただいたように重複しているクラス名を変更する事で解決できました。
ありがとうございました!

投稿2018/09/01 22:20

編集2018/09/01 22:27
agu

総合スコア41

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問