メインコンテンツまでスキップ

Events・Sound・Operators

このページでは、Movieのフレーム生成に関係するEvents、Sound、Operatorsの現行機能をまとめます。

Events

Opcode役割
event_initializeタイムライン書き出し開始時の初期化。既存スレッドを再起動する
event_renderframeプレビューまたは書き出し対象の各フレームを構築するカスタムhat
event_whenbroadcastreceived通常のScratchブロードキャストを受け取る
event_broadcast通常のScratchブロードキャストを送る
event_broadcastandwait通常のScratchブロードキャストを送り、完了を待つ

event_renderframeはcommand blockではありません。runtime.startHats('event_renderframe')の呼び出しは、hat本体を同期的に進める場合があり、呼び出し自体がVM yieldを作るとは限りません。

event_renderframeのscriptが保留中でも、同じフレームを再起動して時間を進めることはありません。保留中のvisual workが終わった後に既存threadを継続します。

Sound

Movie用に現在表示されるSoundブロックはsound_playattimeです。

play [sound] from [T1] to [T2] sec
speed [SPEED] volume [VOLUME] %
  • T1T2はタイムライン上の開始・終了時刻です。
  • SPEEDが正数でない場合は1に補正します。
  • VOLUMEは0〜100%へクランプします。
  • 再生中は同じブロックをフレームごとに再起動せず、同じ音源の再生状態を継続します。
  • 一時停止中のevent_renderframe再評価はスクラブ用のため無音です。ブロックを直接クリックした場合の試聴は許可されます。
  • 書き出し中はフレームごとの音声イベントとして収集し、速度、音量、パン、ピッチを反映します。

sound_playatframeは互換性専用で、現行のSoundパレット機能には含めません。

Operatorsとeasing

Operatorsには通常のScratch演算子に加えて、現行のoperator_easingがあります。

easing [TYPE] value [V0] ~ [V1] time [T0] ~ [T1]
power [POWER] speed [SPEED]

TYPEPowerInPowerOutPowerInOutCircInCircOutCircInOutExpoInExpoOutExpoInOutです。

時間が開始時刻より前ならV0、終了時刻より後ならV1、範囲内なら選択したeasingで補間します。T1 <= T0の場合は、開始時刻より前ならV0、それ以外ならV1です。

Objectsの色補間などが使う共通のanimation vocabularyには、LinearBackInBackOutBackInOutも含まれます。