본문 바로가기

전체 글

(270)
Unity 오브젝트 색상, 재질 변경하기 나를 위해 기록하는 유니티 기초 오브젝트 생성 오브젝트 색상 변경 오브젝트 재질 변경 1. 공통 1. 오브젝트 생성 색상을 변경해줄 대상을 만들기 위해 큐브 오브젝트 생성 2. Materials 폴더 생성 실제 프로젝트에서는 수 많은 Material들이 존재하게 될 것이므로, 관리를 용이하게 하기 위해 폴더 생성 3. Materials 폴더 내부에 Material 파일 생성 후 이름 변경 새로운 Material 파일 생성 시 이름은 New Material이 되므로, 혼동 방지를 위해 이름 변경 2. 오브젝트 색상 변경 1. Inspector 창에서 Material 파일 색상 변경 가능 Albedo 우측 하얀 부분을 클릭하면 색상을 변경할 수 있는 창 사용 가능 2. Material 파일 오브젝트에 적용 ..
Unity 캐릭터 이동 대시 구현 나를 위해 기록하는 유니티 기초 아래는 어제 기록한 키보드로 캐릭터 움직임 구현입니다. https://chadireoroonu.tistory.com/109 Unity 키보드로 캐릭터 움직임 구현 나를 위해 기록하는 유니티 기초 1. 유니티 프로젝트 생성 후 땅이 될 3D 오브젝트 Plane 생성 2. 땅 위에서 움직여 줄 오브젝트로 3D 큐브 생성 후 땅 위쪽으로 배치 3. 큐브에 연결할 C# 스크립트 생 chadireoroonu.tistory.com 키보드의 방향키를 누르면 해당 방향으로 캐릭터가 움직이도록 해놓은 상태에서, 왼쪽 쉬프트 키를 누르고 방향키를 누를 때 빠른 이동을 구현해보겠습니다. 어제 작성했던 이동 코드에 대시(빠른 이동) 기능을 덧붙여 보겠습니다. 아래 코드는 어제 작성한 움직임 코..
Unity 키보드로 캐릭터 움직임 구현 나를 위해 기록하는 유니티 기초 1. 유니티 프로젝트 생성 후 땅이 될 3D 오브젝트 Plane 생성 2. 땅 위에서 움직여 줄 오브젝트로 3D 큐브 생성 후 땅 위쪽으로 배치 3. 큐브에 연결할 C# 스크립트 생성 4. C# 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour { float speed = 10.0f; void Update() { // 키보드 입력 float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); // 이동거리 보정 h = h * speed ..
Unity Prefab 프리팹 알아보기 나를 위해 기록하는 유니티 기초 개념 사용 예시 생성 방법 1. Prefab 개념 본 의미는 공장에서 생산 후 현장에서는 조립만 해서 건축할 수 있는 조립식 건물 의미 유니티에서의 프리팹은 게임 오브젝트의 속성을 재사용 가능한 에셋으로 설정한 것 모든 프리팹에 대하여 컴포넌트, 프로퍼티 등의 설정을 한 번에 변경 가능한 장점을 가짐 2. 사용 예시 반복적으로 사용되는 오브젝트에서 사용 1. 배경 나무, 바닥, 벽 등 배경을 이루는 유형의 오브젝트 2. NPC 게임 내에서 반복적으로 나타나는 NPC 오버라이드 사용 시 각 NPC의 움직임은 다르게 설정 가능 3. 발사체 총알, 화살 등도 필요 시마다 프리랩 인스턴스화 하여 사용 가능 4. 플레이어 각 씬별 플레이어 초기 위치 배치 등 3. 생성 방법 1. ..
Unity 프로젝트로 에셋 가져오기 새 프로젝트를 위해 학습하는 유니티 기초 에셋스토어에서 에셋을 골라 유니티 프로젝트에 추가하는 방법 에셋스토어 접속 에셋 검색 내 에셋에 추가하기 Unity에서 열기 Unity에서 에셋 import 사용 1. 에셋스토어 접속 https://assetstore.unity.com/ko?locale=ko-KR 에셋스토어 여러분의 작업에 필요한 베스트 에셋을 찾아보세요. 유니티 에셋스토어가 2D, 3D 모델, SDK, 템플릿, 툴 등 여러분의 콘텐츠 제작에 날개를 달아줄 다양한 에셋을 제공합니다. assetstore.unity.com 에셋스토어 검색 혹은 링크로 접속 유니티에서 사용할 수 있는 유,무료 에셋 제공 유니티 허브 로그인 계정과 에셋스토어 계정을 일치시킬 것 2. 에셋 검색 상단 검색바, 카테고리를 ..
백준 11659 구간 합 구하기 4 자바 풀이 난이도 : 실버3 풀이일 : 08207 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int M = sc..
웹소켓(WebSock) 개념 공부 개념 특징 동작 구현 1. 개념 실시간 양방향 통신을 위한 프로토콜 기존 HTTP 프로토콜의 단방향 통신(클라이언트의 요청, 서버의 응답 후 연결 종료)의 한계 개선 실시간 통신, 업데이트가 필요한 경우를 위해 설계된 프로토콜 클라이언트, 서버가 한 번 연결되면 이후 지속적으로 데이터 통신 가능하여 실시간 데이터 전송 및 업데이트 가능 HTML5부터 표준으로 채택 되어 거의 모든 웹 브라우저에서 지원 됨 2. 특징 실시간 통신 가능 클라이언트와 서버 간의 통신에서 실시간 데이터 전송 및 업데이트가 가능 채팅, 게임 등 실시간 요구사항을 반영해줘야하는 콘텐츠에 유용 사용자에게 실시간 알림을 보내는 경우에도 유용 연결 상태 유지 클라이언트와 서버가 한 번 연결되면, 연결 상태 유지 데이터는 웹소켓 프레임에 ..
Flutter Align 위젯으로 박스 배치하기(Alignment) 나를 위해 기록하는 Flutter 기초 Alignment로 박스를 배치하는 방법 아홉가지 먼저 나오는 단어는 화면의 세로 방향에 대한 정렬을, 뒤에 나오는 단어는 화면의 가로 방향에 대한 정렬을 나타낸다고 생각하면 쉽다. Align 위젯을 사용해 Alignment로 박스 배치하기 center centerLeft centerRight topCenter topLeft topRight bottomCenter bottomLeft bottomRight 1. center import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.ke..
Flutter BoxDecoration 종류, 사용법 나를 위해 정리하는 Flutter 기초 박스의 크기나 기초 색상 이외의 디자인을 위해서는 BoxDecoration 사용 필요 BoxDecoration color border shape boderRadius boxShadow image gradient backgroundBlendMode 1. color import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( bod..
Flutter 마진(margin), 패딩(padding)으로 여백 만들기 나를 위해 기록하는 Flutter 기초 여백을 만드는 방법 margin과 padding 개념 차이 Flutter margin Flutter padding 1. margin과 padding 개념 차이 마진과 패딩은 여백이라는 공통점이 있지만 개념상 차이점도 가짐 margin : 테두리를 기준으로 외부 여백 (파란색) padding : 테두리를 기준으로 내부 여백 (빨간색) container 등의 경계선을 테두리라고 생각하면 쉽게 구분 가능 Flutter에서는 같은 EdgeInsets를 사용 2. Flutter margin import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends State..
백준 1138 한 줄로 서기 자바 풀이 난이도 : 실버2 풀이일 07252 https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int[] array = new ..
Flutter Scaffold로 기초 앱 틀 잡기 연습 나를 위해 기록하는 Flutter 기초 유튜브 쉬운 플러터 학습 후 남기는 숙제 기록 아래 유튜브 링크는 숙제 해설이 있는 강의 링크입니다. https://www.youtube.com/watch?v=4KH4_6Gd6sE&list=PLfLgtT94nNq1izG4R2WDN517iPX4WXH3C&index=4 목표 Scaffold를 활용해서 앱의 상단바, 중앙부와 하단네비게이션 바 구성 상단바, 중앙부에 텍스트 추가 하단 네비게이션 바에 세 가지 아이콘 위젯 넣고 배치 코드 import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({sup..
백준 3273 두 수의 합 자바 풀이 난이도 : 실버3 풀이일 : 07226 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner..
Flutter 요소 정렬 종류 나를 위해 기록하는 Flutter 기초 Row로 배치한 요소들을 가로, 세로축을 기준으로 정렬하는 방법 요소 정렬 mainAxisAlignment center start end spaceAround spaceBetween spaceEvenly crossAxisAlignment center start end stretch 1. mainAxisAlignment기준축의 방향으로 정렬1. centerimport 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContex..
Flutter 가로, 세로 공간 나누기 나를 위해 정리하는 Flutter 기초Scaffold로 어플리케이션 공간 나누기가로 방향 구분세로 방향 구분1. Scaffold로 어플리케이션 공간 나누기import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(), body: Container(), bottomNavigationBar: BottomAppBar( child: Contain..
백준 1111 IQ Test 파이썬 풀이 난이도 : 골드3 풀이일 : 07204 https://www.acmicpc.net/problem/1111 1111번: IQ Test 다음 수를 출력한다. 만약 다음 수가 여러 개일 경우에는 A를 출력하고, 다음 수를 구할 수 없는 경우에는 B를 출력한다. www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 링크로 이동하시면 더 많은 예제가 있습니다. 풀이 코드 import sys # 조건 외 항 검사 def check(x, y): for i in range(N-1): if num[i] * x + y != num[i+1]: return print('B') return print(num[-1] * x + y) N = int(sys.stdin.readline().strip()) num ..
백준 1049 기타줄 자바 풀이 난이도 : 실버4 풀이일 : 07204 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 예제는 링크를 따라가시면 세 가지가 더 있습니다. 풀이 코드 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.n..
Flutter 위젯 만들기(text, image, icon, box) 나를 위해 기록하는 Flutter 기초 위젯을 만드는 방법화면 표시하기text 위젯image 위젯icon 위젯box 위젯안드로이드 스튜디오 사용1. 화면 표시하기안드로이드 스튜디오 상단에서 형광펜을 칠한 부분을 클릭 후 출력 디바이스를 선택 크롬 선택 후 Run 하면 크롬 브라우저로 확인 가능2. text 위젯 만들기import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Text..
VS Code에서 React 프로젝트 생성 안될 때 해결 방법 나를 위해 기록하는 React 리액트 프로젝트를 생성하려는 과정에서 아래와 같은 화면이 나오며 프로젝트가 생성되지 않아 해결방법을 기록합니다. npx create-react-app blog React 프로젝트 생성 안될 때 해결 방법 node.js 설치 npm install 1. Node.js 설치 https://nodejs.org/ko Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 위 사이트에서 Node.js를 다운로드 합니다. 저는 안정성을 위해 최신버전 말고 왼쪽에 있는 LTS 버전을 다운로드했어요. 에러 발생을 줄이기 위해 다운로드 한 버전을 확인하고 다시 다운로드를 진행합니다. ..
백준 2953 나는 요리사다 자바 풀이 난이도 : 브론즈3 풀이일 : 07167 https://www.acmicpc.net/problem/2953 2953번: 나는 요리사다 "나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5 www.acmicpc.net 링크로 이동하기 귀찮은 분들을 위한 문제 캡쳐 풀이 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int winner = 0; int score = 0; for (int i ..