前提・実現したいこと
キャラクターが物を持つ際、複数持てなくしたい。
それと、現在は持っているときに二つ目を持とうとすると、交互に持つ・置くを繰り返してしまう。
発生している問題・エラーメッセージ
エラーメッセージというよりかは、条件を変えても変わっていない(自分のやっていることがあまり変わっていないと思う)。
該当のソースコード
void up () { Carrying = 0; Up = 0; Down = 1; //anim.Play("motu"); transform.parent = GameObject.Find("penci_base2").transform; Vector3 PosObj = transform.localPosition; PosObj.y = transform.position.y * 0.05f; transform.localPosition = PosObj; roll = true; if(transform.tag == "Cube") { //GetComponent<BoxCollider>().enabled = false; GetComponent<BoxCollider>().isTrigger = true; } else if(transform.tag == "Sphere") { //GetComponent<SphereCollider>().enabled = false; GetComponent<SphereCollider>().isTrigger = true; } GetComponent<Rigidbody>().useGravity = false; GetComponent<Rigidbody>().isKinematic = true; } void down() { Carrying = 1; Up = 1; Down = 0; transform.parent = null; roll = false; player.GetComponent<PencilBaseMove>().roll = 2; if (transform.tag == "Cube") { //GetComponent<BoxCollider>().enabled = true; GetComponent<BoxCollider>().isTrigger = false; } else if (transform.tag == "Sphere") { //GetComponent<SphereCollider>().enabled = true; GetComponent<SphereCollider>().isTrigger = false; } GetComponent<Rigidbody>().useGravity = true; GetComponent<Rigidbody>().isKinematic = false; } void OnTriggerStay(Collider col) { if (Input.GetButtonDown("Fire3") && col.gameObject.tag == "range") { if (Up == 1 && Down == 0) { if (Carrying == 1) { up(); } } else { if (Carrying == 0) { down(); } } } }
試したこと
int型、bool型での切り替え、range(持つ範囲)をなくす
rangeをなくすのは、その後持ったり置いたりするのに使えなくなってしまうため断念
補足情報(FW/ツールのバージョンなど)
書いた物がオブジェクト化し、それを複数回持つが、一度に複数を持つのをやめたいです。
アクションゲームか何かですか?それと「現在の状況」と「期待する結果」をもう少し詳細に教えてください。
操作性が自由なアクションゲームな感じですね。現在の状況としては、持っている状態で他のオブジェクトを持とうとすると、交互で持ち替えしてしまう状態です。期待する結果は、持っているときには他のオブジェクトは持たずに、置くことだけを実行するという状態を作りたいです。 言葉足らずかもしれませんがこのような感じに思っています。
UnityならUnityのタグを入れてください。
申し訳ございませんでした。Unityのタグを入れ忘れていました。質問が初めてなもので不備がありすみません。
記事の再編集機能からタグって追加できません?(私は質問したことがないのでできるのかわかりませんが)できるのであれば、そちらで追加し、重複で投稿した記事は削除してください。
あ、できました。度々のご指摘ありがとうございます。もう一つの方消しておきます。何度もすみませんでした。
回答1件
あなたの回答
tips
プレビュー