私は現在、Android 用の 2D ゲームで働いています。シーンにプレーヤーがいて、ユーザーがデバイスを傾けると、プレーヤー オブジェクトが地面を移動します。しかし、彼は画面の左側と右側から移動しているだけです。「壁」を作ろうとしましたが、成功しませんでした。私のプレーヤーゲームオブジェクトにはエッジコライダーがあります。ここで私の質問は次のとおりです。どうすればプレーヤーのゲームオブジェクトが画面の側面と衝突することができますか?
これは私のコードです:
public GameObject player;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
Vector3 dir = Vector3.zero;
dir.y = Input.acceleration.x;
player.transform.Translate(new Vector2(dir.y, 0) * Time.deltaTime * 2000f);
}
どうもありがとうございました!:)
7月
編集:
画像 1 は私の Wall のもので、画像 2 は私の Player のものです。
解決済み
ソリューション コード:
Vector3 position = player.transform.position;
translation = Input.acceleration.x * movementSpeed * 50f;
if (player.transform.position.x + translation < LeftlimitScreen)
{
position.x = -LeftlimitScreen;
}
else if(transform.position.x + translation > RightlimitScreen)
{
position.x = RightlimitScreen;
}
else
{
position.x += translation;
player.transform.position = position;
}
このコードは私のために働いています!:)