Форум 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=170870)

ЗлОй ПрОграММер 04.11.2011 01:44

Очень благодарен за хорошие пояснения)

stweet 04.11.2011 03:58

Цитата:

Сообщение от Wolsh (Сообщение 1043522)
Нет.
что такое startApp(); ?


тоже самое что:
Цитата:

nogi2hand();

Ookami 04.11.2011 04:13

Дабы не плодить темы, можно прям тут спросить про прелоадер?

Использую Flash CS 5.5. Попробовал сделать прелоадер по такому же принципу, как описано чуть выше (пост 7).
Код AS3:

var mainClass: Class = getDefinitionByName("MainClass") as Class;

ругается
Код:

ReferenceError: Error #1065: Переменная MainClass не определена.
причем если указать MainClass явно а не через getDefinitionByName - все работает почти нормально (почти - потому что в прелоадере заполняется переменная, объявленная глобальной, но в MainClass она не доступна)
Подтолкните в нужном направлении пожалуйста (кроме гугла и Мука)

Ранее прелоадер был написан в первом кадре, но решил вынести его в отдельный класс, теперь вот куча вопросов возникла =(

-De- 04.11.2011 04:56

Истинно верное направление - не писать код во Flash CS =) Серьёзно - он для анимаций/ассетов, которые в swc компилировать и подключать этот swc к чему-то, что флекс компилятором собирается(flashdevelop, Flash Builder). Будете серьёзно программировать на as3 - это рано или поздно случится.
Вообще оно не находит MainClass, т.к. получается, что он вообще нигде не упомянут и потому не вкомпиливается (в FD это решается галкой Always Compile). Чтоб упомянуть хватит во втором кадре написать
Код AS3:

var ref:MainClass;

Вроде можно как-то ещё проще, но я не знаток и не так важно. Если есть символ, для которого ваш MainClass - базовый, то рекомендую просто поставить там экспорт во второй кадр.
Ну и вы как-то неправильно готовите глобальные переменные, если они где-то не доступны.

DJDrugsounD 04.11.2011 12:19

Цитата:

Сообщение от -De- (Сообщение 1043610)
Истинно верное направление - не писать код во Flash CS

вот хватит уже вот этого вот! пусть каждый пишет там где ему удобней.

Ookami 04.11.2011 14:22

писать приходится во Flash CS потому что ничего другого скачать не могу, инет пока только 3G. Вообще касательно среды разработки тоже есть вопросы, но их лучше в соседнюю тему вынесу.

Цитата:

Вообще оно не находит MainClass, т.к. получается, что он вообще нигде не упомянут и потому не вкомпиливается
Но не находит то он его именно через getDifinitionByName, если имя класса явно указать то находит нормально. Мне именно этот момент не понятен.

Насчет неправильного объявления переменных - КАК их можно объявить неправильно?
Код AS3:

package common {
...
include ...
...
public class preloader extends MovieClip {
 
public var php:PHPTransfer = new PHPTransfer;
public var TilesArray = new Array;
 
public function preloader() extends MovieClip {
...

При этом ни php, ни TilesArray из MainClass недоступны, точнее даже не объявлены.

Wolsh 04.11.2011 14:39

Цитата:

public function preloader() extends MovieClip {
Функция не может расширять Класс. Вам компилятор ничего об этом не говорит?
И что за include?

carrotoff 04.11.2011 14:44

Цитата:

вот хватит уже вот этого вот! пусть каждый пишет там где ему удобней.
Поверьте, это ОЧЕНЬ хороший совет. Я бы даже сказал, что это не совет, а сигнал к действию.
Flash IDE как таковой предназначен для создания анимации, а не для написания кода. Если вам нравятся продукты adobe - пишите во Flash Builder. Эту штуку как раз придумали для программистов.

Хотя мне больше FD нравится:)

Ookami 04.11.2011 15:19

Цитата:

Функция не может расширять Класс. Вам компилятор ничего об этом не говорит?
Скопипастил коряво, извините. Конечно, она ничего не расширяет. Этот текст частями собирал, часть дописал руками - отсюда и инклуды вместо импорта =) В самом коде естественно этих ошибок нет =) Сути это тем не менее не меняет, и вопрос почему объявленные переменные недоступны в других классах остается открытым.

Да, и еще такой вопрос, хоть я и догадываюсь каким будет ответ. Не проще ли делать прелоадер в первом кадре? И почему считается дурным тоном писать в кадрах?

Добавлено через 2 минуты
Цитата:

Поверьте, это ОЧЕНЬ хороший совет. Я бы даже сказал, что это не совет, а сигнал к действию.
Flash IDE как таковой предназначен для создания анимации, а не для написания кода. Если вам нравятся продукты adobe - пишите во Flash Builder. Эту штуку как раз придумали для программистов.

Хотя мне больше FD нравится
Я может плохо искал, но билдер давно уже недоступен для скачивания с сайта Адоб. О том что Flash CS предназначен для создания анимации а не написания кода - обоснуйте? Чего в нем нет такого, что необходимо для этой цели?

carrotoff 04.11.2011 15:34

Цитата:

Да, и еще такой вопрос, хоть я и догадываюсь каким будет ответ. Не проще ли делать прелоадер в первом кадре? И почему считается дурным тоном писать в кадрах?
Цитата:

обоснуйте? Чего в нем нет такого, что необходимо для этой цели?
Понимаете, какое дело. Я же не заставляю вас менять свою точку зрения. Более того, не хочу ничего доказывать. Это не холивар: пепси или кока. Вам говорят об этом люди, уже не первый год работающее в этой среде. Во Flash IDE нет никаких инструментов для программирования, кроме текстового редактора.

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


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

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