Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su

4.5. Как делать контекстное (динамическое) меню?

В: Как делать контекстное (динамическое) меню?

О:

Контекстное меню делать не сложнее, чем обыкновенное. Единственная сложность в том, чтобы добавлять в меню новые пункты, не отслеживая номеров.

Любое меню записывается в массив, начиная с нулевой ячейки, и обычно мы это делаем так:

$меню_отвёртка[0]="Осмотреть:info_screw"
$меню_отвёртка[1]="Использовать:use_screw"
$меню_отвёртка[2]="Выбросить:put_screw"

Тем самым мы указываем плееру конкретные ячейки, в которые нужно прописать пункты меню. Однако мы можем писать и так:

$меню_отвёртка[]="Осмотреть:info_screw"
$меню_отвёртка[]="Использовать:use_screw"
$меню_отвёртка[]="Выбросить:put_screw"

Запись `$меню_отвёртка[]=` означает, что когда мы используем операцию присвоения, плеер создаст новую ячейку в массиве `$меню_отвёртка` с номером на 1 больше номера самой последней ячейки, и уже ей присвоит значение. Эта запись аналогична такой:

$меню_отвёртка[arrsize('$меню_предмет')]="Осмотреть:info_screw"
$меню_отвёртка[arrsize('$меню_предмет')]="Использовать:use_screw"
$меню_отвёртка[arrsize('$меню_предмет')]="Выбросить:put_screw"

Таким образом мы можем добавлять в массив меню новые пункты, не опасаясь, что одни пункты затрут другие.