return group;
}
+ void ThunderBirdDialogueView::StopAllAnimations()
+ {
+ if (speakAnimator) {
+ speakAnimator->Stop();
+ speakAnimator->SetVisible(false);
+ }
+ if (listenAnimator) {
+ listenAnimator->Stop();
+ listenAnimator->SetVisible(false);
+ }
+ }
+
void ThunderBirdDialogueView::Show(int16_t showView)
{
if (group == nullptr) { return; }
if (RemindLabel) { RemindLabel->SetVisible(false);}
if (RemindIcon) { RemindIcon->SetVisible(false); }
if (RemindIcon2) { RemindIcon2->SetVisible(false); }
- if (listenAnimator) { listenAnimator->SetVisible(false);listenAnimator->Start(); }
+ if (listenAnimator) { listenAnimator->SetVisible(false); listenAnimator->Stop(); }
switch (showView)
{
{
return;
}
+ // 切换界面时,停止所有正在运行的序列帧动画
+ // 注意:由于Show函数在开始时都会停止动画,这里只处理public的animator
+ // private的animator会在Show函数中被停止
+ switch (hideView)
+ {
+ case THUNDERBIRD_GUIDEVIEW:
+ if (g_pThunderBirdGuideView && g_pThunderBirdGuideView->bandAnimator) {
+ g_pThunderBirdGuideView->bandAnimator->Stop();
+ g_pThunderBirdGuideView->bandAnimator->SetVisible(false);
+ }
+ break;
+ case THUNDERBIRD_DIALOGUEVIEW:
+ // speakAnimator和listenAnimator是private的,通过StopAllAnimations()停止
+ if (g_pThunderBirdDialogueView) {
+ g_pThunderBirdDialogueView->StopAllAnimations();
+ }
+ break;
+ case THUNDERBIRD_ADJUSTVIEW:
+ // netAnimator是private的,通过StopAllAnimations()停止
+ if (g_pThunderBirdAdjustView) {
+ g_pThunderBirdAdjustView->StopAllAnimations();
+ }
+ break;
+ case THUNDERBIRD_BLUEVIEW:
+ // searchAnimator是private的,通过StopAllAnimations()停止
+ if (g_pThunderBirdBlueView) {
+ g_pThunderBirdBlueView->StopAllAnimations();
+ }
+ break;
+ case THUNDERBIRD_LULLABYVIEW:
+ if (g_pThunderBirdLullabyView && g_pThunderBirdLullabyView->listenAnimator) {
+ g_pThunderBirdLullabyView->listenAnimator->Stop();
+ g_pThunderBirdLullabyView->listenAnimator->SetVisible(false);
+ }
+ break;
+ default:
+ break;
+ }
group[hideView]->SetVisible(false);
}
// 同用遮罩,部分界面在内部自行开启,其余界面关闭