UnityでJump King風ゲームを作るときに、カメラの挙動再現に苦戦しています
解決したいこと
Jump Kingのカメラの挙動をUnityで再現したい
例)
Unity2DでJump King風のゲームを作ろうとしていたのですが、Jump King特有のあのカメラワークを再現するのにてこずっています。
解決方法を教えて下さい。
該当するソースコード
言語 C#
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class VerticalScrollCamera : MonoBehaviour
{
public Transform player;
private Camera mainCamera;
void Start()
{
mainCamera = Camera.main;
}
void Update()
{
float cameraY = mainCamera.transform.position.y;
float playerY = player.position.y;
if (playerY > cameraY + 8)
{
mainCamera.transform.position = new Vector3(mainCamera.transform.position.x, cameraY + 16, mainCamera.transform.position.z);
}
else if (playerY < cameraY - 8)
{
mainCamera.transform.position = new Vector3(mainCamera.transform.position.x, cameraY - 16, mainCamera.transform.position.z);
}
}
}
自分で試したこと
考え方としては
カメラのサイズが縦16マス×横10マスなので、カメラの中心座標をkとすると(初期位置はy=0)、Playerのy座標が-8+kから+8+kまでの間はカメラを固定する。Playerのy座標が、8+k以上になったらカメラのy座標に+16して、逆に-8+k以下になったらカメラのy座標を-16する。
という考えでプログラミングコードを作ればいいのかなと思って、やったのですがカメラは初期位置のまま動きませんでした。
1 likes