본문 바로가기

전체 글413

점프대 만들기. 특정영역 진입시 원하는 높이(강도)만큼 점프 JumpZone | 트램펄린(방방이), 용수철 등에 활용 | 유니티 게임 개발 튜토리얼(Unity & C# Script) 지면이 될 Ground와 점프대가 될 JumpZone을 각각 배치하고 Tag로 지정합니다. 플레이어는 좌우 이동과 기본점프가 가능하며 JumpZone에 진입하면 정해놓은 높이(강도)로 부~아앙 튀어오르게 됩니다. 기본 점프 강도, 기본 점프 개수, 이동 스피드, 점프대 높이 조절 가능합니다. 기본 점프와 점프대는 AddForce를 이용해 힘을 부여받고, OnCollisionEnter2D를 통해 tag가 "Ground"일 경우 기본 점프 지정, tag가 "JumpZone"일 경우는 점프대가 발동됩니다. [JumpZone.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class JumpZone .. 2021. 1. 11.
다중 점프(N단 점프) 구현. Multiple Jump | 점프 횟수, 점프높이, 이동속도 조절가능 | 유니티 게임 개발 튜토리얼(Unity & C# Script) C# Script 코드 수정을 통해 원하는 만큼의 다중 점프(Multiple Jump)가 가능합니다. OnCollisionEnter2D를 통해 플레이어가 충돌하는 오브젝트 이름이 "Ground"일 경우, 다중 점프가 발동됩니다. [NJump.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class NJump : MonoBehaviour { [SerializeField] float jumpForce = 500f, speed = 5f; int jumpCount = 4; float moveX; bool isGround = false; Rigidbody2D rb; void OnCollisionEnt.. 2021. 1. 10.
더블 점프 구현. 연속 2단 점프 | 점프 강도, 스피드, AddForce | 유니티 게임 개발 튜토리얼(Unity & C# Script) 오브젝트를 좌, 우로 이동하거나 스페이스바를 연타로 2번 누르면 캐릭터가 더블점프를 합니다. 점프강도(JumpForce), 이동속도(MoveSpeed)를 수정 할 수도 있습니다. [DoubleJump.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class DoubleJump : MonoBehaviour { [SerializeField] float jumpForce = 600f, speed = 5f; float moveX; Rigidbody2D rb; bool doubleJumpState = false; bool isGround = false; void Start() { rb = GetCom.. 2021. 1. 9.
화면 클릭시 방사형으로 퍼지는 오브젝트 만들기 Radial Wave Control | 유니티 게임 개발 튜토리얼(Unity & C# Script) 화면을 클릭하면 오브젝트가 방사형으로 확산되는 걸 만들어봅니다. 오브젝트 개수와 퍼지는 속도도 조절 가능. [RadialWaveControl.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class RadialWaveControl : MonoBehaviour { [SerializeField] int numWave; [SerializeField] GameObject waveImg; [SerializeField] float radius = 5f, speed = 5f; Vector2 startSpot; void Update() { if (Input.GetButtonDown("Fire1")) { s.. 2021. 1. 8.
시간 제한 게임(타임어택), 시간 증감 점수 아이템 획득, 카운트 다운, 재시작 버튼, 게임종료 | 유니티 게임 개발 튜토리얼(Unity & C# Script) 게임이 시작되면 상단의 시간(Remain Time)이 줄어들기 시작합니다. 폭탄 캐릭터를 움직여서 시간 증가 아이템, 시간 감소 아이템을 먹을 때 마다 시간이 증감하게 됩니다. 상단의 시간이 0이 되면 화면 중앙에 "GAME OVER" 텍스트가 나오고 하단에는 재시작(Restart) 버튼이 노출됩니다. 재시작 버튼을 누르면 게임은 다시 시작됩니다. 시간 제한 게임(타임어택)등에 응용해서 제작하면 유용할 듯 합니다. collision.gameObject.SetActive(true / false); 로 화면 노출 조절 SceneManager.LoadScene("Scene Name"); 재시작 버튼 클릭시 해당 씬 로드. [BombMove.cs] using System.Collections; using Sys.. 2021. 1. 7.
일시정지 버튼 구현 | Pause Code / UI - Button & Text / 반전이동 Flip Move | 유니티 게임 개발 튜토리얼(Unity & C# Script) 고스트가 좌우로 반전 이동(Flip Moving)하는 걸 버튼으로 일시정지 / 재시작 제어하는 방법. Pause버튼을 클릭하면 이동하는 고스트가 멈추고 버튼의 텍스트는 Start로 변경됩니다. Start를 누르면 다시 고스트가 이동. [PauseControl.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PauseControl : MonoBehaviour { [SerializeField] Text startPauseText; bool pauseActive = false; public void pauseBtn() { if (pauseActive.. 2021. 1. 6.
UI Text를 통한 점수 누적 저장 시스템 구현. 아이템 획득시 점수 증가 & 감소 표시 Score Update | 유니티 게임 개발 튜토리얼(Unity & C# Script) 몬스터 캐릭터가 각각의 점수(+10점, +50점, -30점)의 코인을 먹을 때마다 화면 상단의 UI - Text를 이용하여 스코어보드 점수 증가 & 감소하여 저장하는 방법. [MonsterMove.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class MonsterMove : MonoBehaviour { Rigidbody2D rb; float moveX, moveY; [SerializeField] float speed = 7f; // Start is called before the first frame update void Start() { rb = GetComponent(); } // U.. 2021. 1. 5.
특정 영역 진입(충돌 감지)시 떨어지는 함정(트랩) 만들기 | Kinematic / name.Equals | 유니티 게임 개발 튜토리얼(Unity & C# Script) 해골캐릭터가 이동시 미리 정해놓은 영역 안으로 진입시 위에 있던 호박이 떨어져서 해골 머리로 떨어지는 함정(Trap) 만들기를 만들어 봅시다. Rigidbody 2D의 Kinematic / gameObject.name.Equals() / OnTriggerEnter2D / OnCollisionEnter2D 등을 이용했습니다. #함정만들기 #Kinematic #충돌감지 [SkeletonMove.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; public class SkeletonMove : MonoBehaviour { float moveX; [SerializeField] float speed = 5f; voi.. 2021. 1. 4.
시간 종료시 텍스트 노출. 게임종료(Game Over), 타임어택(Time Over)등에 활용 | 유니티 게임 개발 튜토리얼(Unity & C# Script) 정해진 시간(타임바 TimeBar)이 점점 줄어들다가 시간이 종료되면 "GAME OVER" 텍스트가 나타나도록 합니다. 타임어택등의 게임에 활용하면 될 듯하네요. | Image Type(Filled), Fill Method(Horizontal) #시간종료시텍스트노출 #타임어택 #GameOver [GameOver.cs] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameOver : MonoBehaviour { [SerializeField] GameObject gameOverText; [SerializeField] float maxTime = 5f;.. 2021. 1. 3.