Припустимо, ви використовуєте flash builder (4.7) з флеш-професіоналом (або введення флеш-професійних активів у swc або swf), і у вас є весь екран в одному символі. Тож ви хочете перетягнути все в змінну. Щось на зразок цього:
_pictureThing = _startScreen["pictureThing"] as Sprite.
Це дасть вам червоний під бар, тому що виНе вдалося згадати _pictureThing ще.Так що ви натискаєте ctrl + 1, виберіть зробити змінну екземпляру.Звичайно.Але тепер, коли ви піднімаєтеся до вершини класу, це String! ЧОМУ? Я сказав, як Sprite. Єдине Я б очікував, що це буде Sprite.Як це, можливо, не є функцією Flash Builder? Це як би вони пішли майже до ідеального редактора, а потім сказав: "Ні, хай просто не закінчити його. Дозвольте це просто зробити це божевільне перестрибування камери замість цього ". Створення кожної змінної типу String може здатися не великою справою, але коли у вас є багато змінних, час дійсно збільшується. Можливо, мій шлях просто працює, але це не синтаксис, який Flash Builder хоче, щоб я написав це?
Відповіді:
0 для відповіді № 1Оскільки кожен предмет має toString()
реалізація, якщо редактор Flash Builderне може визначити передбачуваний тип змінної, він вважає, що значення String як значення за замовчуванням є його типовим. Питання про те, чому FB "s devs не зробив його розбору as
вислів як передбачуваний тип типу setter відкритий, моє дивне навіювання буде спадщиною, як Sprite
є нащадком сказати DisplayObjectContainer
тип, тому може бути, що var має бути такого типу, або, можливо, на одному рівні менше (EventDispatcher
), або можливо Object
зразу. Напевно, виправлений Fygo розміщений в коментарях може зробити це для вас:
_pictureThing = Sprite(_startScreen["pictureThing"]);
- Fygo 22 хв тому
але невизначеність спадщини все ще залишається. Я кажу, просто дозвольте це бути.