본문 바로가기

분류 전체보기

리눅스 :: FTP 이용하기 1. 알FTP 이용하기 FTP 주소 : 원격할 주소 사용자 아이디, 비밀번호 입력 후 접속하기 2. 윈도우 cmd창 이용하기 cmd에서 ftp에 접속하게 되면 더 이상 윈도우에서 조작을 하지 못하기 때문에 다운로드 및 업로드 등 조작을 가할 파일의 위치에 가 있어야 한다. 그 이후에는 아래의 명령어를 통해 접근한다. -ftp [원격할 주소] -사용자 이름 적기 -비밀번호 입력 ( 화면에 나오지 않으므로 정확하게 적고 엔터 누르기 ) Login successful이 나오고, 이제 cmd창의 시작 부분이 ftp> 로 변하면 접속이 된 것이다. ftp> 가 나온 후부터는 리눅스 명령어들을 사용 가능하다. 이제 윈도우의 파일을 리눅스에 보내려면 put 명령어를 이용하면 된다. 먼저 리눅스에서 파일을 다운로드할 ..
유니티2D :: 랜덤 스킬 배정받기 < Action 이용 > 각 맵별로 사용할 수 있는 스킬들을 다르게 하고 싶은 경우, int형인 스킬 넘버를 Random.Range로 받아온 뒤에 Update()에서 계속 스킬 넘버를 검사하면서 특정 함수를 호출해주는 것은 스킬이 많으면 많을수록 성능이 떨어진다고 생각했다. 이를 해결하가 위해서는 스킬들이 모여있는 스크립트를 따로 두고, 플레이어의 스크립트에 함수 포인터를 둔 뒤 Start() 에서 그 함수 포인터에 특정 스킬 함수를 넣어준 뒤에 사용하면 된다. public Action skill; switch(skillNum) { case 1: skill = Skils.instance.Skil1; break; case 2: skill = Skils.instance.Skil2; break; case 3: skill = Skils..
유니티2D :: 오브젝트 원래 있던 위치로 돌아가기 Vector3.Lerp( (Vector3)현재 위치, (Vector3)타겟 위치, 속도 ); : 타겟 위치에 가까워질수록 속도가 느려짐 MoveTowards ( (Vector3)현재 위치, (Vector3)타겟 위치, 속도 ); : 일정한 속도로 움직임. 플레이어가 오브젝트의 아래를 지나갈 경우 떨어지고, 플레이어가 오브젝트의 범위에서 벗어나면 제자리로 돌아가는 것을 구현하였다. 매우 간단할 줄 알았던 기능이었는데 은근 시간이 많이 걸렸다. Vector3값은 float이라 그런지 == 를 사용할 수 없었다. Unity라 혹시 가능할까 했는데 내가 방법을 못찾은 건지 모르겠지만 소수점 아래까지 모두 같을 순 없었다. 구글링을 한 결과 맨 위에 써 놓은 것처럼 특정 좌표로 이동시켜주는 함수를 찾을 수 있었다..
유니티2D :: 애니메이션의 전환이 느린 경우 애니메이터의 한 스테이트에서 다른 스테이트로 넘어갈 때 조금 느리게 전환되는 경우가 있다. 이는 스테이트 간을 연결하는 Transition - Settings - Transition Duratio 를 줄여 보다 빠르게 전환시킬 수 있다. Transition Duratio는 다음 스테이트로 넘어가는 시간이라고 알고 있다.
유니티2D :: 대화 이벤트 구현 연습 https://www.youtube.com/watch?v=znhOiyMDe9g 위의 블로그를 보고 구현하였습니다. 쓰인 애셋들은 모두 유니티 에셋 스토어에서 무료로 받은 에셋들입니다. 캐릭터 sprite, 캐릭터의 말들이 쓰여질 Text, Text의 바탕이 될 Window 세 가지로 이루어져 있습니다. using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] public class Dialogue { [TextArea(1,2)] public string[] sentences; public Sprite[] sprites; public Sprite[] dialogueWindow; }다이..
C# :: 가상함수, 추상함수 ( virtual, abstract ) Human - Parent Class Student - Child Class 1. 가상 함수 (virtual) protected virtual void Info() { print("사람"); } 부모 클래스인 Human 클래스의 Info를 override 할 수 있다. protected override void Info(){base.Info() // 부모 클래스의 Info() 실행print("학생");} 2. 추상 함수 (abstract) : 코드가 길어질 경우 만들어야 할 함수를 잊고 만들지 않을 수 있다. 이런 실수를 하지 않기 위해 자식 클래스에서 만들어야할 함수들을 부모 클래스에 abstract로 선언할 수 있다. 단, 함수에만 abst..
유니티2D :: 캐릭터 이동, 점프 및 애니메이션 구현 1. 이동 void Move() { Vector3 moveVelocity = Vector3.zero; // left if(Input.GetAxisRaw("Horizontal") 0) { moveVelocity = Vector3.right; sr.flipX = false; } transform.position += moveVelocity * movePower * Time.deltaTime; } 좌, 우 전환은 flipX으로 구현 2. 점프 void Jump() { if (!isJumping) return; rdb2.velocity = Vector3.zero; Vector3 jumpVelocity = new Vector3(0, jumpPower, 0); rdb2.AddForce(jumpVelocity, Fo..
C++ SFML :: TETRIS GAME https://www.youtube.com/watch?v=zH_omFPqMO4 위의 영상을 그대로 따라 만든 것 해야할 일 ) - 여기에 사용된 함수 및 변수 등 코드 분석 - GameOver 기능 추가해보기 - 2인용 테트리스 게임 만들어보기 #include #include using namespace sf; const int M = 20; const int N = 10; int field[M][N]; struct Point { int x, y; }; Point a[4]; Point b[4]; int figures[7][4] = { 1,3,5,7, // I 2,4,5,7, // Z 3,5,4,6, // S 3,5,4,7, // T 2,3,5,7, // L 3,5,7,6, // J 2,3,4,5, // ..