
[code]

    using UnityEngine;
    using System.Collections;
    
    public class ScrollObject : MonoBehaviour {
        public float speed = 1.0f;
        public float startPosition;
        public float endPosition;
    
        void Update() {
            //毎フレームｘポジションを少しずつ移動させる
            transform.Translate(-1 * speed * Time.deltaTime, 0, 0);
            //スクロールが目標ポイントまで到達したかをチェック
            if (transform.position.x <= endPosition) ScrollEnd();
        }
    
        void ScrollEnd() {
            //スクロールする距離分を戻す
            transform.Translate(-1 * (endPosition - startPotion), 0, 0);
            //毎ゲームオブジェクトにアタッチされているコンポーネントにメッセージを送る
            SendMessage("onScrollEnd", SendMessageOptions.DontRequireReceiver);
        }
    }
    
[/code]

エラー：

[code]

    Assets/Script/ScrollObject.cs(21,56): error CS0103: The name `startPotion' does not exist in the current context
    Assets/Script/ScrollObject.cs(21,27): error CS1502: The best overloaded method match for `UnityEngine.Transform.Translate(float, float, float)' has some invalid arguments
    Assets/Script/ScrollObject.cs(21,27): error CS1503: Argument `#1' cannot convert `object' expression to type `float'
    
[/code]


CC BY-SA 3.0
2015-10-04T06:33:42.863
17240
2015-10-04T15:08:11.147
2015-10-04T10:29:38.823
7290
12567
question
unity3d
Unityのスクリプトでエラーが出ます


ScrollObject.csの21行目にあるstartPotionの綴りが間違っています。  
startPositionと書き換えることでエラーは消えると思います。

エラーの対応方法がわからない場合、下記を試してみてください。

  1. エラーは英語のメッセージですが、分からなければgoogle翻訳などで日本語にしてみてください。 
    * 原文：The name `startPotion' does not exist in the current context
    * 翻訳：名前` startPotion 'は現在のコンテキスト内に存在しません
  2. エラーをダブルクリックするとエディタの該当行へ移動します。上記エラーメッセージを意識してよく見直してみてください。
  3. それでも意味がわからない場合、Googleでエラーメッセージを調べてみると同じエラーで苦労した人の解決策が見つかるかもしれません。


CC BY-SA 3.0
2015-10-04T15:08:11.147
17248
2015-10-04T15:08:11.147
4850
17240
answer