![]() |
1) Это я про себя говорю)))
2) Дак а брать где их? http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/ -от сюда? Дак тут я невижу ЭнтерФрэйма никакого. 3) Почему "например"? или там их тьма свойств? Откуда тогда достать синтаксис вызова свойств? |
2) Лучше искать нужно :)
3) Там же, в хелпе. Читайте. Вам повезло — на русском. |
2) Нау..чите(чи)
Вот и получилась Убывающая последовательность из вопросов) Добавлено через 8 минут А вот всетаки в догонку пара вопросиков) 1) В АС2 писали имя переменных и мувиклипов как _root["blabla"+i+"_bla_"+j]. Как данное творение реализовать на flash? илиже только через массивы??? 2) Какой истенный синтаксис создания мувиклипа на сцене и присваивание ему какогото имени?? Токо ненадо плс, посылать на хэлп)) я уже долго разбираюсь просто уже каша какаято в мозгах получилась, незнаю что из этого что надо выцеплять. |
Цитата:
Цитата:
Цитата:
Код AS3:
Цитата:
|
1)
Цитата:
2) Цитата:
3)"super" это ненче нам привычный рут так обозначается?))) А как код будет выгледеть если нам надо созать 10 мувиклипов? зы. "ENTER_FRAME Константа " "Примечание. Это событие не имеет фазы захвата и фазы пузырей, поэтому отправляется непосредственно целевому элементу независимо от того, находится он в списке отображения или нет." Боже мой что за пузыри???))) Добавлено через 2 минуты Кстате из файла по этой теме: Код AS3:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Т. к. обычно в подобных дискуссиях количество вопросов возврастает в геометрической прогрессии, я рекомендую вам всё же читать и понимать хелп и искать ответы здесь на форуме самостоятельно, потому как лично я писать километровые посты не хочу и лень. |
Ну лана небуду пока тревожить)))
Добавлено через 22 часа 27 минут Вот ещё вопросик. Иду по коду предложенной игры и сотавляю свой. Код AS3:
Код AS3:
Моеё целью должно быть чтобы в классе "GameAs3Class_Robots_World" вызывались 2 функции move() и drop(Type1:Number). Но при их вызове вылезает данная ошибка: TypeError: Error #1006: drop is not a function. at main::GameAs3Class_Robots_World/DropSeveralAsteroids() at main::GameAs3Class_Robots_World/Update() Что помойму означает что нет данной функции в DropSeveralAsteroids() нет и в Update(). Хотя в примере именно так все реализованно. Для функции мува таже самая ошибка. 2) Второй вопрос. Когда нам надо писать что "GameAs3Class_Robots_World extends MovieClip", а когда" GameAs3Class_Robots_World extends GameAs3Class_Robots_World_02" Как я понял это и есть наследование (вопрос "3)" Это наследование или что???) либо от мувиклипов на сцене либо от кода, потипу продолжения чтоли? или если я непонял что это такое то можете (кто нибудь) объяснить что да как? 4) Как я еще понял мы записываем all_moving = new Array(); поочередно не просто какую то переменную, а целый "блок данных" включающий себя направление на выполнение каких либо функций а потом просто перебирай все по очереди в результате чего "блок данных" у нас начинает выполняться для каждого объекта (вопрос "5)" это бред как я понял либо это реально так?). В результате чего нам ненада индексировать никакие объекты по 100 раз. Вот возникает вопрос (все ещё четвертый) а чето я непонял как колизия (столкновение) проверяется исходя из двух объектов??? Как надо вызывать их??? зы не в тему "Добавлено через 22 часа 27 минут" порадовало) |
1. В коде все верно. Ошибка "drop is not a function" скорее всего из-за того, что в библиотеке есть мувиклип с Class: GameAs3Class_Robots_Soldat, и создается экземпляр именно этого мувиклипа, который не имеет никакого отношения к написанному вами классу main.GameAs3Class_Robots_Soldat
Укажите в свойствах мувиклипа Class: main.GameAs3Class_Robots_Soldat и все заработает. На будущее, когда ручками пишите имя класса, связанного с мувиклипом, нажимайте на зеленую галочку справа от поля ввода, Flash сообщит вам связанно ли указанное имя с существующим классом, или же будет создан новый. 2. да, это наследование. Лучше, конечно про наследование почитать умные книжки, но я попробую на пальцах :) Что писать после extends зависит от того, какие свойства должны быть у вашего класса изначально (от родителя). Если классу не нужно ничего, например, он просто хранит "x" координату, то и наследоваться не надо: Код:
class MyClass1 {Код:
class MyClass2 extends MyClass1 {Когда вы пишете "GameAs3Class_Robots_World extends MovieClip", то создаете свой новый класс, который наследует все свойства мувиклипа: может содержать в себе рисунок, несколько кадров, анимацию и целую кучу других полезных свойств: http://help.adobe.com/ru_RU/AS3LCR/F...MovieClip.html Т.е. как бы говорите: "ок, я беру за основу мувиклип и добавлю туда кое что свое", в вашем случае это функция для перемещения function move() и функция для установки начальных координат function drop 4. all_moving - это массив. В каждой ячейке массива можно хранить что-то. (благодаря заботам разработчиков Flash, массивы нетипиризированные, т.е. за счет некоторого снижения производительности можно в любой ячейке хранить все что угодно!) Вы в этот массив сохраняете ссылки на созданные экзепляры классов GameAs3Class_Robots_Soldat. Вас ведь не смущает код: Код:
var new_BFR:GameAs3Class_Robots_Soldat;Код:
var ar:Array = new Array();P.S. Все вышеописанное имеет мало отношения к AS3, а больше к основам программирования. Советую вам сначала почитать книги по программированию вообще. |
2) Отлично. Получается что мы разными классами описываем разные свойства разных объектов, а потом как в конструкторе собираем мир из свойств. На примере игры ты взял сначало описал поведение в целом объектов (столкновение, а также вывод жизней) в классе basic_object, затем наши "кругляшки" делятся на движемое и недвижемое имущество (двигаются астеройды, не двигается земля) но всеже они такие базовые объекты изза чего ты создал 2 класса moveing_object and static_object. ну и т.д. в итоге потом после уноследования нада "скрепить" базик со статиком и базик с мувингом. Но тогда как реализовать уноследование сразу от 2х классов???
4) хм тоесть реально реализовать потипу так: Код AS3:
дак вот интересно реально так будет работать? Или в каких местах нада чуть подправить (например "obj!=obj2" корректно?)? зы и в догонку. all_moving.push(new_BFR) - означает дописывание в конец массива? или в любую пустую??? Добавлено через 22 часа 55 минут Дак что скажете? |
> 2. Но тогда как реализовать уноследование сразу от 2х классов???
Во флеше - никак. И мне, к примеру, ни разу не потребовалось. Если очень надо, то посмотрите метод Proxy, но это уже дебри, лучше подумать еще и отказаться от множественного наследования :) 4. Можно и так. Только получается избыточно. Если было проверено столкновение obj1 с obj2 зачем еще делать проверку столкновения obj2 с obj1 ? > all_moving.push(new_BFR) - означает дописывание в конец массива? в конец |
Спасибо за ответы)
|
Подскажите как реализовать такое:
Надо создать 10 мувиклипо каждый со своим типом. Тип выбирается в момент создании в самом главном классе. Нужно чтобы значение этого типа вносилось с характеристики объекта как тажа координата х (икс) а далее в классе по этому объекту выбиралось бы (из условия о типе) какую функцию запустить для обработки. Мне это надо из за того что появление мобов и героя происходит в разное время, хотя наследование идет от одного и тогоже класса. Следовательно когда я создаю героя или моба (зы моб это компьютерный игрок (он же бот)) мне нужно указать что герой это тип 1, а моб это тип 2 и т.д. заранее спасибо;) |
Я немного чайник, объясните, плз.
Вот установил я Flash CS4. Почитал уроки. Пытаюсь сделать всё по ним - и не въезжаю, скрипт в отдельном файле должен быть или в том же, где сцена? Если в отдельном, то просто ничего не происходит, если в этом, тоже самое, но плеер ещё и ругается на первую строку. P.S. ActionScript я немного знаю, до этого во Flex-е пытался делать разные вещи, кое-что получалось. Так что мне нужно разобраться, как здесь хотя бы выполнить trace ("Hello world!"), а дальше я сам разберусь. |
Классы всегда во внешних файлах.
|
Объясните тупому - есть папка flash, в ней - ролик. Где должен лежать файл скрипта и как и где прописать к нему путь? Как я понял, это прописывается в свойстве class в основном мувике, но что-то ни черта не получается. Папки через точку, да?
P.S. Всё, разобрался. :) |
Блин! А ведь не все в россии сволочи! Хоть кто-то не пожалел времени и сил и написал всё красиво и подробно...
Спасибо большое!!! |
Спасибо. Понравились модельки, можно ли их использовать, или какие-то наводки по созданию похожих может есть?
|
Использовать можно.
А наводки... берешь знакомого 3D-шника, ставишь ему пиво... :) |
Грустно это всё... стоит Adobe Flash CS4, данный туториал не работает. То есть уже вот тут (class Preloader):
Код AS3:
progress.gotoAndStop -> ошибка, для начала просто убираем, не найдя вменяемой инфы в инете, только какие-то ужасы... parent.play(); -> ошибка, делаем (parent as MovieClip).play();, как кто-то тут подсказывал... (parent as MovieClip).play(); - валится на рантайме... короче жизнь дерьмо:) То ли сильно изменили AS3 за это время, то ли я со своими 4 годами ООП уже в маразм впал((( |
togoa, в коде статьи много чего не работает в режиме strict. ООП тут непричем.
|
Ах, режим стрикт...))) Дело видимо в том, что я с AS вообще дела никогда не имел, занимался С++, потом С#, сейчас ASP.NET, самое близкое что было - javascript и совсем немного java. Поэтому для меня многое может не доходить, я даже и не спорю, что я тут нуб полный:) Просто расстроился, найдя исходники и клёвое описание, вроде на нужном языке и ни разу не компилируется((
Отбросив лирику, так что за режим и как с ним бороться? |
File->Publish Settings->Flash->ActionScript 3.0 Settings->Strict mode галочку снять...
но только на время изучения статьи, свои проекты писать обязательно в "Strict mode"! |
Глянул, что это... нет уж, лучше код поправить, нинада снисхождений:)
|
Добрый день.
Почитал статью, начал разбираться и непонял вот эту часть "Еще один нюанс, наши астероиды вращаются вокруг своей оси, и после добавления полоски жизни, она тоже будет вращаться. Поэтому сам астероид и его картинку нужно разнести в разные мувиклипы и поворачивать только вложенную картинку (bg)." Копался в коде, но так и не понял что это значит. Еще в библиотеке есть турель и есть турель_bg, на турель_bg нету скрипта, но если удалить ее из библиотеки, то в игре нету этой турели. Вроде бы вопросы схожи и мне непонятно про это bg. Если можно простенький примерчик или объяснение про эти bg. Спасибо. |
Респект тебе, автор =) Только вчера скачала flash, 2я страница html - "полёт нормальный" =)
Так объяснит кто-нить, как это фиксить? "parent.play();" Не нашёл как отлючить стриикт мод (даж не знаю что это) в русской версии... Можно ли без отключения? А то после загрзки начинает мигать "второй фрейм куда кладем большую картинку, чтобы протестировать процесс отображения загрузки"... З.ы. нигде не мог найти пример создания игры |
объясните мне чайнику.
почему s выделено плюсами trace("s="+s+", ar="+ar);? Код AS3:
|
все работает, пускай автор не обижается но мне кажется что этоу игру написал не он
1) Start- почему не на руском да и прочие еденицы в игре на английскоком в том числе. 2) Код без коментов -- это настараживает Но всеравно спасибо автору темы за исходники. |
SergFD, оставьте свои кажется при себе. а то часто креститься придётся.
|
Цитата:
- выдать ошибку, что типы не соответствуют; - преобразовать строку в число и выполнить действие как с числами; - преобразовать число в строку и выполнить с ними операцию как со строками. Почему Вы считаете, что третий вариант хуже второго? :) Если уж так следить за типами, то выбирать третий вариант. Но в подобной ситуации, думаю, достаточно выбрасть стандартный способ - третий. А вообще - спасибо за детальное описание создания игры. Сейчас как-то задумала поизучать флеш (а вдруг игру какую-то захочется сделать :) ) и почитать будет полезно. И так поняла, что хорошо, что сейчас начала изучать - когда уже появился AS3 и не надо задумываться о том, как было раньше. Пока что пробую сделать карточную игру типа "Башенки" :) Застоорилась на событии клацанья по карте - не знаю пока что как это делается по-человечески.... чтоб нигде потом ничего не потерялось и все правильно работало. Но пока что флеш вместе с AS почти полностью меня захватил и увлек! :) |
Цитата:
|
действительно классная статья. сам с нее начал AS3 учить, вот во что у меня превратилась сие творение Robocity
|
Автор, ты реально крут:) у знакомого взял этот пример, начал ковыряться и вот только сейчас нашел этот форум. До этого никогда не работал с флешем, а тут решил попробывать, делал все на AFlash CS4, 10-й Player. После биллион ошибок, вроде все стало работать(хотя есть кое какие глюки дошел до посл. стр). Вот только мне почемуто показалось, что игру я делал быстрее чем учил флеш, хотя вникал и переписывал все в ручную, вплоть до комментариев. Сейчас вот проблемы с этой моделью дисплей-объектов AS3.0 ни как вникнуть немогу, что где куда... не вижу общей картины связаности, также так как там не указан Document class, без понятия как порядок загрузки мувиков... чувствую сейчас отправят в гугл :)
Насчет примера, так как код старый, незнаю реально ли на нем нормально научиться... повторюсь до этого с флешем не связывался, начил ровно с AFlash CS4 и AS3.0. |
Я тоже начал с cs4, порыскав в интернете на предмет обучающих материалов, наткнулся на сей пример. Сперва на несущественные вещи (на мой взгляд) забивал, но потом пришел к выводу, что я в принципе не понимаю, что делаю)). В итоге начал заново и все по порядку.
Ближе к делу. Код AS3:
|
прям вопрос по первому пункту, хеллооу ворлд почему не получаетися посмотрите скриншот, все сделал как там написано и нифига в аутпуте нету
[откоцано за разнос страницы форума] |
Я тоже вначале застрял. Практически ничего не понимаю. Есть уроки по ActionScript 3.0 для совсем чайников?
|
очень понравился урок (да и сама игра). сижу вот разбираюсь. автору большое спасибо!
пока не смог отловить утечку памяти: через несколько минут игры начинаются жуткие тормоза (загрузка процессора под 100%). юзаю флеш цс4. деструкторы вроде везде стоят. мож сборщик мусора в флеше плохо работает? |
Подскажите пожалуйста, в чём ошибка:
TypeError: Error #1007: Попытка реализации в объекте, который не является конструктором. at src::moving_object() at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at src::sky() at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at game_fla::MainTimeline() TypeError: Error #1007: Попытка реализации в объекте, который не является конструктором. at src::moving_object() at src::sky() at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at game_fla::MainTimeline() |
Цитата:
|
bzzt, спасибо огромное! Помогло!
|
Здравствуйте. Вот повезло найти этот форум. Начать разбиратся в этой игре что и как по туториалу. Все шло хорошо, но сейчас возникла проблема с астероидами, они не двигаются..., делал все как написано в туторе, просматривал исходник, вроде все также, но мой пример почему то не работает,подозреваю что косяки в moving_object и sky,больше негде)
vector тоже использую из туториала moving_object.as Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 01:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.