Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вопрос по регистрации всех классов приложения (http://www.flasher.ru/forum/showthread.php?t=177748)

Dukobpa3 09.04.2012 13:15

Цитата:

Сообщение от in4core
Я могу понять такую писанину в утилитных классах

Вот здесь ты не прав чуток. Очень юзаемая фишка при распределенной архитектуре. Например арта в игре на 200 метров, а грузится только то что нужно в данный момент, и соответственно там и юзается.

Короче:

- есть основная флешка
- есть внешняя флешка с пачкой всего
- где-то в процессе работы мы грузим внешнюю флешку в свою основную.
- и теперь нам нужны классы из этой внешней флешки - в нашей основной
- делаем:
Код AS3:

var cl:Class = getDefinitionByName("ClassNameFromExternalSwf") as Class;
var instance:* = new cl();

Фича действительно полезная и мною лично часто юзаема.
И это всё, не надо никаких registerClassAlias и прочих бубнов.

Случайно не вызывало сомнений что registerClassAlias и getClassByAlias- находятся в пакете flash.net? Вот они собственно и нужны там где какие-то AMF-классы сообщений регистрируются, но скорее всего не здесь.
Интуиция подсказывает что при всей его категоричности - инфокор в данном конктерном случае прав, и данная фича при всей ее полезноси именно здесь не нужна, или же я не понял мотивации ТС.

Объясни что такое "инициализация приложения" в твоем понимании?

carrotoff 09.04.2012 13:17

Tayrus, я бы посоветовал пересмотреть архитектуру, пока Вас не унесло слишком далеко

Tayrus 09.04.2012 22:31

Хотел каждому ответить, но...боюсь что еще больше запутаю )))

В общем суть в том что... решил однажды узнать как же люди делают флэш-игры. Погуглил.. нашел разные сайты, материалы.... Обложился книгами... кое-что понял, кое-что так и не дошло, а кое-что частично... Например, кто в MVC занимается загрузкой данных? Как уложить в башке связь картинка-объект... т.е. если у нас объект "помидор"...со всеми своими свойствами, то выглядеть он может как помидор, как арбуз или вообще как пенис дьявола. И кто на кого должен ссылаться? То ли в объект зашивать имя картинки, или индекс картинки и при этом где-то на бумажке записать что для помидора нужна картинка с именем "помидор.жепеге" или вообще все это не так делается. Думал впихнуть в объект байт-эрей от картинки, но...отказался от этой затеи.

А если говорить вообще про архитектуру... просто... ммм.. я не умею этого делать... я читаю книги, статьи... но... у меня нет возможности прийти к кому-то...и показать чтоб... ну не знаю кто там этим занимается в компаниях... в общем чобы мне сказали...вот тут неправильно, вот тут надо немного изменить туда-то туда-то.... т.е. прочел-попытался написать код.

По поводу инициализации...черт... даже сомнения берут... может я вообще яблоко рыбой называю... В общем... вот я получил с сервака JSON-данные.... обработал их и пытаюсь создать все объекты приложения... вплоть до чаек на заднем фоне, которые просто тупо машут крыльями и ничего больше... Вот этот процесс и заставил меня окунуться в registerClassAlias, и в каждом классе я сделал переменную classAlias. И теперь, при создании объектов через все эти псевдонимы ... я не знаю какой на данный момент объект создается(точнее, может как-то и можно узнать, но я пока не знаю) и в каком порядке мне нужно передавать агрументы.... я решил добавить в классы функцию Init(options:Object), в которой будет происходить инициализация всех параметров класса.

Просто, как я уже сказал, мне не у кого спросить...кроме как на форуме... и... хотя бы пример посмотреть архитектуры... А спрашивать на форуме "Люди!!! Как создать флэш-игру?"... нууу...сами понимаете... это туповатый вопрос...

В общем... у меня пока все на стадии.... "знаю как загрузить картинку. знаю как передать, принять, обработать JSON-данные. Даже сделал программную анимацию и знаю что лучше делать ее не через Timer" ну и т.д. А как все вместе превратить это в Сикстинскую капеллу.... пока не знаю...

Вооот..... как-то так ).

Всем спасибо. Если будут дополнения...буду признателен.

З.Ы. Кстати, вопрос... есть анимация... нууу..допустим корова жует... Как это делают люди? Я могу сделать программную анимацию, загрузив разное положение челюсти коровы... но... мне кажется.. люди это делают по другому... Наверное просто отдельным роликом, который потом грузят... Да?

Dukobpa3 09.04.2012 22:43

Себе для начала ответь чего ты хочешь вообще.
А нас запутать - ну хз, удачи:) Тут у тебя вопросы а не у нас:)

alatar 09.04.2012 23:07

Возьмите готовый движок и не мучайтесь.

Tayrus 10.04.2012 00:04

Цитата:

Сообщение от Dukobpa3 (Сообщение 1073972)
Себе для начала ответь чего ты хочешь вообще.
А нас запутать - ну хз, удачи:) Тут у тебя вопросы а не у нас:)

Хочу научиться не только умет передвигать картинки по экрану, но и правильно все это делать, чтоб приложение не глючило ... в общем.. чтоб все было красиво и самое главное ПРАВИЛЬНО

Под красиво я подразумеваю не бантики на экране, а чтоб код, архитектура ПО была чики-пуки

На счет движка.... так не в движке дело... Я хочу быть одним из тех кто умеет создавать движки, а не просто тупо пользоваться.

Есть у меня один движок... простенький... не для флэш... HGE .... все понятно как и что, НО... игру то не напишешь интересную и сам движок не разобьет ПО на нужные части т.д. и т.п.

Я понимаю что разработка архитектуры ПО не связанна с языком.... язык - это лишь инструментарий... Просто, решил вот научиться создавать флэш-игры... заодно изучить всю кухню... В общем... придумал себе очередной клон фермы.... не для последующей продажи или получения награды на КРИ..... а целью является научиться делать крэкс-пэкс-фэкс.

Может посоветуете с чего начать(уже в который раз начинаю)?

Может блог создать и люди там подскажут?

Dukobpa3 10.04.2012 00:23

Если опыта нет - ферма шибко сложно. Для начала олдскул какой-то можно или казуалочку. Платформер какой-то или скроллер.

Tayrus 10.04.2012 00:37

А что подразумевается под олдскулом? Матч3?

Хм... может какой Creazy Sheep или у нас тут висит реклама в городе... свинья с диким оскалом... типа режут проценты по кредитам... может ее сделать главной героиней... пусть бегает и режет... а в качестве пополнения энергии давать ей сардельки... опять же, тема канибализма в игре задействована.... Надо подумать...

Думаю....все же, создам блог... где буду выкладывать мысли и спрашивать советы у людей

in4core 10.04.2012 01:14

Цитата:

По поводу инициализации...черт... даже сомнения берут... может я вообще яблоко рыбой называю... В общем... вот я получил с сервака JSON-данные.... обработал их и пытаюсь создать все объекты приложения...
Ну так, я конечно в игро-строении не ас, но изначально считаю, что в простых это делается так :
Например данные { bird:5 , apple:7 , peoples:20 , allCount:32} , all можно и в коде посчитать
Далее парсим наш объект описывая поля, назовем допустим его worldModel .
Код AS3:

WorldModel :
public var birds:int = 7;
....
initialize all JSON vars etc

Сделали ( лучше конечно воспользоваться get / set для создания приятной модели ) , отлично.
Запускаем метод вьюхи для создания объектов :
Код AS3:

for(var i:int = 0 ; i < allCount ; i++)
  var object:int = getNextObject();
  for(var j:int = 0 ; j < object; j++)
  switch(name)
  case : bird
  ....

Написал конечно кривовато, думаю можно все это приятнее сделать, сорри вечер понедельника...

Dukobpa3 - так вот я не просто так задал вопрос сначала, что я не вкрусе зачем эта фича и хотел узнать, теперь с с твоих слов - ясно для чего и понятно, что супер фича, в том случае если классов 200+ , по 10-20 кб каждый, лучше конечно грузить частями. логично

Tayrus 10.04.2012 01:27

Так вот я и не хотел через switch делать .... поэтому и замутил эту тему... Просто... как-то... нууу.. не знаю... на вкус и на цвет, конечно, фломастеры разные.... но... если добавиться вдруг новый класс.... надо будет ковырять switch. Конечно, так как я тут придумал... там тоже надо будет вручную вбивать мой новый класс в CMyClassList....но... мне кажется, так круче(хотя в чем круче, сам не понимаю...просто на уровне ощущений), да и switch уже лет 8 не нравится после одного случая...

В общем... делаю все сначала и беру в качестве спаринг-партнера новый жанр игры. Постараюсь начать с завтрашнего дня...

З.Ы. Прекрасно понимаю, что дело не в switch, просто, батенька, вы не умеете их готовить... Но... вот ... как-то так...
Отложу пока все getDefinitionByName etc... Надо придумать историю


Часовой пояс GMT +4, время: 13:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.