Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   должен входить подкласс "flash.display.MovieClip" (http://www.flasher.ru/forum/showthread.php?t=180928)

Gimli 11.06.2012 19:56

должен входить подкласс "flash.display.MovieClip"
 
Привет.
Почему появляется ошибка: В класс "VirtualPet" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке. Я же импортировал MovieClip
P.S. Flash Prof CS 5.5
Код AS3:

package {
        import flash.utils.*;
        import flash.display.MovieClip;
        import flash.display.Sprite;
 
        internal class VirtualPet {;
                private static var maxNameLength = 20;
                private static var maxCalories = 2000;
                internal var petName;
                private var currentCalories = 1000;
 
                public function VirtualPet(name) {
                        this.petName = name;
                        var digestIntervalID = setInterval(digest,1000);
                }
 
                private static var caloriesPerSecond:Number = 100;
                private function digest() {
                        currentCalories -=  caloriesPerSecond;
                }
 
                public function eat(numberofColories) {
                        var newcurrentCalories = currentCalories + numberofColories;
                        if (newcurrentCalories > VirtualPet.maxCalories) {
                                currentCalories = VirtualPet.maxCalories;
                        } else {
                                currentCalories = newcurrentCalories;
                        }
                }
                public function getHunger() {
                        return currentCalories;
                }
 
                public function setName(newName) {
                        if (newName.length > VirtualPet.maxNameLength) {
                                newName = newName.substr(0,VirtualPet.maxNameLength);
                        } else if (newName == "") {
                                return;
                        }
                        petName = newName;
                }
                public function getName() {
                        return petName;
                }
        }
}


Wolsh 11.06.2012 20:02

Ваш класс привязан к символу в библиотеке, но не является наследником MovieClip.
Код AS3:

internal class VirtualPet extends MovieClip {

Добавлено через 1 минуту
И пожалейте наши глаза: соблюдайте табуляцию в коде!

Gimli 11.06.2012 20:18

Но в библиотеке пусто (( (или я чего-то не понимаю)
Теперь появляется ошибка: ReferenceError: Error #1065: Variable VirtualPet is not defined.

Wolsh 11.06.2012 20:50

У Вас только этот класс? То есть Вы запускаете проект с этим классом в качестве Класса Документа?

Gimli 11.06.2012 20:58

Да, я запускаю проект с Классом Документом ВиртуалПет. Классов всего два ВиртуалПет и ВиртуалЗу.
Код AS3:

package   
{
 
        import flash.display.MovieClip;
 
        public class VirtualZoo
      {
        private var pet;
 
                public function VirtualZoo()
                {
                        pet = new VirtualPet("Stan");
                        var oldName = pet.getName();
                        pet.setName("Marcos");
 
                }
 
        }
 
}


Wolsh 11.06.2012 23:40

Вы ничего не путаете? В классе VirtualPet не упоминается зоопарк, как раз наоборот. То есть это VirtualZoo должен быть классом Документа. И расширять мувиклип, да. А зверушка не обязана его расширять, если она не класс Документа...

Gimli 12.06.2012 00:03

поменял класс документа на ВиртуалЗу и всё заработало.)
Просто мне надо было протестировать код который был в классе ВиртуалПет, вот я и решил назначить его классом документа.
Спасибо за помощь.

zomkoner 11.03.2013 19:14

Вложений: 1
Блин вот второй раз взялся за этот учебник и в этот раз встрял ещё раньше чем в предыдущий... почему не канает не врублюсь(((
Код:

C:\Users\Desktop\project_zomk\zoo\VirtualZoo.as, строка 1        5000: В класс "zoo.VirtualZoo" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке.


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

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