![]() |
Объектный совет
Доброе время суток Вам!!!
В ходе реализации одного проэкта у меня возникло небольшое затруднение.. помогите советом! Разработка мини-игры а-ля Магазин одежды. Существует около 30 мувиков одежды, они должны обладать почти одинаковыми параметрами... и для всех необходимо назначить onRelease... пробовал сделать так: var obj:Object = { this.prototype.onRelease:function() { trace("something is gooing on!"); }, drop_point_x:0, drop_point_y:0, lib_name: "" } var dress = new obj(); но компилятор ругается на функцию и на var dress... Что и как мне сделать??? |
ты вообще понял что ты написал? у Object нету события onRelease , что означает :function() ? это ошибка синтаксическая, или вот это _y:0 ? купи книжек выучи синтаксис.
|
по книге и учусь... =(
Цитата кода из книги Дмитрия Гурского "Action Script 2.0" var obj:Object={a:l,b:2,func:function():Void {trace (a)}}; var a:String-"Привет"; // Создаем переменную, имя которой совпадает // с именем свойства объекта obj obj.func(); // Выводит: Привет (метод "видит" переменную) trace(obj.a); // Выводит: 1 (свойство существует) З.Ы. to Nirth :: это была не конструктивная критика =( |
конструктивная критика стоит денег =)
присваивание переменным значения осуществаляеть через "=" , исключение - внутри обжекта. иди читай книгу до конца =) а лучше сначала прочесть документацию. потом возвращайся на форум |
ок, пасибо за "помощь"
так, для справки :: я и пытался создать объект... Может кто-нибудь посоветует нормально что мне делать? как можно 30 мувикам присвоить onRelease... кроме цикла перебирающего массив... |
можно засунуть их в класс... прочитай там про Object.registerClass
|
пасибо! уже что-то... получился такой класс::
Код:
class ClassShop extends MovieClipthis.startDrag = startDrag(); а без определения startDrag :: There is no method with the name 'startDrag'. lib_name_tmp.startDrag(false, 0, 0, 800, 600); в чем косяк??? |
a nafiga ti его переписал?
немного совсем не то ты сделал %)) ты эти функции не трогай без дела class ClassShop extends MovieClip { var lib_name:String = ""; var lib_name_tmp:String = ""; var is_true:Boolean = false; var type_clothe:Number = 0; public function ClassShop() { var _alpha:Number = 90; setHandlers(); } function setHandlers(){ this.onPress = function() //!!!!!!!! { this._visible = false; Mouse.hide(); lib_name_tmp = lib_name+"_tmp"; _root.attachMovie(lib_name, lib_name_tmp, _root.getNextHighestDepth()); lib_name_tmp.startDrag(false, 0, 0, 800, 600); }} } ну и остальное в помже духе |
сделал как ты советовол , получается что из 30 мувиков всего один реагирует правильно (как задано в классе)...
класс линкуется с мувиком посредством for (i=0; i<=30; i++) { clothe_up_up[i].__proto__ = ClassShop.prototype; clothe_up_up[i].constructor = ClassShop; clothe_up_up[i].constructor.apply(dress); } // код нашел на форуме же.. если кто-нить объяснит что он значит, буду благодарен.. а то с прототипами не дружу... т.е. в массиве перечислены все мувики... када делал через pivate function то все мувики вели себя нормально... хз в чем дело... |
А ручками написать нельзя без вот этих кодов ? заходишь в библиотеку, выбираешь свой мувик - свойства - адвансед - и там есть поле для ввода соответствующего класса ввел, и забыл про все печали и все правильно реагирует
|
| Часовой пояс GMT +4, время: 17:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.