2017-11-30 33 views
-2
using UnityEngine; 
using System.Collections; 

public class Rock : MonoBehaviour { 

    [SerializeField] Vector3 topPosition; 
    [SerializeField] Vector3 bottomPosition; 
    [SerializeField] float rockSpeed; 

    // Use this for initialization 
    void Start() { 

    } 

    // Update is called once per frame 
    void Update() { 
     transform.Translate (Vector3.up * (rockSpeed * Time.deltaTime)); 
     Vector3 objPos = new Vector3 (transform.localPosition.x, transform.localPosition.y); 

     if (objPos.y >= topPosition) { 
      transform.Translate (Vector3.down * (rockSpeed * Time.deltaTime)); 
     } 

    } 
} 

READ THIS
私はrockSpeedにint型を作ってみましたが、それはまだ同じエラーに 誰を与えますエラーのように任意のアイデアエラーCS0019:演算子 `> =「タイプのオペランドに適用することはできません`フロート」と `UnityEngine.Vector3'

enter image description here

+7

'if(objPost.y> = topPosition.y)'を使いたくないですか? –

+0

同じエラーが出るようにしました – rial

+0

** float **と思うtime.deltatimeのためにダブルに変換できません。 – rial

答えて

0

を持って明確に(基本的に組み合わせた3つの数字である)あなたは(1つの番号である)floatを比較しようとVector3されていると言います。

このような比較の結果はどうでしょうか(0.5f > [0.5f, 1.5f, 2.5f])?
明らかにそれは意味をなさない。したがって、コメントのアドバイスに従って、コードを変更して同じタイプの変数を比較してください。

関連する問題