[PlayCanvas] Buton의 입력 이벤트(수정)

3722 단어 JavaScriptPlayCanvas

개시하다


PlayCanvas에는 클릭과 클릭 등의 입력에 응답하여 이벤트에 불을 붙일 수 있는 버튼이 있습니다.
여기에 Hover, Presed, Inactive 등 항목이 있는데 각각 입력하지 않았을 때, 눌렀을 때, 비활성화되었을 때의 단추 시각적 효과를 설정할 수 있다.
4기본적인 실현 방법 생략했지만 다음과 같은 내용을 실현할 수 있다.

메시지


앞의 영상에 문제가 있는데 블랙의 버튼은 비활성 상태라고 쓰여 있지만 실행 중이다.
비활성화는 원래 동작을 원하지 않았던 부분을 말한다.
생각한 동작은 다음과 같다↓

이것을 실현하는 세 가지 방법이 있다.
1. Buton Component의 Active 항목에 따라 처리 여부를 판단합니다.
2. Element Component의 Use Input 확인란을 제거합니다.
3. this.entity.button.on 사용하다.

1. Active 항목 확인


이것은 자신의 스크립트에서 제어하는 방법이다.
4this.entity.button.active 진짜라면 활성 상태이기 때문에 처리하는 느낌을 실현할 수 있다.
var Button = pc.createScript('button');

Button.prototype.onPress = function() {
    if( this.entity.button.active ){
        /* 活性時の処理 */
    }
};

2. Use Input을 가짜로 설정


Element Component의 Use Input 항목을 가짜로 설정함으로써 이벤트 자체를 입력하는 방법을 받아들이지 않습니다.
이루어지면 주로 이거야.

3. this.entity.button.사용온


Buton Component에 활동을 등록하는 방법입니다.
이 메서드는 자동으로 Active 상태를 확인합니다.
var Button = pc.createScript('button');

Button.prototype.initialize = function() {
    this.entity.button.on(pc.EVENT_TOUCHSTART, this.onPress, this);
};

Button.prototype.onPress = function() {};

끝말


마지막 방법이 뭔데?안 썼어요.

좋은 웹페이지 즐겨찾기