글 목록 1037

C# - 연산자

C#의 연산자 굳이 외울필요없이 프로그래밍 하다보면 저절로 외워지는 연산자들 임돠... 연산자 분류 연산자 예 설명 단항연산자 + +a 양의부호 - -a 음의부호 !!a 불리언형을 반대로 ~ ~a 비트 값의 보수 ++ ++a 변수 값에 1을 더하기 -- --a 변수값에 1을 빼기 수식연산자+a = b + c a 에 b와 c를 더하여 넣는다.-a = b - c a 에 b와 c를 빼서 넣는다.*a = b * c a 에 b와 c를 곱해서 넣는다./a = b / c a 에 b와 c를 나누어 넣는다.%a = b % c a 에 b와 c를 나눈뒤 나머지를 넣는다.할당연산자=a=b a에 b를 대입한다.+= a+=b a에 a와 b를 더한후 대입한다-= a-=b a에 a와 b를 뺀후 대입한다.*= a*=b a에 a와 b를..

C# - 변수의 이해

변수에 대한 이해 컴퓨터에 저장공간이 있다는건 모두 아시죠? 저장공간은 크게 메모리와 하드디스크 두가지로 나눌 수 있습니다. 하드디스크는 용량이 크고 CPU에 전달하는 속도가 느립니다. 메모리는 용량이 적고 CPU에 전달하는 속도가 빠르죠 따라서 하드에서 직접 CPU로 자료를 옮겨서 처리하려면 상당한 시간이 걸리기 때문에 하드의 데이터들을 메모리에 미리 옮겨놓고 CPU로 빠르게 전달하는 것이죠 변수는 제한된 메모리공간을 최대한 효율적으로 활용하여 CPU에게 값을 전달하는 목적으로 사용됩니다. 예를들어 컴퓨터는 [1+2 = ?]와 같은 계산을 어떻게 처리할가요? 1. 컴퓨터에 1의 값을 입력할 수 있는 변수 공간을 제작(할당)한다. 2. 컴퓨터에 2의 값을 입력할 수 있는 변수 공간을 제작(할당)한다. 3..

C# - 첫 프로그램 실행과 기초문법

첫 프로그램 실행해보기. Visual Studio 2019를 실행시키고 새 프로젝트 만들기를 선택합니다. 프로젝트 이름, 위치를 마음대로 입력하시고. 만들기 클릭 아래의 그림처럼 코드를 입력하고 Ctrl + f5를 누르면 만든 프로그램이 실행되면서 창이 뜬다. 첫 프로그램을 성공적으로 만든것을 축하합니다. Program.CS using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine..

Unity - Editor 개념 및 사용

※ 참조 Sebastian Lague 나르메님 블로그 에디터1 나르메님 블로그 에디터2 유니티 EditorGUILayout 레퍼런스 (데이터 타입 모음) 유니티 GUILayout 레퍼런스 (게임 실행시의 GUI 모음) Editor란 무었일가? - Inspector 변경값을 실시간으로 반영하고 싶을 때 사용. - 아래의 그림과 같은 Inspector에 팝업형태의 버튼을 넣고 싶을때 사용 Editor의 사용 반드시 Editor라는 폴더에 스크립트가 존재해야 동작한다. MapEditor.cs using UnityEditor; [CustomEditor (typeof(MapGenerator)), CanEditMultipleObjects] public class MapEditor : Editor{ public ov..

Unity - 근접했을때도 발사체 동작하게 하기

근접했을때도 발사체 동작하게 하기 출처 : Sebastian Lague Projectile.cs using UnityEngine; using System.Collections; public class Projectile : MonoBehaviour { public LayerMask collisionMask; float speed = 10; float damage = 1; float lifetime = 3; float skinWidth = 0.1f; void Start() { Destroy(gameObject, lifetime); Collider[] initialCollisions = Physics.OverlapSphere (transform.position, 0.1f, collisionMask); // ..

Unity - 적 공격으로 Player에게 데미지 입히기

적 공격으로 Player 데미지 입히기 출처 : Sebastian Lague IDeamageable.cs using UnityEngine; public interface IDamageable { void TakeHit(float damage, RaycastHit hit); void TakeDamage(float damage); } LivingEntity.cs using UnityEngine; using System.Collections; public class LivingEntity : MonoBehaviour, IDamageable { public float startingHealth; protected float health; protected bool dead; public event System...

Unity - 스폰 시스템 만들기

스폰시스템 만들기 출처 : Sebastian Lague LivingEntity에서 아래의 코드를 잘 삽입~ public event System.Action OnDeath; if (OnDeath != null) { OnDeath(); //죽을때마다. 이벤트가 들어감 } Spawner.cs using UnityEngine; using System.Collections; public class Spawner : MonoBehaviour { public Wave[] waves; public Enemy enemy; int enemiesRemainingToSpawn; int enemiesRemainingAlive; float nextSpawnTime; Wave currentWave; int currentWaveNu..

Unity - 데미지 시스템

데미지 시스템 출처 : Sebastian Lague 상속과 오버라이드 virtual, override base.start(); 변수의 접근제한 protected interface IDamageable.cs using UnityEngine; public interface IDamageable { void TakeHit(float damage, RaycastHit hit); } LivingEntity.cs using UnityEngine; using System.Collections; public class LivingEntity : MonoBehaviour, IDamageable { public float startingHealth; protected float health; protected bool d..