Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Помогите с ошибкой 1084 (http://www.flasher.ru/forum/showthread.php?t=181616)

nevazno 27.06.2012 20:12

Помогите с ошибкой 1084
 
Вложений: 1
Читаю книгу Колина Мука AS3, сделал всё как написано в книге, но выбрасывает две ошыбки:
D:\VirtualZoo\src\zoo\VirtualPet.as, строка 19 1084: Синтаксическая ошибка: identifier перед 1000.
D:\VirtualZoo\src\zoo\VirtualPet.as, строка 20 1084: Синтаксическая ошибка: rightparen перед rightbrace.
Гугли ничем не помог, помогите вы мне пожалуйста
Программа стоит Flash Professional CS6 - trial
Вот код в котором показывает ошибки:
Код AS3:

package zoo {
 
        import flash.utils.setInterval;
        import flash.utils.clearInterval;
 
        internal class VirtualPet {
                private static var maxNameLenght = 20; //статистичиские даные по имени
                private static var maxCalories = 2000; //статистичиские даные по голодности жывотного
                private static var caloriesPerSecond = 100;
 
                private var petName;
                private var currentCaories = VirtualPet.maxCalories/2;
                private var digestIntervalId;
 
 
 
                public function VirtualPet (name) { // добавление описывающий метод-конструктор класа с параметром
                        setName(name);
                        digestIntervalId = setInterval( digest. 1000 ) ;
                }
                public function eat(foodItem) { // описание метода экземпляра eat()
                        if (currentCalories == 0) {
                                trace (getName() + "is Ded! You ken not feed it.");
                                return;
                        }
                        if (foodItem is Apple) {
                                if (foodItem.hasWorm()) {
                                        trace ("The" + foodItem.getName() + "had a worm" + getName() + "didnt eat it");
                                        return;
                                }
                        }
                        var newCurrentCalories = currentCalories + foodItem.getCalories(); // при каждом вызове метода eat() экземпляра VirtualPet значением переменной currentCalories даного экземпляра будет увеличиваца на ....
                        if (newCurrentCalories> VirtualPet.maxCalories) { //если новое количество калорий для даного жывотного больше максимального допустимого значения (2000)...
                          currentCalories = VirtualPet.maxCalories //присвоить переменной currentCalories максимально допустимое значение (2000)
                        }
                        else { //в противнос случае
                          currentCalories = newCurrentCalories; // увеличить значение переменной currentCalories на указаное количество калорий
                        }
                        trace(getName() + "ate some" + foodItem.getName() + "." + "It now has" + currentCalories + "calories remaining.");
                }
 
                public function getHunger () { //метод
                        return currentCalories / VirtualPet.maxCalories; // который возвращает оставшееся количество калорий в процентах
                }
 
                public function setName (newName) {
                if (newName.length > maxNameLenght) { // если длина заданого нового имени больше maxNameLenght символов...
                  newName = newName.substr(0 . VirtualPet.maxNameLenght); //обрезать имя
                }
                else if (newName == "") { // в противном случае. если новое имя является пустой строкой. завершить выполнение метода. не изменяя значений переменной petName
                  return;
                }
                  petName = newName; // присвоить новое провереное имя переменной petName
                }
 
                public function getName () {
                        return petName;
                }
                private function digest( ) {
                if (currentCalories - VitualPet.caloriesPerSecond <= 0) {
                clearInterval( digestIntervalId );
                currentCalories = 0;
                trace ( getName( ) + "has died" ) ;
                }
                        else {
                        currentCalories -= VirtualPet.caloriesPerSecond:
                        trace(getName() + "Digest some food. it now has" + currentCalories + "calories remaining");
                        }
            }
        }
}

P.S. на всяк случай залил всю папку Вложение 28141
Зарание всем спасибо!

mooncar 27.06.2012 20:19

nevazno, исходники нужно вкладывать в сообщение.

По существу. А 19-ю строку почему не смотрите? Вам же про нее сообщается и сообщается в чем проблема. Ошибка синтаксиса у вас там, точка вместо запятой.

Wolsh 27.06.2012 22:06

И дальше в функции setName...
Книжку надо читать бумажную, а примеры скачивать с сайта, а не копипастить OCR с ошибками.

Добавлено через 2 минуты
Вообще возьмите себе за правило: если Вы не понимаете смысл буквально каждого слова, каждого знака из того кода, что написан в Вашем редакторе — значит Вы не учитесь в этот момент, а просто копипастите чужой код. Абсолютно бессмысленное занятие.

nevazno 29.06.2012 11:31

Спасибо за помощь, второй ответ очень помог, ато ошыбки лезли одна за одной.
Книгу чатаю на бумаге которая распичатана с пдф, пимеры теперь с оф-сайта беру, короч всё нравится и получаеца на даный момент.

caseyryan 29.06.2012 12:54

Цитата:

Книгу чатаю на бумаге которая распичатана с пдф
Короче говоря "хрен редьки не слаще".
Хотя если это русскоязычный вариант, то там и в бумажной официальной куча опечаток.


Часовой пояс GMT +4, время: 18:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.