オブジェクト開始位置を起点として往復移動させたい
今までjavascriptをやっていたものなのですがunityでは仕様の違いで困っております。
オブジェクトを表示した位置を変数に格納し移動上限を設定
オブジェクトを動かして上限に達したら分岐
という仕組みにしたいのですがどうにもエラーが出て困っております。
発生している問題・エラーメッセージ
Assets\scripts\kasi1.cs(23,37): error CS0103: The name 'kasi_origin_x_plus' does not exist in the current context Assets\scripts\kasi1.cs(27,37): error CS0103: The name 'kasi_origin_x_minus' does not exist in the current context
該当のソースコード
using UnityEngine;
using System.Collections;
public class kasi1 : MonoBehaviour {
bool m_xPlus = true;
public void Start () {
Vector3 kasi_xyz = this.gameObject.transform.position;
float kasi_origin_x = kasi_xyz.x;
float kasi_origin_x_plus = kasi_origin_x +0.1f;
float kasi_origin_x_minus = kasi_origin_x -0.1f;
//Debug.Log(kasi_origin_x_plus);
}
void Update () {
//往復移動の表記ここから if( m_xPlus ) { transform.position += new Vector3(0.1f*Time.deltaTime, 0f, 0f); float kasi_origin_x_now = transform.position.x; if( transform.position.x >= kasi_origin_x_plus ) m_xPlus = false; } else { transform.position -= new Vector3(0.1f*Time.deltaTime, 0f, 0f); if( transform.position.x <= kasi_origin_x_minus ) m_xPlus = true; } //往復移動の表記ここまで
}
}
試したこと
読み込もうとしている変数がグローバル変数になっていない為、スコープの対象外となっているのだろうと予測します。
http://home.a00.itscom.net/hatada/csharp/global01.html
上記のページを見てクラス名を頭に付けたりしましたが上手くいきませんでした。
調べるとこのコンテキストエラーは初心者が度々ぶち当たるものの様で色々出てきましたが
多すぎて自分と同じ問題を探し出すことが出来ませんでした。
どの様に編集すれば良いのでしょうか?
補足情報(FW/ツールのバージョンなど)
unity 2018.4.16
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/12 03:19 編集
2020/02/12 03:31