//화면 좌표를 게임 월드 내의 실제 위치로 변환
//매개변수로 현재 마우스 위치 좌표값을 주면 화면좌표 -> 월드좌표로 전환해주는 동작을 한다.
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.position = mousePos; ;
해당 메서드는 메인카메라에 포함되어있는 기능이고 Camera.main.ScreenToWorldPoint(구하고싶은 월드좌표)이며
화면에 있는 좌표를 Unity 속 월드 좌표로 바꿔주는 기능이다.
즉, 이 코드를 통해 현재 화면 위에있는 마우스 위치를 게임내 월드좌표로 변환하여 오브젝트를 마우스에 따라디니게 할수 있다.
p.s
//ScreenToViewPoint
//2D화면 좌표를 View포트 좌표로 변환하는기능 , View 포트는 우리가 실제로 보는 화면(카메라)화면을 나타냄
//view 포트에 대한 설명 TIL로 정리할것 -> 컴퓨터 그래픽스 내용 복습 필요
추가 내용으로 ViewPort라는 것이있는데 스크린좌표(화면)을 정규화(Normalize)한 좌표계이다.
int[] arr = { 10, 20, 30, 40, 50 };
int sum = 0;
int avg = 0;
for(int i =0; i < arr.Length; i++)
{
sum += arr[i];
}
avg = sum / arr.Length;
Console.WriteLine("Sum: " + sum);
Console.WriteLine("Average:: " + avg);
4.숫자 맞추기 게임
Random rand = new Random(); //난수 생성 변수 초기화
int answer = rand.Next(1, 101); // 1 - 100 의 숫자를 랜덤으로 초기화
int num = 0;
do
{
Console.Write("Enter your guess (1 - 100) : ");
string input = Console.ReadLine();
int.TryParse(input, out num);
if (answer > num)
{
Console.WriteLine("Too low! Try again. ");
}
else if (answer < num)
{
Console.WriteLine("Too high! Try again.");
}
else
{
Console.WriteLine("Congratulations! You guessed the number.");
return;
}
} while (answer != num);
5.이중 반복문을 사용한 구구단 출력
int[] arr = { 2, 3, 4, 5, 6, 7, 8, 9 };
void print(int a , int b)
{
Console.Write(a + " x " + b + " = " + a*b);
}
void sort_string(int num)//문자열 정렬 함수
{
if (num >= 10)//곱 결과그 두자릿수면 4칸 띄움
{
Console.Write(" ");
}
else // 곱결과가 한자릿수면 5칸 띄움
{
Console.Write(" ");
}
}
//세로 출력
for (int j = 1; j < 10; j++)
{
for (int i = 0; i < arr.Length; i++)
{
print(arr[i], j);
sort_string(arr[i] * j);
}
Console.WriteLine("");
}
Console.WriteLine("");
Console.WriteLine("");
//가로 출력
for (int i = 0; i < arr.Length; i++)
{
for (int j = 1; j < 10; j++)
{
print(arr[i], j);
sort_string(arr[i] * j);
}
Console.WriteLine("");
}
6. 배열 요소의 최대값과 최소값 찾기
int[] arr = { 20, 10, 40, 100, 30 };
int min = arr[0];
int max = arr[0];
for(int i =0; i < arr.Length; i++)
{
if (arr[i] < min)
{
min = arr[i];
}
if (arr[i] > max)
{
max = arr[i];
}
}
Console.WriteLine("Min Num : " + min);
Console.WriteLine("Max Num : " + max);
해당 시스템이 동작하는 구조의 시작부터 과정을 자세하게 분석, 나열해봅시다. 1. 행성이라는 Stage에서 아이템을 파밍하는것이 목적이고 파밍한 아이템을 판매하여 목표금액을 달성하는 게임 2. 행성마다 목표금액을 달성 못하면 GameOver 3. 행성마다 위험요소(다양하고 참신한 괴물 과 함정)를 파훼하며 아이템을 파밍한다. 4. 목표금액보다 돈을 많이 벌면 그 돈으로 유리한 플레이를 할 수있는 아이템을 구매 가능 5. 이 과정을팀원(4인 협동)들과 같이 플레이를 함.
직접 분석해본 내용 중 가장 핵심이 되는 구성 요소는 무엇이라 생각하나요?
위험요소(다양하고 참신한 괴물 과 함정) 다양한 위험요소들이 많기에 플레이를 하며 각각 파훼법을 익히며 재미를 느낄 수 있고 플레이하는 유저들은 계속 긴장감을 가져 공포라는 장르를 잘 살림.
4인 협동하여 목적을 달성 협동을 하여 각종 위험요소들을 더 쉽게 피할수도 있지만, 오히려 사람이 많아져서 파훼하기 더 어려워지는 도전요소들로 인하여 더욱 재밌는 장면이 나올 수 있음.
어떤 장르에 속하지 않고 , 기획자가 제안하면 구현 할 수 있는 능력과 더 재미있게 만들 수 있을것 같으면 오히려 내가 제안을 하는 게임개발자(클라이언트 프로그래머)가 되고싶습니다.
그 외에 Untiy 트랙에 기대하는 것이 있다면 자유롭게 작성해 주세요.
협업 프로젝트 경험을 많이 쌓고 싶고 , 현업 및 실무에서 어떤 기술들을 익히면 좋은지를 배우고 싶습니다.
Unity 퀘스트 달리기 반
1.홀수 출력
bool odd_Check(int num)
{
if (num % 2 != 0)
{
return true;
}
return false;
}
//for문 사용
Console.WriteLine("for문 사용");
for (int i = 1; i <= 100; i++)
{
if (odd_Check(i))
{
Console.WriteLine(i);
}
}
Console.WriteLine("");
//while 문 사용
Console.WriteLine("while문 사용");
int num = 1;
while (num <= 100)
{
//for문 사용
if (odd_Check(num))
{
Console.WriteLine(num);
}
num++;
}
Console.WriteLine("");
//do-while 문 사용
Console.WriteLine("do -while문 사용");
num = 1;
do
{
if (odd_Check(num))
{
Console.WriteLine(num);
}
num++; ;
} while(num <= 100);
3.팩토리얼 계산
Console.Write("Enter a number : ");
string input = Console.ReadLine();
int num = 0;
int result = 1;
int.TryParse(input,out num);
if(num <= 0)
{
Console.Write("0 이하의 숫자가 감지되었습니다.");
return;
}
for (int i = 1; i <= num; i++) result *= i;
Console.WriteLine("Factorial of " + num + " is " + result);