2012-05-04 6 views
0

Я учитель и хотел бы использовать слайды Keynote в качестве карточек для написания. Я не могу писать сценарий и искать что-то, что нужно скопировать/вставить в редактор Applescript и запустить оттуда. Я встретил следующий скрипт в другом потоке, и он близок к тому, что мне нужно.Как рандомизировать слайды Keynote

tell application "Keynote" 
    tell slideshow 1 
     show slide 3 
     show slide 2 
     show slide 1 
     show slide 4 
    end tell 
end tell 

Однако есть две проблемы для моих целей: 1. Это не случайный порядок и было бы утомительным, чтобы написать несколько различных презентаций различной длины. 2. Нет контроля над временем отображения каждой карты.

Любые советы были бы весьма полезными.

ответ

0

Вот скрипт, который смешивает индексы и ожидания между каждым слайдом

set tdelay to 5 -- seconds -- the length of time each card is shown. 

tell application "Keynote" 
    activate 
    tell slideshow 1 to repeat with i in my mixIndexes(count slides) 
     show slide i 
     delay tdelay 
    end repeat 
end tell 

on mixIndexes(n) 
    set l to {1} 
    if n is 1 then return l 
    repeat with i from 2 to n 
     set end of l to i 
     set j to some item of l 
     tell item i of l to set {item i of l, item j of l} to {item j of l, it} 
    end repeat 
    return l 
end mixIndexes