###前提・実現したいこと
unityでオブジェクトを横移動させて、endPositionまで動かしたら、startPositionに戻り、また横移動することを繰り返すコードを書いています。
###発生している問題・エラーメッセージ
ScrollEnd関数内のtransform.position.x = startPosition;のところがまずいようです。
Assets/ScrollObjects.cs(26,27): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable
###該当のソースコード
ScrollObjects.cs
using UnityEngine;
using System.Collections;
public class ScrollObjects : MonoBehaviour {
public float startPosition; public float endPosition; public float speed; void Start () { startPosition = transform.position.x; } void Update () { if(transform.position.x <= endPosition) { ScrollEnd(); } transform.Translate(-1 * speed * Time.deltaTime, 0, 0); } void ScrollEnd() { transform.position.x = startPosition; }
}
###試したこと
アタッチし忘れみたいなことはないと思います。
startPosition = transform.position.x;やtransform.position.x = startPosition;のようにfloat型をposition.xに代入することって問題あるのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/30 04:28