메타버스/Zep

[zep] zepscript 2차시 라이프 사이클, 메시지 출력하기, 스피드 조절하기, 타이틀 바꾸기, 랜덤 바꾸기, Math, let, jav

Olivia-BlackCherry 2023. 3. 29. 23:05

목차

    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

    ZEP - zepscript

    www.awesomescreenshot.com

    ♧코드
    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();
    })