이벤트

엔진의 시간에 따라 함수를 처리하는 기능에 대한입니다.
항목 이름 뒤의 괄호에는 사용 가능한 최소 버전이 적혀 있습니다. 또한 아이템의 정의나 기능이 바뀌었을 경우 새로 생긴 어트리뷰트는 항목 밑에 따로 기재했습니다.

현재 버전(z0.76)에서의 인보커블은 직접 생성자를 이용하여 만들도록 설계되어 있어요. 만들고 보니까 별로 안전하지 않은 방식 같아서, 다음 버전에 인보커블의 생성자를 구현할 예정입니다.

용어

무언가를 포괄하거나, 이름이 너무 복잡해서 아니면 그냥 내 맘대로 부를 것들의 목록입니다.

함수 - 이벤트 기초

zia::Invoke(Z_Invokable*)(z0.76)

Z_Invokable(Z_Event, Z_Timer, Z_Switch)를 실행시킵니다.


zia::Stop(Z_Invokable*)(z0.76)

실행되던 인보커블을 멈춥니다.


zia::Attach(Z_Invokable*, Z_Invokable*)(z0.76)

앞의 인보커블이 실행된 후 자동으로 뒤의 것이 실행되도록 해요.


함수 - 이벤트 응용

zia::Route(...)(z0.76)

정해진 경로대로 물체가 움직이도록 힘을 가하는 스위치를 만듭니다.
움직일 물체와 다음의 방식 중 골라서 인수를 전달하면 됩니다.

시간과 나중 위치: 정해진 시간 동안 일정한 힘을 가해서 나중 위치에 도달하는 경로로 결정합니다.
시간과 나중 위치, 나중 속도: 정해진 시간 동안 선형적으로 변하는 힘을 가해서 나중 위치를 나중 속도로 지나가는 경로로 결정합니다.


zia::Shake(...)(z0.76)

물체를 정해진 시간 동안 흔듭니다.
흔들 물체와 지속 시간, 속도를 변화시킬 주기와 강도(기준점으로부터 거리가 강도 이내인 좌표에서만 흔들리게 함), 정렬 여부를 전달해요.
이때 물체를 정렬한다면 마지막 떨림에서 물체는 흔들기 전의 위치로 돌아오지만, 그렇지 않다면 물체는 처음의 위치에서 약간 벗어날 수 있습니다.