2014-11-07 2 views
0

Я создаю 2 изображения для слайд-шоу, но у меня есть проблема. Моя проблема в том, что первое изображение исчезает во втором изображении. Задержка стека. Когда изображение заканчивается, стек возвращается в нормальное состояние.Изображение слайд-шоу на Livecode

Код.

command aniFadehide curF 
    Switch noFa 
     case 1 
     lock screen for visual effect in rect (the rect of img 1 of grp curF) 
     show img 2 of grp curF 
     hide img 1 of grp curF 
     unlock screen with visual effect dissolve very fast 
     add 1 to noFa 
     break 
     case 2 
     lock screen for visual effect in rect (the rect of img 1 of grp curF) 
     show img 1 of grp curF 
     hide img 2 of grp curF 
     unlock screen with visual effect dissolve very fast 
     put 1 to noFa 
     break 
    end Switch 
    send "aniFadehide curF" to me in 3 secs 
end aniFadehide 
+0

Является ли noFa глобальной переменной? – Mark

+0

Да, я устанавливаю noFa глобальную переменную. – KemChat

ответ

0

Есть несколько вещей, которые я делаю перед использованием визуальных эффектов. Во-первых, я всегда загружаю QT, получая QTVersion. Это может больше не применяться к LiveCode 7, если вы не установите для dontUseQT значение false.

Во-вторых, я выполняю визуальный эффект невидимым, чтобы убедиться, что у меня есть «замораживание» позади меня, прежде чем мне действительно понадобятся визуальные эффекты. Например.

on openStack 
    lock screen for visual effect 
    // nothing here, but you can but something if you want 
    unlock screen with visual effect dissolve very fast 
    pass openStack 
end openStack 

Этот обработчик выполнить визуальный эффект, а потому, что вы не ходите на другую карту и не показать или скрыть элементы управления, использование только думает, что он/она ждет программное обеспечение для запуска ,

Далее у вас, кажется, небольшая ошибка в вашем скрипте, так как put 1 to noFa должен быть put 1 into noFa.

Возможно, также возникла проблема с вашими глобальными или локальными переменными. Итак, я создал рабочий сценарий и разместил его здесь. Этот скрипт запускается кнопкой.

global noFa 

local lCounter 


on mouseUp 
    put the pendingMessages into myMsgs 
    filter myMsgs with "*aniFadehide*" 
    repeat for each line myLine in myMsgs 
      cancel item 1 of myLine 
    end repeat 
    put 1 into noFa 
    put 0 into Counter 
    aniFadehide 1 
end mouseUp 

command aniFadehide curF 
    add 1 to lCounter 
    Switch noFa 
      case 1 
       lock screen for visual effect in rect (the rect of img 1 of grp curF) 
       show img 2 of grp curF 
       hide img 1 of grp curF 
       unlock screen with visual effect dissolve very fast 
       add 1 to noFa 
       break 
      case 2 
       lock screen for visual effect in rect (the rect of img 1 of grp curF) 
       show img 1 of grp curF 
       hide img 2 of grp curF 
       unlock screen with visual effect dissolve very fast 
       put 1 into noFa 
       break 
    end Switch 
    if lCounter < 10 then 
      send "aniFadehide curF" to me in 3 secs 
    end if 
end aniFadehide 
Смежные вопросы