Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.07.2008, 19:16
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 11  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
а приведенного кода выше недостаточно?

Старый 07.07.2008, 19:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 12  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Tfp Посмотреть сообщение
вот тоже решыл сделать прелоадер правда когда игра жуе была почти полностью готова) почитал статью все чики пуки...вот только не пойму зачем заменять документ клас? весь етот код отлично добавляетья в первый кадр мувика, а в документ класе просто добавляем пару строк чтоб скрипт инициализации срабатывал в третьем кадре..
При такой схеме все классы зашьются в первый же кадр. Можно просто положить спрайт с классом во второй-третий кадр, но нельзя работать с его классом из Document class.

Цитата:
Сообщение от Tfp Посмотреть сообщение
и опять же зачем юзать
Код:
pBar = getChildByName("Bar") as Sprite;
если доступ к инстанции класса на стейдже доступен напряму через имя? а getChild необходим для динамически созданных обьектов, ну и если имя составное =)
Это не AS3-way. Компилятор Flash CS3 автоматически декларирует свойства-ссылки на вложенные клипы. В чистом AS3 такого нет и не будет, поэтому обращения к свойствам-ссылкам я не применяю. И потом, код с обращениями к свойствам-ссылкам будет с ошибками, во внешнем редакторе. Поэтому, либо надо описывать все эти ссылки самому (притом, что они могут быть только public!), либо вообще их не использовать. Так как мне лень, я их не использую и вообще, публичные переменные подобного плана — зло.


Последний раз редактировалось etc; 07.07.2008 в 19:58.
Старый 07.07.2008, 19:53
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 13  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
слушай __etc я нашел в паблишь сеттингсах настройку в какой кадр экспортировать все, это может упростить подход к делу?

Старый 07.07.2008, 19:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 14  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от ramshteks Посмотреть сообщение
слушай __etc я нашел в паблишь сеттингсах настройку в какой кадр экспортировать все, это может упростить подход к делу?
В смысле? Подход не изменится.

Старый 08.07.2008, 00:15
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 15  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
__etc , убирать галочки на експорт и добавлять мовиклипы в контейнер тоже надо просто непойму почему нельзя оставить докумен клас изначальный?
вот пример того что с ранее изложеным кодом..
не заменяя док..класс добавляем код в фрейм, кода меньше результат тотже
Вложения
Тип файла: zip SelfLoader.zip (7.4 Кб, 52 просмотров)


Последний раз редактировалось Tfp; 08.07.2008 в 00:26.
Старый 08.07.2008, 01:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 16  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Tfp Посмотреть сообщение
__etc , убирать галочки на експорт и добавлять мовиклипы в контейнер тоже надо просто непойму почему нельзя оставить докумен клас изначальный?
вот пример того что с ранее изложеным кодом..
не заменяя док..класс добавляем код в фрейм, кода меньше результат тотже
Не знаю, такой вариант я не пробовал. На вид вроде работает, но одновременная писанина и в DC и в кадре как-минимум дезориентирует (получает класс, распиленный на две части). Хотите — используйте, но применять такой метод на практике лично я бы не стал.

Старый 08.07.2008, 01:46
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 17  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
класс не распиливаеться а перемешаеться в первый кадр...
лан.. у меня далее вопрос в твоем примере если поместить animatingStar на сцену и задать ему имя получаеться такая ошыбка
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@41bc539 to Star.
а если поместить например boxGraphic на сцену и задать ему имя "somename" ощыбки не будет
b далее..
Код:
			var ssBar=getChildByName("somename")  as  MovieClip;
			ssBar.x+= 2;
ошыбка
Код:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at Program$iinit()
	at ExportSecondFrameExample/::main()
	at ExportSecondFrameExample/::enterFrameHandler()


Последний раз редактировалось Tfp; 08.07.2008 в 01:55.
Старый 08.07.2008, 02:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 18  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Tfp Посмотреть сообщение
класс не распиливаеться а перемешаеться в первый кадр...
Либо код в кадре, либо код в классе. Одно из двух.

Цитата:
Сообщение от Tfp Посмотреть сообщение
лан.. у меня далее вопрос в твоем примере если поместить animatingStar на сцену и задать ему имя получаеться такая ошыбка
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@41bc539 to Star.
а если поместить например boxGraphic на сцену и задать ему имя "somename" ощыбки не будет
b далее..
Код:
			var ssBar=getChildByName("somename")  as  MovieClip;
			ssBar.x+= 2;
ошыбка
Код:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
	at Program$iinit()
	at ExportSecondFrameExample/::main()
	at ExportSecondFrameExample/::enterFrameHandler()
Я не очень понимаю, что требуется сделать и зачем. В первом случае скорее всего Star не объявлен, как MovieClip, во втором — либо нет такого клипа с таким именем, либо он не MovieClip.

Старый 08.07.2008, 02:24
Tfp вне форума Посмотреть профиль Отправить личное сообщение для Tfp Найти все сообщения от Tfp
  № 19  
Ответить с цитированием
Tfp
 
Аватар для Tfp

Регистрация: May 2008
Сообщений: 161
__etc, а почему он не обьявлен? если
var star:Star=new Star; работает нормально
во втором есть такой клип и ето мовиклип...все инстанции из твоего примера я ничего не менял.. просто переместил звезду на стейдж и попытался ее назвать
както чтоб потом к ней обратиться, но выскочила ета ошыбка..
потом переташил starGraphic и назвал его somename...в конструктор Program довавил код

Код:
		var ssBar=getChildByName("somename")  as  MovieClip;
			ssBar.x+= 2;
но теперь тоже вылезла ошыбка.. то есть обратиться к екземпляру на stage никак теперь нельзя?
___________

вообщем судя по всему нелья к ним обратиться, так вот если делать через код в фрейме то работает нормально

Цитата:
Либо код в кадре, либо код в классе. Одно из двух.
ну вот в кадре меньше кода, ну и зачем собсно создавать еще один клас? тем более который создает такие ограничения..так еще и влияет на классовую структуру заменяя документ клас..я ведь и решыл то попробывать записать код к фрейм из за неохооты заменять doc.class )


Последний раз редактировалось Tfp; 08.07.2008 в 03:42.
Старый 08.07.2008, 13:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 20  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Tfp Посмотреть сообщение
__etc, а почему он не обьявлен? если
var star:Star=new Star; работает нормально
во втором есть такой клип и ето мовиклип...все инстанции из твоего примера я ничего не менял.. просто переместил звезду на стейдж и попытался ее назвать
както чтоб потом к ней обратиться, но выскочила ета ошыбка..
Необходимо отключить автоматическое декларирование свойств-ссылок на клипы на сцене и прописать в Document class ссылки вручную:

Код:
		public var pBar:MovieClip;
		
		public var star:MovieClip;
Цитата:
Сообщение от Tfp Посмотреть сообщение
Код:
		var ssBar=getChildByName("somename")  as  MovieClip;
			ssBar.x+= 2;
но теперь тоже вылезла ошыбка.. то есть обратиться к екземпляру на stage никак теперь нельзя?
Судя по коду, с чего вы взяли, что внутри Program лежит somename, если вы его на сцену вообще положили?

Цитата:
Сообщение от Tfp Посмотреть сообщение
ну вот в кадре меньше кода, ну и зачем собсно создавать еще один клас?
Код в кадре и есть часть кода Document class, вынесенная в кадр. Зачем это делать, когда можно написать все в Document class? Либо вы пишете все в классах, либо все в кадрах. Или код в кадрах без назначения своего класса, но не иначе. А так получается, что код класса раздваивается.

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:06.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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