목차
1. 라이프 사이클
앱이 실행되어 종료될 때까지를 하나의 생애 주기(Lifecycle)라고 합니다.
Lifecycle 함수는 앱의 생애 주기를 관리해주는 함수입니다.
1-1 앱이 실행될 때 : Enter 단계의 함수가 동작
// App이 최초로 시작될 때
App.onInit.Add(function(){
// 이 시점에 App에는 플레이어들이 참가하지 않은 상태
// App의 나머지 필요한 부분을 초기화시킨다.
});
// 플레이어가 들어올 때
App.onJoinPlayer.Add(function(player){
// 해당하는 모든 플레이어가 이 이벤트를 통해 App에 입장
});
// 플레이어가 모두 입장한 뒤에 한번 호출
App.onStart.Add(function(){
// App에서 원하는 플레이어 속성값을 부여할 수 있다.
});
1-2 앱이 실행 중 일 때 : Update 단계의 함수가 주기적으로 동작
// 매 20ms(0.02초) 마다 실행
App.onUpdate.Add(function(){
})
1-3앱이 종료될 때 : Exit 단계의 함수가 동작
// 플레이어가 떠날 때
App.onLeavePlayer.Add(function(player){
// 플레이어가 단순히 중간에 나갔을 때
// App이 종료될 때에서 이 이벤트를 통해 모두 App에서 퇴장합니다.
})
// App이 종료될 때
App.onDestroy.Add(function(){
// 이미 모든 플레이어가 App에서 나간 상태
// App을 나머지를 정리한다.
})
2. 메시지 출력하기
♣결과
♧코드
App.onJoinPlayer.Add(function(player){
App.showCenterLabel("Hello world");
})
3. 스피드 조절하기
♣결과
https://www.awesomescreenshot.com/video/16042829?key=548775d94005ab5186a5fdca3021fe80
♧코드
listen: 플레이어가 진입할 때
action: 플레이어의 스피드를 300으로 바꾼다.
App.onJoinPlayer.Add(function(player){
player.moveSpeed = 300
player.sendUpdated();
})
4. 캐릭터 타이틀 바꾸기
♣결과
♧코드
listen: 플레이어가 진입할 때
action: 플레이어의 타이틀을 랜덤하게 바꿔준다.
App.onJoinPlayer.Add(function(player){
player.title = "투자자"
player.sendUpdated();
})
5. 캐릭터 타이틀 랜덤하게 바꾸기, let, Math
let
- let 명령문은 지역 변수를 선언하며, 선언과 동시에 임의의 값으로 초기화할 수 있다.
let을 사용하면 블록 명령문이나, 표현식 내로 범위가 제한되는 변수를 선언한다.
이것은 var 키워드와 다른 점이다.
- 변수 선언 후에 ; 를 붙인다.
Math 함수
-Math는 자바스크립트의 내장 함수이다. Math는 수학적 요소와 관련된 속성과 메서드를 가지고 있다.
- 정적 속성 ex) Math.Pie = 3.14, Math.E = 2.718
- 정적 메서드 ex) Math.abs() 절대값 함수, Math.exp 지수 함수, Math.log() 로그 함수,
Math.random() 0~1 사이의 랜덤한 숫자,
Math.floor() 그 수가 갖은 가장 크거나 같은 정수
♣결과
♧코드
App.onJoinPlayer.Add(function(player){
let names = ["벤저민 그레이엄", "워렌버핏", "피터린치", "필립피셔", "애스워드 다모다란", "하워드 막스"];
let random_number = Math.floor(Math.random() *names.length);
player.title = names[random_number];
player.sendUpdated();
})
'메타버스 > Zep' 카테고리의 다른 글
[zep] zepscript 4차시 맵 조작하기, 오브젝트 배치, 움직이기 (0) | 2023.03.30 |
---|---|
[zep] zepscript 3차시 스프라이트 시트, 플레이어 이미지 변경, 채팅 메시지 (2) | 2023.03.30 |
[zep] zepscript 1차시 앱 배포하기 (0) | 2023.03.29 |
zep 유튜브, 이미지, 웹 고정할 때 크기와 위치 (0) | 2023.03.22 |
zep 단축키(타일, 벽, 바닥 설치 및 제거, 오브젝트 위치 조정, 삭제) (0) | 2023.03.22 |