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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.08.2008, 17:07
Anry_coolboy вне форума Посмотреть профиль Отправить личное сообщение для Anry_coolboy Найти все сообщения от Anry_coolboy
  № 1  
Ответить с цитированием
Anry_coolboy
 
Аватар для Anry_coolboy

Регистрация: Dec 2006
Адрес: Ukraine Lugansk
Сообщений: 188
Отправить сообщение для Anry_coolboy с помощью ICQ Отправить сообщение для Anry_coolboy с помощью Skype™
По умолчанию Можно ли как нибудь получить доступ к переменным которые находятся в кадрах?

Можно ли как нибудь получить доступ к переменным которые находятся в кадрах?

И что такое addFrameScript?
__________________
Работю в DigitalHouse

Старый 19.08.2008, 17:22
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
В кадрах, в смысле сидя на 1 кадре получить переменную со второго?
Нет, нельзя. Это так же, что и
Код:
trace (myVar); //это как первый кадр
var myVar:int=1; //пошел второй
trace(myVar);
да и вообще, в ас3 писать на кадрах? х_Х

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

Регистрация: Dec 2006
Адрес: Ukraine Lugansk
Сообщений: 188
Отправить сообщение для Anry_coolboy с помощью ICQ Отправить сообщение для Anry_coolboy с помощью Skype™
нет, находяся в первом кадре и получить переменную нужно с первого.

в кадре хочу получить доступ т.к. есть пару параметров которые относятся к определенной fla. у меня класс один, а fla которые его юзают 20.
не хочу эти два параметра выносить в xml.
__________________
Работю в DigitalHouse

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

Регистрация: Sep 2002
Сообщений: 30,787
Не пишут AS3-код в кадрах. Не пишут. А если пишут — это означает незнание AS3 в принципе.

Старый 20.08.2008, 13:53
Anry_coolboy вне форума Посмотреть профиль Отправить личное сообщение для Anry_coolboy Найти все сообщения от Anry_coolboy
  № 5  
Ответить с цитированием
Anry_coolboy
 
Аватар для Anry_coolboy

Регистрация: Dec 2006
Адрес: Ukraine Lugansk
Сообщений: 188
Отправить сообщение для Anry_coolboy с помощью ICQ Отправить сообщение для Anry_coolboy с помощью Skype™
Да согласен, я не пишу код в кадре!!!

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

Я хотел вставить одну переменную в которую записать одно число!
Есть ли способ получить доступ к коду в кадре?
__________________
Работю в DigitalHouse

Старый 20.08.2008, 14:12
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 6  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

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

Старый 20.08.2008, 14:21
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 7  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Код, который пишется на кадре, преобразуется флэшом в метод класса мувиклипа и вешается на этот кадр (при помощи того самого addFrameScript).

Поэтому можно объявить поле класса, в кадре задать ему значение (обращаясь через this, хотя и без него покатит, но я предпочитаю всегда явно это писать) и дальше делать всё что угодно.

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

__etc, я раньше тоже ни под каким предлогом не писал код в кадрах. Но когда разобрался как это работает, понял, что в некоторых случаях это вполне уместный шаг, который позволяет сэкономить кучу времени без ущерба структуре. Код в кадрах - это не абсолютное зло, просто нужно всегда чётко осознавать, когда он уместен, а когда - нет. Например, когда объём кода настолько мал, что он полностью держится в голове, и поэтому не требуется городить десятки классов и сотни строк только ради создания некой формальной структуры, с которой можно работать, изучив только интерфейс нужных кусков.
Сейчас, как я понимаю, именно такой случай, когда он уместен: один общий класс и 20 флэшек которые его используют, и все они различаются только одним параметром. Так что же, городить ещё 20 файлов-конфигов?

ramshteks, ну тогда уж лучше сразу компонент сделать
__________________
тонкий тролль, осеянный благодатью


Последний раз редактировалось Gaen; 20.08.2008 в 14:29.
Старый 20.08.2008, 16:11
Anry_coolboy вне форума Посмотреть профиль Отправить личное сообщение для Anry_coolboy Найти все сообщения от Anry_coolboy
  № 8  
Ответить с цитированием
Anry_coolboy
 
Аватар для Anry_coolboy

Регистрация: Dec 2006
Адрес: Ukraine Lugansk
Сообщений: 188
Отправить сообщение для Anry_coolboy с помощью ICQ Отправить сообщение для Anry_coolboy с помощью Skype™
ramshteks я сейчас так и начал делать, но этот способ мне очень не нравится....

GAIKER, абсолютно с вами согласен, только ни как не могу разобраться с addFrameScript, в хелпе ничего нет по нему, можете показать какой нить простой пример. :-)
__________________
Работю в DigitalHouse

Старый 20.08.2008, 18:28
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 9  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
При написании кода в кадре этот код неявным образом преобразуется в метод класса и неявным вызовом addFrameScript вешается на кадр.

Когда это раскопали, то стало ясно, что ничто не мешает сделать то же самое явно: вместо того, чтобы писать код в кадре, можно явно определить свой метод и явным вызовом addFrameScript повесить его на кадр.

Код:
package{

	import flash.display.MovieClip;
	
	public class MyClass extends MovieClip{
		
		//constructor
		public function MyClass(){
			
			super();
			
			this.addFrameScript(5, this.doSomething);
			
		}//constructor
		
		private function doSomething():void{
			
			trace("Hello, world!");
			
		}//doSomething
		
	}//class
	
}//package
ЗЫ: поимейте совесть, первая строчка в яндексе http://gorbatov.blogspot.com/2007/09...amescript.html
__________________
тонкий тролль, осеянный благодатью

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

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

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


 


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


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