티스토리 뷰
Basic Coding 은 이렇게 4가지 코스가 가 있습니다.
각 코스를 진행하면서 간단히 요약!
[1] Introduction to Coding
Part (로블록스의 Object) 에 + 를 눌러서 Script 를 추가할 수 있습니다.
Roblox의 코드는 Lua라는 언어로 작성되며 스크립트에서 저장 및 실행됩니다. (Lua는 camel case 권장)
Part 에 스크립트를 넣으면 Roblox는 해당 Part가 게임에 로드될 때, 스크립트를 실행합니다.
우선 Part (위의 경우 DisappearingCloud) 를 참조하는 코드를 작성해봅시다.
script는 현재 script 를 의미하고
script.Parent 는 script 가 located in 된 object 를 의미합니다.
그럼 3초마다 Cloud 가 사라졌다, 나왔다 하는 스크립트는 이렇게 작성하면 될까요?!
우선 Part를 누르면 Properties window 에서 프로퍼티들을 볼 수 있습니다.
마우스 올리면 해당 프로퍼티의 설명도 나옵니다.
두가지 프로퍼티를 알면 됩니다!
1. CanCollide property
말 그대로 other parts (and players) 가 이 part와 충돌할 수 있는 지 결정하는 프로퍼티.
2. Transparency property
투명도를 설정하는 프로퍼티. 0에서 1 사이의 값이 될 수 있고 1 로 설정하면 완전 투명해서 invisible 합니다.
그리고 while 문을 이용해주면 됩니다.
while true loop을 쓸 때, wait를 꼭 넣으라고 경고 하고 있습니다.
wait를 넣지 않으면, 스튜디오는 loop를 leave할 기회가 없기 때문에 아무것도 하지못하고 게임이 freeze 됩니다.
최종 코드는 이렇게 되겠습니다.
[2] Deadly Lava
FakeCloud에 Script 를 추가하고 Script 이름을 KillPlayer로 해줍니다.
우선 Player가 해당 Part에 touch 했는 지를 detect 해야합니다.
모든 Part는 Touched event 를 가지고 있습니다. 원하는 함수를 이 이벤트에 연결해서 무언가가 터치되었을 때, 실행시킬 수 있습니다.
player를 죽이기 위해 function은 player와 연관된 object가 필요합니다.
Part의 Touched event 는 해당 Part와 터치가 발생한 Other Part 에 대한 정보를 제공합니다.
함수의 파라미터로 지정하여 요청하면 됩니다!
killPlayer function이 불릴 때, otherPart 파라미터는 Cloud에 touched 된 Part 를 나타내게 됩니다.
Player가 Cloud에 touch 될 때, 로블록스는 왼쪽 다리, 오른쪽 발 같이 특정한 body part 를 detect 하게 됩니다.
이런 body part는 player의 Character model 안에 있습니다.
캐릭터 모델에는 Player의 아바타를 구성하는 모든 objects가 포함되어 있습니다.
- 머리, 몸통 등 individual body parts
- Player가 착용하는 의류, 악세사리
- Player의 건강 (Health) 등 Player와 관련된 많은 속성을 포함하는 special object 인 Humanoid
- Player의 움직임을 제어하는 HumanoidRootPart
위에서 말한 것 처럼 Cloud에 터치된 것은 Character model의 일부이므로 Character에 대한 참조를 얻으려면
otherPart.Parent 로 접근해주면 됩니다.
그리고 이 character model 에서 Humanoid object 를 얻어야합니다. Player를 죽이기 위해!
이것은 FindFirstChild 이라는 function 이용해주면 됩니다. 이 함수에 찾고자하는 child의 name을 넘겨주면
first matching child 를 리턴해줍니다.
if문으로 Humanoid가 잘 찾아졌는 지 체크한 후, Health 프로퍼티를 0으로 해주면 Player가 죽게 됩니다.
너무 잔인하게 죽어서 충격,,,,ㅎㅎ
'🎨 > Roblox' 카테고리의 다른 글
[Roblox] Modeling (3) - Terrain (0) | 2021.11.21 |
---|---|
[Roblox] Modeling (2) - Texture, Decal (0) | 2021.11.21 |
[Roblox] Modeling (1) - Solid Modeling (0) | 2021.11.21 |
[Roblox] Basic Coding (2) (0) | 2021.11.17 |
[Roblox] Roblox Studio 시작하기 (0) | 2021.11.01 |
- Total
- Today
- Yesterday
- Watch App for iOS App vs Watch App
- PencilKit
- Flutter Text Gradient
- Sketch 누끼
- Dart Factory
- 플러터 얼럿
- Flutter 로딩
- SerializerMethodField
- ribs
- flutter dynamic link
- Flutter getter setter
- Django Heroku Scheduler
- METAL
- flutter deep link
- Python Type Hint
- Flutter Clipboard
- Flutter Spacer
- drf custom error
- Django Firebase Cloud Messaging
- ipad multitasking
- 구글 Geocoding API
- 장고 URL querystring
- 플러터 싱글톤
- cocoapod
- DRF APIException
- flutter build mode
- github actions
- 장고 Custom Management Command
- Django FCM
- flutter 앱 출시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |