분류 전체보기 254

메이플월드 넉백식 맵 제작(2)

떨어지는 장애물 0.5초마다 x좌표 28~55사이에 장애물 모델을 생성한다. 떨어지는 장애물에도 새로운 컴포넌트를 추가해주고 생성되고 3초 동안 기다리고 3초 뒤에 canhit 변수를 true로 바꿔줘서 닿았을 때 튕겨나도록 한다. 그리고 0.8초 뒤에 자신을 삭제한다. 가속포탈 새로운 컴포넌트를 추가해준다. 캐릭터와 닿았을 때 캐릭터의 속도와 점프 크기를 높여준다.

MSW메이플월드 2022.12.26

메이플월드 넉백식 맵 제작(1)

이동하는 발판의 경우 CustomFootholdComponent에서 FootholdForce의 값을 1로 설정한다. 반대의 경우 -1로 설정하면 된다 해당 돌아가는 넉벡 장애물의 경우 가운데 풍차모양을 중심으로 자쿰 팔들을 배치한다. 가운데 풍차에 새로운 컴포넌트를 추가해주고 다음과 같이 코드를 짜준다 Onupdate로 매 틱마다 WorldZRotation의 값을 변경해준다. 자쿰팔의 컴포넌트는 다음과 같다. 플레이어 에 닿았을 때 X축으로 -5, Y축으로 5만큼 힘을 주어 튕겨나가도록 한다. 체크포인트 게임이 시작하거나 떨어졌을 때 캐릭터가 스폰되는 SpawnLocation이다. 여기에 새로운 컴포넌트를 추가해준다. 각 플레이어마다 중간지점이 다르므로 client only로 OnUpdate를 처리한다...

MSW메이플월드 2022.12.26

메이플월드 템플런식 맵 제작 - 보스이동 및 캐릭터 이동

캐릭터 층 이동 해당 컴포넌트를 DefaultPlayer안에 넣어준다. 조건들을 처리해서 위/아래로 이동 가능한 위치일 경우 위 키를 누르면 위 층으로 teleport시켜 이동 아래 키를 누르면 아래 층으로 teleport시켜 이동 시켜준다. _TeleportService:ReserveTeleportToMapPosition(1,2,3) 함수의 인자는 1:teleport시킬 객체 2:텔레포트 시킬 위치 3:텔레포트 맵의 이름 위 함수로 텔레포트 예약을 했다면 _TeleportService:TeleportReservedEntities() 를 통해 예약된 텔레포트를 실행한다. 보스의 이동 및 트리거 처리 보스에 해당 컴포넌트를 추가해 오른쪽으로 이동하게 한다. 그리고 해당 아우라를 추가하여 이 아우라에 닿을 ..

MSW메이플월드 2022.12.26

메이플월드 템플런식 맵 제작 2. 보스몬스터 패턴 소환(2)

2.Wind wind의 컴포넌트는 다음과 같다. Onupdate에서 틱마다 오른쪽으로 이동한다. 그리고 TriggerEnter 이벤트를 통해 플레이어가 회오리에 닿았을 시 뒤로 10만큼 밀려나도록 SetForce로 처리해주었다. 3.BlackWind BlackWind에는 2가지 컴포넌트를 추가하였다. https://mun-coding.tistory.com/144 메이플월드 템플런식 맵 제작 2. 보스몬스터 패턴 소환(1) 먼저 현재 맵에 새로운 컴포넌트를 추가해준다. 그리고 프로퍼티를 다음과 같이 추가한다. magnus는 보스 캐릭터를 받아온다 smashPos는 날아오는 검기의 위치를 가져온다. windpos는 날아오는 회오리 mun-coding.tistory.com 먼저 BlackWind는 위에 소환하..

MSW메이플월드 2022.12.26

메이플월드 템플런식 맵 제작 2. 보스몬스터 패턴 소환(1)

먼저 현재 맵에 새로운 컴포넌트를 추가해준다. 그리고 프로퍼티를 다음과 같이 추가한다. magnus는 보스 캐릭터를 받아온다 smashPos는 날아오는 검기의 위치를 가져온다. windpos는 날아오는 회오리의 위치를 가져온다. beginplay함수에서 맵이 시작될 때 math.randomseed(os.time())으로 랜덤성을 한번 초기화 해주고 아래 날아오는 공격들의 위치를 초기화 해준다. smashpos[1]은 1층으로 검기가 날아올 때 y위치를 초기화 해준것이다. windPos는 y축으로 2층을 잡아먹기 때문에 1층과 2층 위치만을 초기화해주었다. onupdate함수는 다음과 같다. 매그너스의 패턴이 발동 될 시 해당 폼이 true이면 _SpawnService:SpawnByModelId 를 통해 ..

MSW메이플월드 2022.12.26

메이플월드 템플런식 맵 제작 1. 보스몬스터 애니메이션

먼저 보스몬스터에 들어갈 컴포넌트 프로퍼티들이다. timecount : time(시간)이 timecount만큼 지났을 때 폼을 바꿔준다. OnUpdate함수는 다음과 같으며 1~4까지 숫자를 랜덤으로 돌려 나온 숫자에 맞춰 폼을 바꿔주어 애니메이션을 실행한다. 각 함수들을 다음과 같이 설정하면 5초마다 애니메이션 클립을 실행하고 각 폼의 시간이 지날 때 마다 원래 폼으로 돌아온다.

MSW메이플월드 2022.11.17

메이플월드 - 미니게임 랜덤 배치

맵 이동의 순서도는 다음과 같다. 먼저 MatchLogic이다 이는 게임 전체에 적용되는 코드이다. MatchLogic은 기본 라이브러리에서 가져왔고 이 함수를 펼친뒤 이 부분에 인자로 이동하고 싶은 첫 번째 인스턴스맵의 이름을 넣으면 된다. 이렇게 되면 게임 시작 후 플레이 버튼을 눌렀을 때 waitingMap으로 이동하게 될 것이다. waitingMapRandom 이 컴포넌트는 waitingMap에 들어가며 다음에 있을 미니게임들에 랜덤성을 부여한다. count : 앞으로 있을 미니게임맵의 인덱스 check : 랜덤에서 나온 숫자를 확인하기 위한 변수 이미 나온 숫자면 true 안나온 숫자면 false mapname : 맵 이름이 담겨있는 배열 먼저 게임이 시작되면 모든 check를 false로 해주..

MSW메이플월드 2022.11.17

백준 1967 c++ 트리의 지름

https://www.acmicpc.net/problem/1967 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 문제 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다. 이런 두 노드 사이의 경로의 길이를 트리의 지름이..

백준 1167 c++ 트리의 지름

https://www.acmicpc.net/problem/1167 1167번: 트리의 지름 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 www.acmicpc.net 문제 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지..

백준 1107 c++ 리모컨

https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이..