Я следовал учебному пособию, написанному для Actionscript 2, и успешно преобразовал его в AS 3, однако со второй до последней части я застрял.
Учебное пособие (http://www.cleverpig.com/tutorials/whackapig/whack.htm шаг 8) содержит следующий фрагмент кода:
if (_currentframe==1) {
// randomly choose whether or not to play
if (random(100)>97) {
// should we tease or popup?
if (random(3)<1) {
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
оно предназначено для добавления некоторой случайности к движению персонажа.После некоторого поиска в Google я создал этот код в AS 3, надеясь, что он будет работать.
if (currentFrame==1) {
// randomly choose whether or not to play
if(Math.floor(Math.random()*99)-97) {
// should we tease or popup?
if (Math.floor(Math.random() *3)-1)
) {
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
Когда я запускаю программу с этим кодом, вся анимация персонажа воспроизводится один раз (вниз, наполовину вверх, вверх, удар).Предполагается воспроизвести только первые 3 кадра и повторить это.
РЕДАКТИРОВАТЬ:
function random (n:int ) : int {
return Math.floor (Math.random() * n);
}
if (currentFrame==1) {
// randomly choose whether or not to play
if(random(100)): 97 {
// should we tease or popup?
if (random(3)): 1
{
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
Символ «дыра», Слой «Actionscript», Кадр 1, Строка 10 1084: Синтаксисошибка: ожидание идентификатора перед двоеточием.Символ «дыра», слой «Actionscript», кадр 1, строка 10 1008: атрибут недействителен.Символ «дыра», слой «Actionscript», кадр 1, строка 12 1084: синтаксическая ошибка: ожидание идентификатора перед двоеточием.Символ «дыра», слой «Actionscript», кадр 1, строка 13 1008: атрибут недействителен.Символ «дыра», Слой «Actionscript», Кадр 1, Строка 15 1083: Синтаксическая ошибка: иначе неожиданно.