前提・実現したいこと
unityを使って以下のような物を作ろうとしています。
赤い色の皿(table)の上に2つの箱(box,box(1))を載せてバランスを取りながら動かします。
プレイヤーは皿を左右に動かします。
画像の場合は、箱が右に倒れそうなので、皿を右に動かして、一番上の箱をバランスの取れた状態へ、二つが乗った状態にしたいのです。
皿、箱共にboxcollider2d,ridibody2dにし、皿はkinematicにしました。
皿、箱共にFrictionを0.5としました。
発生している問題・エラーメッセージ
皿をどちらへ動かしても、皿の動きと関係なく箱は下へ落ちます。
箱を皿の子要素にしないと、そもそも皿を動かしたときに箱がその場に留まったまま皿だけ動いてしまいます。
しかし子要素にすると、箱は皿の相対位置となるとのことで、皿の動きと関係なく崩れてしまいます。
最終的にはバランスを取りながらスタート地点からゴール地点まで箱を運ぶゲームにしたいのですが、なにか良い方法がありましたらよろしくお願いいたします。
皿は以下のコードで動かします。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManager : MonoBehaviour { Vector3 pos = new Vector3(); float speed; // Start is called before the first frame update void Start() { pos = transform.position; speed = 0.1f; } // Update is called once per frame void Update() { if (Input.GetKey(KeyCode.RightArrow)) { pos.x += speed; transform.position = pos; }else if (Input.GetKey(KeyCode.LeftArrow)) { pos.x -= speed; transform.position = pos; } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/25 10:25