Unity_Game #2
210824
Unity_Game #2地図テストとプレーヤー動的実施 -テスト用の大きなスケルトンを一時的に描画
-プレーヤーオブジェクトを作成し、カメラの位置とサイズを調整します.
プレイヤーの移動は左右、ジャンプを体現します.
動作に応じて、カメラをフォローさせ、プレイヤーの視野を確保します.頃移動
-Movement2D.cs
運転時左右キーまたは入力a(左)d(右)移動確認
ジャンプを追加
-Movement.cs
-rigid2D.重力スケールじゅうりょくすけーる:重力係数じゅうりょくけいすう
プレイヤーに与える重力が大きいほどジャンプが低くなります.
リファレンス
https://velog.io/@kimhaech/Unity2DBasic-6
Unity_Game #2
-プレーヤーオブジェクトを作成し、カメラの位置とサイズを調整します.
プレイヤーの移動は左右、ジャンプを体現します.
動作に応じて、カメラをフォローさせ、プレイヤーの視野を確保します.
-Movement2D.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Movement2D movement2D;
private void Awake()
{
movement2D = GetComponent<Movement2D>();
}
// Update is called once per frame
void Update()
{
float x = Input.GetAxisRaw("Horizontal"); // 좌 우 입력
movement2D.Move(x); // 입력받은 float x로 이동방향 제어
}
}
-PlayerController.csusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement2D : MonoBehaviour
{
[SerializeField]
private float speed = 5.0f; // 속도
private Rigidbody2D rigid2D;
private void Awake()
{
rigid2D = GetComponent<Rigidbody2D>(); // Rigidbody2D의 컴포넌트를 가진다.
}
public void Move(float x)
{
// x 축 이동은 x * speed, y 축은 기존의 속력 값
rigid2D.velocity = new Vector2(x * speed, rigid2D.velocity.y);
}
}
Player Controlから入力を受信してMovementを呼び出す移動関数運転時左右キーまたは入力a(左)d(右)移動確認
-Movement.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movement2D : MonoBehaviour
{
[SerializeField]
private float speed = 5.0f; // 속도
[SerializeField]
private float jumpForce = 8.0f; // 점프 힘 (클수록 높이 점프한다)
[SerializeField]
private float gs = 1.5f;
private Rigidbody2D rigid2D;
private void Awake()
{
rigid2D = GetComponent<Rigidbody2D>(); // Rigidbody2D의 컴포넌트를 가진다.
}
private void FixedUpdate()
{
rigid2D.gravityScale = gs; // 점프 높이 조절
}
public void Move(float x) // 좌우 이동
{
// x 축 이동은 x * speed, y 축은 기존의 속력 값
rigid2D.velocity = new Vector2(x * speed, rigid2D.velocity.y);
}
public void Jump() // 점프
{
// fumpForce의 크기만큼 위 방향으로 속력 설정
rigid2D.velocity = Vector2.up * jumpForce;
}
}
-PlayerController.csusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Movement2D movement2D;
private void Awake()
{
movement2D = GetComponent<Movement2D>();
}
// Update is called once per frame
void Update()
{
float x = Input.GetAxisRaw("Horizontal"); // 좌 우 입력
movement2D.Move(x); // 입력받은 float x로 이동방향 제어
// 스페이스 키를 누르면 점프
if (Input.GetKeyDown(KeyCode.Space))
{
movement2D.Jump();
}
}
}
Movement.csにgravityScaleを設定する変数を作成しました.-rigid2D.重力スケールじゅうりょくすけーる:重力係数じゅうりょくけいすう
プレイヤーに与える重力が大きいほどジャンプが低くなります.
リファレンス
https://velog.io/@kimhaech/Unity2DBasic-6
Reference
この問題について(Unity_Game #2), 我々は、より多くの情報をここで見つけました https://velog.io/@kimhaech/UnityGame-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol