UniRx의 간단한 샘플 4 (Skip 및 SkipWhile)

5215 단어 UniRxUnityC#
UniRx의 간단한 샘플 사용 설명서
전면(First 및 Take)
다음(Buton을 누르면 이동하는 GameObjet)

도중에 집행하지 않는 방법


이번에는 중도로 밀린 값을 삭감하는 방법이다.
어떤 활동이 발생하기 전에 스킵을 진행할 수 있다.

미리 준비하다


이번에도 스킵, 스킵 휠을 제작해 각각 스킵 샘플과 스킵 휠 샘플을 붙였다.

Skip


일단 스킵은 처음 100번을 잘라낸 뒤 실행하는 게임오브젝트를 제작한다.
SkipSample
using UnityEngine;
using System.Collections;
using UniRx;
using UniRx.Triggers;

public class Skip : Base
{

    // Use this for initialization
    void Start()
    {
        gameObject.transform.position = new Vector2(0, 1f);

        //Skipで最初の100回カット
        this.UpdateAsObservable().
            Skip(100).
            Subscribe(_ => Move(0.01f, 0));
    }

}

Skip은 지정된 횟수의 수치를 악수해야 합니다.
그럼 이 방법은 어디에 쓸 수 있을까...?

SkipWhile


다음 스킵은 스킵 휠을 클릭할 때까지.
SkipWhile
using UnityEngine;
using System.Collections;
using UniRx;
using UniRx.Triggers;

public class SkipWhile : Base {

    // Use this for initialization
    void Start()
    {
        gameObject.transform.position = new Vector2(0, 0.5f);

        //!Input.GetMouseButton(0)の間スキップ
        this.UpdateAsObservable()
            .SkipWhile(_ => !Input.GetMouseButton(0))
            .Subscribe(_ => Move(0.01f, 0));
    }
}

!Input.GetMouseButton(0)은 실제 값을 파악합니다.
그나저나 이 용도라면 스킵 언틸이 좋아요.
그런 다음 한 번 통과한 후에는 마우스를 놓아도 동작이 멈추지 않습니다.
일단 조건이 갖추어지면 끝이다.
그럼, 여기 스킵 화이트 방법은 여러 가지 용도가 있는 것 같아요.
어떤 활동이 발매되기 전에 움직이지 않아도 된다.
로고를 회수한다고!와!

실행 결과


따라서 이번에는 100프레임 클릭 전 이동할 수 없는 게임Object 이전에 이동할 수 없는 게임Oject가 완성되었습니다!

좋은 웹페이지 즐겨찾기