前提
unityでerrorが出てしまい、ゲームが再生できない。
unityで2dのゲームを制作しています。
オブジェクトのスケールが0になった場合、変数を1にする機能を実装したいのですが、以下のエラーメッセージが発生しました。
error CS0029: Cannot implicitly convert type 'UnityEngine.Vector3' to 'bool'
実際に書いたコードは以下の通りです。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class test : MonoBehaviour { //変数を指定 public int a; void Start() { } // Update is called once per frame void Update() { void OnCollisionEnter2D(Collision2D collision) { // 衝突した相手に"ball"タグが付いているとき if (collision.gameObject.name == "ball") { // オブジェクトのスケールを0にする transform.localScale = new Vector2(0.0f, 0.0f); //オブジェクトが0の時に if (transform.localScale = new Vector2(0.0f, 0.0f)) { // aが1になる a = 1; } }
実現したいこと
-初心者のため、何が原因でエラーになっているのかがわかりません。
//オブジェクトが0の時に if (transform.localScale = new Vector2(0.0f, 0.0f)) { // aが1になる a = 1; }
試しに上の演算子の部分を ~ localScale == new Vector2 ~
にしてみても別のエラーメッセージが出てきます。
error CS0034: Operator '==' is ambiguous on operands of type 'Vector3' and 'Vector2'
何が原因でこうなってるのかご教示いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/16 14:19