Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сделать клип из библиотеки объектом пользовательского класса в as 2.0 (http://www.flasher.ru/forum/showthread.php?t=113818)

A.E.M. 10.07.2008 01:10

Как сделать клип из библиотеки объектом пользовательского класса в as 2.0
 
Как сделать клип из библиотеки объектом пользовательского класса в as 2.0? В принципе вот весь вопрос... Если более полно, то написал я класс, нарисовал объект(сделал его movieClip-ом), лежит он у меня в библиотеке. Хочу визуализировать два таких объекта желательно не вынимая из библиотеки на сцену и что бы все написанные методы мной и свойства применялись к этим двум объектам (методы и свойства клааса мной написанного, при чем класс наследует все свойства и методы MovieClip хоть я и знаю что это не важно). Заранее огромное спасибо!

Finik23 10.07.2008 01:25

Цитата:

Как сделать клип из библиотеки объектом пользовательского класса в as 2.0?
В библиотеке: правой кнопкой по клипу -> Linkage... -> в поле AS 2.0 Class вписываешь название своего класса.

A.E.M. 10.07.2008 13:26

А как быть в том случае, если у меня описание класса и его методов в первом фрейме сцены, а не в файле *.as?

iNils 10.07.2008 13:46

Цитата:

Сообщение от A.E.M. (Сообщение 751281)
А как быть в том случае, если у меня описание класса и его методов в первом фрейме сцены, а не в файле *.as?

Тогда это не as 2

chingachgoog 10.07.2008 14:04

Вижу потенциального читателя ветки
http://flasher.ru/forum/showthread.php?t=113128
:)

Вот этого моента что-то не понял:
Цитата:

Сообщение от A.E.M.
Хочу визуализировать два таких объекта желательно не вынимая из библиотеки на сцену и что бы все написанные методы мной и свойства применялись к этим двум объектам

Имелось в виду не вынимая руками или вообще не вынимая? Тогда что значит визуализировать?

A.E.M. 10.07.2008 14:12

Ну ладно в общем вот код, который я сохраняю в отдельном файле Plane.as

Код:

function Plane(speed, live, sost, speedRotation, keyRight, keyLeft, keyFire) {
        this.speed = speed;
        this.live = live;
        this.sost = sost;
        this.speedRotation = speedRotation;
        this.keyRight = keyRight;
        this.keyLeft = keyLeft;
        this.keyFire = keyFire;
}
Plane.prototype = new MovieClip();

Plane.prototype.go = function() {
        this.onEnterFrame = this.pov;
};
Plane.prototype.pov = function() {
trace("1");
}

Затем в библиотеке ставлю мувику lincage -> Class "Plane", вытаскиваю на сцену экземпляр, даю ему имя "plane_mc". В первом кадре пишу код

Код:

#include "Plane.as"
plane_mc.go();

Нажимаю ctrl+enter выводит 6 одинаковых ошибок "ActionScript 2.0 class scripts may only define class or interface constructs" и соответственно ничего не происходит. Видимо я как то не правильно оформляю описание класса, подскажите плиз.

chingachgoog 10.07.2008 14:32

A.E.M. - у вас старый добрый AS1.

Цитата:

Сообщение от A.E.M. (Сообщение 751303)
Код:

Plane.prototype = new MovieClip();

Я бы так написал:
Код:

Plane.prototype.__proto__ = MovieClip.prototype
Или так:
Код:

Plane.prototype = MovieClip.prototype
Цитата:

Сообщение от A.E.M. (Сообщение 751303)
вытаскиваю на сцену экземпляр, даю ему имя "plane_mc". В первом кадре пишу код

Код:

#include "Plane.as"
plane_mc.go();


Напишите лучше:
Код:

plane_mc.__proto__=new Plane()

A.E.M. 10.07.2008 14:42

Ну что то AS 1 это совсем уж древне на мой взгляд, подскажите пожалуйста как в стиле as 2.0 мне это сделать...

chingachgoog 10.07.2008 14:45

Сначала написать внешний класс в стиле AS2 :)
А потом сделать как в посте 2 сказали


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

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