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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.03.2010, 17:28
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 11  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от tkaChuck Посмотреть сообщение
2Zebestov: да вот как раз пытался. но не могу до конца освободиться от идеологии AS1/AS2. я сделал класс, и этот массив теперь свойство класса. далее я создаю экземляр этого класса В STAGE, потому что где же еще, и имею 1119: Access of possibly undefined property through a reference with static type. хорошо, наверно в stage ничего класть не принято, а тогда ГДЕ ЭТОТ ОБЪЕКТ СОЗДАВАТЬ?
нигде =) в этом и прелесть статических свойств и методов — для обращения к ним не нужно создавать экземпляр класса.
как я уже написал, вызов происходит так: MyArray.a
и все, никаких там new MyArray() и т.д.
__________________
Поймай яблоко 2!

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
Цитата:
так я делаю в API разных модулей для Obi и ему подобных
А так делают остальные:
Код AS3:
var needEmptyArray:Boolean = true;
var a2:Array;
 
if(stage) {
   a2 = (stage as MovieClip).a1;
} else if(needEmptyArray){
   a2 = new Array();
}
__________________
#flasher@irc.trg.ru:6667

Старый 07.03.2010, 17:13
tkaChuck вне форума Посмотреть профиль Отправить личное сообщение для tkaChuck Найти все сообщения от tkaChuck
  № 13  
Ответить с цитированием
tkaChuck

Регистрация: Nov 2005
Сообщений: 48
ух ты, AS поддерживает " ? : ". многие годы я пытался забыть об этом кошмаре)


2Obi: (stage as MovieClip) это первое что приходит в голову. я не знал или так можно, но признаться честно, с этого я начал. не хочет. приводит к известию о том, что TypeError: Error #1009: Cannot access a property or method of a null object reference. это я обращаюсь к нему когда Event.ADDED или Event.ADDED_TO_STAGE. stage есть, массива там нет. null. а из стейджа трейсится массив. вот такая штука.

2Zebestov: как нигде? а где тогда? ээ. ну вот смотрите.. я не знаю как объяснить это проще. я этот массив делаю из файла, а этот файл я парсю. вот этими вот руками). изображаю галерею по мотивам этого массива. можно ввести секретное слово и все там редактить. ну тоесть, есть у меня в руте массив и юзер перемещается по разным кадрам. в одном кадре грубо говоря один интерфейс, в другом - другой! потом юзер нажимает на кнопку сабмит. в этот момент он перемещается в кадр с надписью "please wait" и происходит аплоад всех файлов которые он решил добавить и того файла с базой, из которого мы делали массив в начале этой истории.
то есть я просто не знаю как это записывается, чтоб в руте лежало и все его могли. поскольку к массиву никак нет доступа, видно я не понимаю чего то так сказать ключевого. что вы думаете по этому поводу?

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

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
можно еще раз, только более на понятном русском(отредактируйте сообщение, а то каша какая - то)?

Старый 07.03.2010, 17:38
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 15  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код AS3:
stage as MovieClip
Внезапно (Ц) стейдж окажется мувиклипом!
__________________
Hell is the possibility of sanity

Старый 07.03.2010, 17:45
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 16  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
2tkaChuck: я тут повспоминал русский... ну никак проще не могу описать, что значит "нигде" =) нигде — это буквально... хм...

создаем класс:
Код AS3:
public class MyArrayKeeper extends Object
{
	static public var myGlobalArray:Array = [];
	public function MyArrayKeeper():void
	{
	}
}
а в своем основном коде и в любом вспомогательном классе, который тоже будет оперировать с этим массивом, просто вверху в толпу импортов втули еще этот:

Код AS3:
import MyArayKeeper;
и все! и нигде не создавай никаких экземпляров этого класса (сделай усилие над собой, разберись со словами "нигде" и "никаких")

а чтобы работать с массивом, пиши так:
Код AS3:
MyArrayKeeper.myGlobalArray.push('тулим очередной элемент');
trace(MyArrayKeeper.myGlobalArray[0]);
и т.д.
__________________
Поймай яблоко 2!

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Как бы если вам просто нужно куда-то выложить массив, не создавая для этого дополнительный класс:
Код AS3:
package my.domain.project.library
{
    public const ARRAY:Array/*int*/ = [];
}
Пользоваться:
Код AS3:
package my.domain.project.anotherLibrary
{
    import my.domain.project.library.ARRAY;
    public class ArrayTester
    {
         public function ArrayTester()
         {
         super();
         ARRAY.push(100);
         trace(ARRAY);
         }
    }
}
__________________
Hell is the possibility of sanity

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Как бы если вам просто нужно куда-то выложить массив, не создавая для этого дополнительный класс:
Код AS3:
package my.domain.project.library
{
    public const ARRAY:Array/*int*/ = [];
}
у меня почему-то щас флэшовый компилятор (CS3) не пропускает такое... только функция объявлена, но разницы не должно быть..
а раньше, помнится работало что-то подобное
__________________
freelance | Раздор

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
SDK4 вторая бета - компилируется нормально.
__________________
Hell is the possibility of sanity

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Код AS3:
stage as MovieClip
Внезапно (Ц) стейдж окажется мувиклипом!
Но кастуется же) Хотя к Stage я бы кастовал.

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

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

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


 


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


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