보스 스크립트 추가(랜덤 좌우이동, 낭떠러지 체크)
This commit is contained in:
@@ -644,7 +644,7 @@ GameObject:
|
|||||||
- component: {fileID: 114042779}
|
- component: {fileID: 114042779}
|
||||||
- component: {fileID: 114042778}
|
- component: {fileID: 114042778}
|
||||||
- component: {fileID: 114042777}
|
- component: {fileID: 114042777}
|
||||||
- component: {fileID: 114042776}
|
- component: {fileID: 114042780}
|
||||||
m_Layer: 9
|
m_Layer: 9
|
||||||
m_Name: False Knight
|
m_Name: False Knight
|
||||||
m_TagString: Enemy
|
m_TagString: Enemy
|
||||||
@@ -652,18 +652,6 @@ GameObject:
|
|||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
||||||
m_StaticEditorFlags: 0
|
m_StaticEditorFlags: 0
|
||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!114 &114042776
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 114042775}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 0de3500b3118bd04ebf644b811d74319, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
--- !u!70 &114042777
|
--- !u!70 &114042777
|
||||||
CapsuleCollider2D:
|
CapsuleCollider2D:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -698,8 +686,8 @@ CapsuleCollider2D:
|
|||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_CompositeOperation: 0
|
m_CompositeOperation: 0
|
||||||
m_CompositeOrder: 0
|
m_CompositeOrder: 0
|
||||||
m_Offset: {x: 0, y: 0.18}
|
m_Offset: {x: 0, y: 0}
|
||||||
m_Size: {x: 1.1, y: 1.03}
|
m_Size: {x: 4.11, y: 0.0001}
|
||||||
m_Direction: 0
|
m_Direction: 0
|
||||||
--- !u!50 &114042778
|
--- !u!50 &114042778
|
||||||
Rigidbody2D:
|
Rigidbody2D:
|
||||||
@@ -737,13 +725,26 @@ Transform:
|
|||||||
m_GameObject: {fileID: 114042775}
|
m_GameObject: {fileID: 114042775}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 10.09, y: 0.76, z: 0}
|
m_LocalPosition: {x: -11.15, y: 2.55, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 268751596}
|
- {fileID: 268751596}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &114042780
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 114042775}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 69b79b76424d246f4b6e65cea814d386, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
nextMove: 0
|
||||||
--- !u!1 &119726257
|
--- !u!1 &119726257
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -1972,7 +1973,7 @@ Transform:
|
|||||||
m_GameObject: {fileID: 268751595}
|
m_GameObject: {fileID: 268751595}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 7.59, y: 2.32, z: 0}
|
m_LocalPosition: {x: 0.12, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
@@ -2791,7 +2792,7 @@ Transform:
|
|||||||
m_GameObject: {fileID: 442352395}
|
m_GameObject: {fileID: 442352395}
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 4.408833, y: 3.880091, z: 0}
|
m_LocalPosition: {x: 13.91, y: 7.58, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_ConstrainProportionsScale: 0
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
|
|||||||
79
Assets/Scripts/Enemies/BossEnemyMove.cs
Normal file
79
Assets/Scripts/Enemies/BossEnemyMove.cs
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class BossEnemyMove : MonoBehaviour
|
||||||
|
{
|
||||||
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||||
|
Rigidbody2D _rigidbody;
|
||||||
|
public int nextMove;
|
||||||
|
private SpriteRenderer _childSpriteRenderer;
|
||||||
|
|
||||||
|
void Start()
|
||||||
|
{
|
||||||
|
// 자식 오브젝트 찾기
|
||||||
|
Transform childTransform = transform.Find("Renderer");
|
||||||
|
|
||||||
|
if (childTransform != null)
|
||||||
|
{
|
||||||
|
// 자식 오브젝트에서 스프라이트 렌더러 컴포넌트 가져오기
|
||||||
|
_childSpriteRenderer = childTransform.GetComponent<SpriteRenderer>();
|
||||||
|
|
||||||
|
if (_childSpriteRenderer != null)
|
||||||
|
{
|
||||||
|
Debug.Log("자식 스프라이트 렌더러 찾음: " + _childSpriteRenderer.name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning("자식 오브젝트에 스프라이트 렌더러 컴포넌트가 없습니다: ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogError("자식 오브젝트를 찾을 수 없습니다: ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
_rigidbody = GetComponent<Rigidbody2D>();
|
||||||
|
|
||||||
|
Invoke("Think", 5f); // 5초 후에 다시 생각 시작
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FixedUpdate()
|
||||||
|
{
|
||||||
|
// 스프라이트 방향 이동 방향에 맞도록 좌우 플립
|
||||||
|
if (nextMove == 1)
|
||||||
|
{
|
||||||
|
_childSpriteRenderer.flipX = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_childSpriteRenderer.flipX = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 이동
|
||||||
|
_rigidbody.linearVelocity = new Vector2(nextMove, _rigidbody.linearVelocityY);
|
||||||
|
|
||||||
|
// 지형 체크 (떨어짐 방지)
|
||||||
|
Vector2 frontVec = new Vector2(_rigidbody.position.x + nextMove, _rigidbody.position.y);
|
||||||
|
|
||||||
|
Debug.DrawRay(frontVec, Vector3.down, Color.green);
|
||||||
|
|
||||||
|
RaycastHit2D rayHit = Physics2D.Raycast(frontVec, Vector3.down, 5, LayerMask.GetMask("Platform"));
|
||||||
|
|
||||||
|
// 낭떠러지 체크
|
||||||
|
if(rayHit.collider == null)
|
||||||
|
{
|
||||||
|
Debug.Log("낭떠러지!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 생각 반복 재귀
|
||||||
|
void Think()
|
||||||
|
{
|
||||||
|
// random 값 범위 = -1, 0, 1
|
||||||
|
nextMove = Random.Range(-1, 2);
|
||||||
|
|
||||||
|
Invoke("Think", 5f); // 5초 후에 다시 생각 시작
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/Enemies/BossEnemyMove.cs.meta
Normal file
2
Assets/Scripts/Enemies/BossEnemyMove.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 69b79b76424d246f4b6e65cea814d386
|
||||||
Reference in New Issue
Block a user