//オート再生ボタン void AutoScrollButtons() { const int MAXWIDTH = 72; EditorGUILayout.BeginVertical(GUI.skin.box); if (GUILayout.Button("停止", GUILayout.Height(16), GUILayout.MaxWidth(MAXWIDTH))) { autoScroll_ = enAutoScroll.Stop; } if (GUILayout.Button("再生", GUILayout.Height(16), GUILayout.MaxWidth(MAXWIDTH))) { autoScroll_ = enAutoScroll.Play; PlayStartSetup(); } if (GUILayout.Button("ループ再生", GUILayout.Height(16), GUILayout.MaxWidth(MAXWIDTH))) { autoScroll_ = enAutoScroll.LoopPlay; PlayStartSetup(); } //再生速度 scrollSpeed_ = GUILayout.HorizontalSlider(scrollSpeed_, 0.1f, 1.0f, GUILayout.MaxWidth(MAXWIDTH)); isMovePos_ = GUILayout.Toggle(isMovePos_, "位置移動反映"); EditorGUILayout.EndVertical(); }
void AutoScrolling() { if ((autoScroll_ == enAutoScroll.Play) || (autoScroll_ == enAutoScroll.LoopPlay)) { int frameCount = (int)((EditorApplication.timeSinceStartup - playStartTime_) * ARIMotionMainWindow.FPS * scrollSpeed_); if (frameCount >= lastFrame_) { if (autoScroll_ == enAutoScroll.Play) { autoScroll_ = enAutoScroll.Stop; //停止 } else if (autoScroll_ == enAutoScroll.LoopPlay) { frameCount = 0; playStartTime_ = EditorApplication.timeSinceStartup; //振り出し } } selectedPos_ = frameCount * WindowSettings.TACK_FRAME_WIDTH; selectedFrame_ = frameCount; parent_.RepaintAllWindow(); } }