![]() |
Вы поставили класс main.preloader как главный класс документа. На основной сцене нет поля txt, о чем и говорит флеш. Текстовое поле txt есть у мувиклипа preloader, наверное ему и стоит сопоставить класс main.preloader?
Т.е. очистить поле Document class, а в свойствах мувиклипа preloader поставить галочку Export for ActionScript и в поле Class прописать main.preloader |
Спасибо большое, но с этим я уже разобрался)) щас об другое головой бьюсь :)
|
ау. самый дельный урок который я встречал. РЕСПЕКТ. я просто счастлив
|
классная игра... математика- это сила... пример супер!!! спасибо большое!
|
Вложений: 2
Цитата:
Если флеш разместить в html-коде с указанием размеров, например, в два раза меньше реального размера, то при уменьшении зума, возникает ситуация, приведенная на скриншотах. Кто-нибудь может объяснить как от этого эффекта избавиться? :confused: (картинки размещены в "выкрученном" до минимума зуме, при запуске картинки идентичны) |
stage.scaleMode = StageScaleMode.NO_SCALE;
|
Код:
Attemping to launch and connect to Player using URL D:\САЙТЫ\Флеш Работа\Обучающая статья\main\test1.swfЭто происходит при Debug Movie Ctrl+Shift+Enter Что я делаю не так? |
Цитата:
|
Я думал что буду любоваться текстом "Хэлло Уорлд", ноя любовался только этим текстом(((
Код:
Attemping to launch and connect to Player using URL D:\САЙТЫ\Флеш Работа\Обучающая статья\main\test1.swf |
ну вот :)
после того как установил цс4, появилась срочная необходимость понять ас3... |
Мучаюсь уже несколько дней.
обьясните как всетаки избавиться от ошибки Код:
1119: Access of possibly undefined property osnov through a reference with static type flash.display:DisplayObject. |
Избавиться просто — изучить ActionScript.
К сожалению, сейчас данный пример на основе игры плохо подходит для изучения AS3. |
Я понимаю что нужно изучить ActionScript. Как раз этим и занимаюсь на примере этой игры пишу простенький морской бой. Упёрся в эту ошибку при расстановке кораблей на поле. Подскажите хоть в какую сторону копать или что почитать связанное с этой проблемой? Или можно не связанное а вообще для изучения ActionScript.
|
Где-то идет обращение к неизвестной переменной osnov
|
Цитата:
|
Цитата:
С ней и бьюсь. Свой код смогу выложить только как доберусь до дома. И наверно стоит это делать уже в отдельной теме. |
В 10м Flash добавили класс-контейнер Vector и теперь Vector из статьи конфликтует с ним. import main.Vector; как в Java не помогает((( Что можно сделать, кроме переименовывания класса?
|
Код:
function resolve(ball1:basic_object, ball2:basic_object):voidПочему компилятор позволяет такое? * Блин, это dynamic class придумают же такое))) |
Статья классная. впринципе есть и попроще варианты в интернете. для начинающих flasher-ов. 4ре части по созданию простой игры
http://siliren.ru/content/view/34/1/ http://siliren.ru/content/view/44/1/ http://siliren.ru/content/view/45/1/ http://siliren.ru/content/view/52/1/ |
Remizorrr, по всей видимости не туда запостил, в твоем примере не AS3 ;)
|
а примерчики всёравно хорошие ;) спасибо
|
А вот интересно, если я игруху сделаю на базе этого туториала никто не обидется?
Могу денег сколько-то заплатить =) |
Ну прям с тем же кодом я бы не стал.
|
Почему?
|
Потому что этот код, мягко говоря, не соответствует современному AS3.
|
Это не проблема, я все равно все перепишу по-своему =)
Главное чтобы было с чего начать. |
В общем есть проблема с прелоадером... Прочитав всю тему с 1-й до этой страници я выправил несколько ошибок, но все таки некоторые остались, я использую Flash CS3, 9-ка...
Опишу все как есть и сколько ошибок и каких выбевает на этом не легком пути к истине... Значит в fl файле 3-и кадра, 1-й кадр прелоадер, 2-й кадр кнопка Start, 3-й кадр сцена с игрой... Расположил на первом кадре MovieClip под названием "preloader" в котором текстовое поле с id: txt, ну и стоит Dynamic Text, и MovieClip под названием "progressbar" с Instanse of: progressbar В MovieClip-е с названием "preloader" поставил в Linkage... галочку Export for AS, прописал класс: main.preloader, это внешний файл лежащий в папке main с названием preloader.as На первом кадре в главной сцене(root), во фрейме написал stop(); Код на внешний файл preloader.as Код AS3:
preloader.as Line 1 1046: Type was not found or was not a complite-time constant: TextField. Причем здесь TextField, я же написал dynamic public class preloader extends MovieClip { и выбрал для текстового поля Dynamic text, указал в нем ID: txt ))))) В общем думал справлюсь сам, но после 4 часов над исправлением ошибок одна за другой замучался, тут я уже пришел в тупик, что оно от меня хочет? Подскажите пожалуйста, уже нету сил с ним боротся, код по прочтению всей темы я так понял писался для FL v. 8... Повторюсь, у меня 9-ка... Добавлено через 5 часов 18 минут Разобрался сам, опять моя ошибка... Забыл написать import flash.text.TextField; Хотя в примере игры, в файле preloader.as автора этой строки нету ))))) Хотя у меня еще возник один вопрос, при компеляции файла, в Flash CS3 компилирую Ctrl+Enter, в окне Player-а в меня View > Simulate Download показывается что файл грузится... но в самом флег окне загрузка прелоадера, то есть отображения мувиклипа самого показывается только тогда, когда % дошел до 80 и только после 80, прелоадер отображается и эта полоска загрузки добегает четверь всей длины, у меня вопрос, почему эта полоска загрузки не с 0% начинает отображаться? |
А какой вес первого кадра? Может там все классы игры и сидят, потому-то и грузится он долго, т.к. большой?
"Export classes in frame" стоит 2 ? |
хм... а где его ставить или посмотреть вообще?
Если на любом MovieClip-е нажать правой кнопкой мыши и выбрать Linkage..., то там можно выбрать только Class: name BaseClass: flash.Display.MoiveClip Linage: Export for ActionScript (стоит галочка) Export for runtime sharing Export in first Frame (стоит галочка) а где прописать "Export classes in frame" "2" не знаю... : |
root.Unknown
Publish Settings -> Flash -> (ActionScript 3.0) Settings -> Export classes in frame |
Люди, допоможите, плиз!!!
Я второй день пытаюсь разобраться с классами - полная беда, то ли я чегой Добавлено через 1 минуту Люди, допоможите, плиз!!! Я второй день пытаюсь разобраться с классами - полная беда, то ли я чегой - то не въезжаю, то ли фиг его знает... Короче, пытаюсь повторить начальныйурок с классами из статьи, Добавлено через 3 минуты Люди, допоможите, плиз!!! Я второй день пытаюсь разобраться с классами - полная беда, то ли я чегой - то не въезжаю, то ли фиг его знает... Короче, пытаюсь повторить начальный урок с классами из статьи, а он, зараза, пишет, что невозможно определить класс... Я поставил 3 флеш. Дошел до того, что тупо копировал текст, - результат тот же. Может, кто поможет чайнику... |
Уважаемый THJVHFGRE, на ваш пост никто не сможет ответить, так как он небуквально гласит: "Расскажите мне вкратце про Action Script, чтобы я все понял и мог программировать на нем".
Уважаемые знатоки :) У меня вопрос чуть менее глупый, но более конкретный. Я даже зарегистрировался, когда понял, что не могу дальше без диалога. Итак, у меня идентичная проблема, что и уже озвучивалась в этой теме. Постом позже на нее создатель этого замечательного туториала ответил. Вот эти сообщения: здесь. здесь .. но каюсь, я перечитывал ответ автора и переделывал код десятки раз, но, что называется, "не просек". Я не вижу в сообщении №112 конкретного ответа: "как изменить код, чтобы он работал?" Прошу ответить для тех, кто в танке. Неважно, насколько глуп вопрос. Хочу разобраться. :) |
Цитата:
Код:
for each (s in new_asteroid.sectors){Код:
for (s in new_asteroid.sectors){ |
Понял, прошу прощения...Попытаюсь разобраться, в чем фишки...
|
Вот возникло несколько проблем когда разбирался с примером.
пишу код для движения за мышкой Код AS3:
1) Если создать в основном файле мувиклип с индификатором "main.GameAs3Class_Robots_World" Ипросмотреть как работает данный файл, то получается картина того как мелькает наш мувиклип (притом мелькает похоже както странно, то ли запоминает предыдущее местоположение и летает то к нынешнему то к предыдущему, толи складывает координаты и мелькает, в общем не так как надо). Что изменить как исправить проблемму? 2) "addEventListener(Event.ENTER_FRAME, Move_camera);" Это как понятно добавление события в код. синтаксис как я понял таков: "ДобавитьСобытие(Событие.Врубания_Кадра, Производить_действие_события_в_такойто_функции)" Тогда вопрос фраза "addEventListener" будет для всех событий одинакова? И где найти другие события кроме "Event.ENTER_FRAME" 3) Начто писать это: "(e : Event)" ? К чему переменная эта нужна? 4) Для чего нужно писать "import flash.display.DisplayObject;", как я понял чтобы работал блок this.x=mouseX; (тоесть чтобы когд понял что нам надо координаты брать) Но дело в том что и не писав этот импорт flash не выдает ошибки. Почему? |
1) Вы используете mouseX и mouseY относительно самого клипа, а т. к. при каждом рендере кадра клип смещает свою позицию и положение курсора мыши относительного него изменяется, соответственно мы видим хаотичное движение. Как вариант, можно использовать super.stage.mouseX, super.stage.mouseY.
2) Эта строка означает, что вы подписываете на событие (как на газету) какой-либо метод-обработчик вашего класса. Если переносить в реальность, то, грубо говоря, в вашем коде вы подписываете газету с названием Event.ENTER_FRAME (в константе содержится строковое значение 'enterFrame', т. е. это «ежекадровая» газета) на почтовый ящик (метод Move_camera), который и будет получать экземпляры этой газеты (те самые «e», указанные в обработчике Move_camera). 4) Потому что класс DisplayObject в вашем коде нигде не используется. Это абстрактный класс, экземпляры которого создать нельзя, но можно создавать наследников, вроде класса Sprite. В классе DisplayObject описаны базовые свойства визуальных объектов во Flash, такие как x, y, width, height и др. |
Цитата:
2) Тоесть и получается если разбирать "addEventListener(Event.ENTER_FRAME, Move_camera);"" по частям: "addEventListener"- вызов события; "(Event.ENTER_FRAME, Move_camera)" - Вызов события с такими характеристиками где: "Event.ENTER_FRAME"-Характеристики самого вызова (притом ENTER_FRAME можно заменить на чтонибуть друго (что потребуется)), а "Move_camera" адрес вызывания. 3)"который и будет получать экземпляры этой газеты (те самые «e», указанные в обработчике Move_camera)." А какие экзэмпляры имеются у ЭнтерФрэйма??? Или это пишется по стандарту (в энтер фрэйме просто ничем он вызван ен может быть), а в других случаях нужно вызывать? Это случаем например не та "дэльта", или както так, что АС2 Требовалась при обработке события использования ролика мышки (ана нам помогало определить куда ролик крутим)?? 4) А можно поподробнее что за наследники "вроде класса Sprite"? зы и еще вопросик)) Как пользоваться тогда "Мигратором" (назовем его так)))) Разберем строчку: "_ymouse Свойство [только для чтения] flash.display.DisplayObject.mouseY Перемещено в класс DisplayObject, изменено имя на mouseY, удалено исходное подчеркивание из имени." Как я раньше понимал что мы смотрим для АС2 код находим его это "_ymouse" далее смотри на "flash.display.DisplayObject.mouseY" Логично что это строчка неможет быть оператором, поэтому по логике "mouseY"-это оператор, а "flash.display.DisplayObject" это класс который нада импортировать. Правильно я понял? Или не так получается? Тогда почему "flash.display.DisplayObject."- абстракционный клас? И что надо сделать чтобы Его использовать??? |
1) Нет, _xmouse/_ymouse в AS2 тоже брались бы относительно клипа;
2) Нет. addEventListener — метод добавления нового слушателя, а не вызов. Вызов, а точнее отправка — это dispatchEvent. 3) Какие-какие? Экземпляры типа Event, содержат в себе как минимум ссылку на отправителя и тип. Это и есть само событие, его параметры. Т. е. когда происходит событие, вызывается подписанный на это событие обработчик и в него передаётся экземпляр этого события (e:Event), у этого экземляра есть различные свойства, как минимум тип события и ссылка на отправителя. В случае подписки на скролл мыши, будет ещё и та самая дельта; 4) О наследниках DisplayObject можно узнать в хелпе. mouseY — это свойство, а не оператор. В AS2 аналогом было свойство _ymouse у MovieClip-ов. Импорт класса DisplayObject для использования свойства mouseY в его наследниках не требуется. |
1) А точно в АС2 мы же отходили от _root-а да и писали в кадре, а тут та у нас рут это имя мувиклипа. Такчто понятно это)
2) А по поводу характеристик (тоесть константы ENTER_FRAME) это правда? И где их брать эти другие "константы"??? 3) Как я понял e это переменная со свойствами, дак как тогда эти свойства нам вызвать? Например координаты "х" и "у" у мувиклипа мы находим путем "name_move.x" и "name_move.у" а как тут быть? Получается нужно разграничивать свойства и переменные. Для переменных надо импортировать кслассы для свойст ненада. |
1) В AS2 в кадрах тоже не писали, всё в классах;
2) У класса Event есть ещё куча констант; 3) e.type, e.target, например; Ну, грубо говоря, да, для собственных свойств импортировать ничего не надо. |
| Часовой пояс GMT +4, время: 00:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.