UniRx의 간단한 견본 9(Timer 및 Interval 일정 시간 후 실행)
이전(Observable W.Get 다운로드)
UniRx의 간단한 샘플 사용 설명서 10 (Delay 추진 지연)
일정 시간 후 집행
이번에 소개한 것은 알기 쉽고 여러 차례 등장한 Timer와 Interval입니다.
각각 일정 시간 후, 일정 시간마다 한 번씩 미룬다.
예를 들어 애니메이션 같은 것은 그런 느낌의 물건을 만들 때 매우 편리하다.
JavaScript의 setTimeout 및 setInterval과 비슷한 동작을 수행합니다.
이번에는 각각 5초 뒤 파랗게 변하는 게임Object와 50ms 간격으로 차츰 파랗게 변하는 게임Object를 제작한다.
미리 준비하다
Timer Sample.cs의 GameObject 붙여넣기
Inteval Sample.cs의 GameObject 붙여넣기
5초 후 파란색
Timer는 n 초 후 어떤 일이 발생하고 싶은지 쉽게 파악할 수 있습니다.
이번 게임Object는 5초 후에 파랗게 변한다.
코드가 이런 느낌이에요.
TimerSample.csusing UnityEngine;
using System.Collections;
using UniRx;
using System;
public class TimerSample : MonoBehaviour {
// Use this for initialization
void Start () {
//5秒たったらプッシュ
Observable.Timer(TimeSpan.FromSeconds(5)).Subscribe(_ =>
{
//青くする
GetComponent<SpriteRenderer>().color = Color.blue;
}).AddTo(this);
}
}
나는 특별히 어려운 점이 없다고 생각한다.
Observable.Timer(TimeSpan dueTime)
구문을 사용합니다.
그다음에 파란색.
50ms마다 점차 초록색으로 변한다
Interval은 특정 시간마다 발생할 처리를 쉽게 설명할 수 있습니다.
애니메이션과 주요 처리를 분리할 수 있기 때문에 추천합니다.
이번에는 차츰 푸르러진다.
IntervalSample.csusing UnityEngine;
using System.Collections;
using UniRx;
using System;
public class IntevalSample : Base {
// Use this for initialization
void Start () {
//50ms毎に購読する
Observable.Interval(TimeSpan.FromMilliseconds(50)).Subscribe(l =>
{
//緑色に近づける
GetComponent<SpriteRenderer>().color = Color.Lerp(Color.white, Color.green, l / 200.0f);
}).AddTo(this);
}
}
아까 Timer는 인터벌로 바뀌었을 뿐이야.
Observable.Interval(TimeSpan dueTime)
일정 시간에 한 번 누르다.
밀린 값이 몇 번째로 밀려서 그걸로 해요.자, 천천히 색깔 바꿔.
실행 결과
따라서 이런 느낌으로 5초 후면 파란색과 녹색에 가깝게 변할 수 있다.
Color.Lerp
보태다
동일한 동작을 수행하는 TimerFrame 및 IntervalFrame 수도 있습니다.
Reference
이 문제에 관하여(UniRx의 간단한 견본 9(Timer 및 Interval 일정 시간 후 실행)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Marimoiro/items/a72b60315c797c19a27c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
using UnityEngine;
using System.Collections;
using UniRx;
using System;
public class TimerSample : MonoBehaviour {
// Use this for initialization
void Start () {
//5秒たったらプッシュ
Observable.Timer(TimeSpan.FromSeconds(5)).Subscribe(_ =>
{
//青くする
GetComponent<SpriteRenderer>().color = Color.blue;
}).AddTo(this);
}
}
using UnityEngine;
using System.Collections;
using UniRx;
using System;
public class IntevalSample : Base {
// Use this for initialization
void Start () {
//50ms毎に購読する
Observable.Interval(TimeSpan.FromMilliseconds(50)).Subscribe(l =>
{
//緑色に近づける
GetComponent<SpriteRenderer>().color = Color.Lerp(Color.white, Color.green, l / 200.0f);
}).AddTo(this);
}
}
Reference
이 문제에 관하여(UniRx의 간단한 견본 9(Timer 및 Interval 일정 시간 후 실행)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Marimoiro/items/a72b60315c797c19a27c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)