![]() |
public static function
Вложений: 1
Всем привет!
у меня есть метод : Код AS3:
|
Потому что это статический метод класса, а у класса MovieClip, как объекта, нет метода gotoAndPlay(). Этот метод есть у объектов, инстанцированных от класса MovieClip.
|
Можно, например, передать в функцию allRight ссылку на мувиклип, у которого надо вызвать gotoAndPlay, тогда все будет хорошо.
|
а если нужно перескочить на на главном таймлайне?
|
Главный таймлайн тоже мувиклип.
|
подскажи, полиз, как к нему обратиться в моем случае..
|
Код AS3:
|
спасибо
Добавлено через 2 часа 53 минуты во всем приложении что бы обратиться к методу или свойству использовал такой вид Код AS3:
Код AS3:
пришлось все менять и теперь не так просто обрфщаться к свойствам главного класса из дополнительных Добавлено через 2 часа 57 минут вот, например, есть класс Friend, в нем описывается функционал людей, на сцене будет 3 экземпляров этого класса. в классе Friend есть метод: Код AS3:
наводим курсор на экземпляр класса Friend и этот экземпляр должен отработать такой вот функционал: Код AS3:
Код AS3:
а ругается так: Код AS3:
|
Цитата:
Ну и преведение типов нужно для того, чтобы компилятор не ругался на обращение к несуществующему свойству, считая объект не тем, кем он есть :) (this.root as Main)['currentDragged'] – надо было писать так: (this.root as Main).currentDragged А на обращение ['someField'] компилятор так и так не ругнется, так что можно (НЕЛЬЗЯ!) писать this.root['someField'] |
почитал у Мука про статические методы и свойства, да действительно в моем случае их применять не стоит.
Поправил код, учитывая комментарий, но по прежнему та же самая ругань Код AS3:
|
вы пишише на ас3, так и используте возможности этого языка, на данном этапе у вас ас2шный подход, так вы только больше гемороя получите.
|
как бы учусь, не в полной мере понимаю все возможности as3 и преимущества, если можно дайте более конкретный коммент.
сейчас у меня 3 класса: Main Food Friend а смысл такой: нужно перетаскивать еду на друзей, когда каждый друг получил кусочек – ура, пакшот, финальные титры!) |
Я в свое время реализовывал дрэгменеджер следующим образом:
Тот, на кого можно перетаскивать предмет реализует интерфейс IAccepter в котором, грубо говоря, есть метод dropHandler(object:IDraggableObject), который вызывается DragManager'ом. DragManager — синглтон. У DragManager'a регистрируются все объекты, которые хотят реагировать на перетаскивание на них объекта, и все объекты, которые должны быть перетаскиваемыми. IAccepter'ов он подписывает, грубо говоря, на MOUSE_UP. Перетаскивание IDraggableObject'ов рулит тот-же DragManager, startDtag(), stopDrag() и прочее. Когда начинается перетаскивание, дрэгменеджер записывает ссылку на перетаскиваемый объект (_activeDraggableObject), и при срабатывании у IAccepter'а MOUSE_UP, вызывает функцию IAccepter.dropHandler, передавая в нее сохраненную ссылку на текущий перетаскиваемый объект. IAccepter волен поступать с тем, что на него перетащили как ему вздумается, например диспатчить событие о том, что на него что-то перетащили :) Естественно, описание упрощенное. Возможно и не лучшее решение, но мне было с ним вполне комфортно и удобно жить :) |
Как считаете, обойтись без синглтона здесь возможно?
Я еще не накопил достаточно "маны"), не разу не использовал синглтон, поэтому для меня это сложновато. |
Цитата:
|
сейчас получается так:
мы схватили "еду", тащим ее на "друга", срабатывает метод over, но но 50 строка не выполняется Код AS3:
Код AS3:
|
в вашем случае роль манагера может выполнять класс Main т.к. логика по контролю перетягиваемых обьектом описана там. Вам просто расказали про универсальный подход, а делать вы можете как вам удобнее.
|
Цитата:
По вашим кускам кода не понятно что у вас там происходит, и откуда взялась ошибка. Попробуйте выложить архив с вашими исходниками, может будет не лень посмотреть :) |
проблема в классе Friend, не могу правильно задать условие и обратиться к нужным объектам на сцене.
Немного объясню что в fla: кусочек курицы f1_mc перетаскиваем на самого левого "кудрявого" друга. этот кусок должен исчезнуть, "кудрявый" друг перестать реагировать на ROLL_OVER и внутри друга должен появиться красный пар (s1.alpha = 1) архив тут: http://***********/19875011 Добавлено через 24 минуты я вот так вот переделал класс Friend Код AS3:
Добавлено через 1 час 54 минуты а есть какой - нибудь другой способ вызвать метод Код AS3:
Добавлено через 4 часа 13 минут нужно было завести статическое свойство и через него обращаться типо: Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 04:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.