Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите разобраться... (http://www.flasher.ru/forum/showthread.php?t=71669)

RomaFS 10.11.2005 17:49

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

1 Как полностью избавиться от возникающего (при проигрывании Flash player 7) при нажатии правой кнопки контекстного меню? При возникновении оно делает неактивным и всю рабочую область.
Функция Stage.showMenu=false; не решает проблему(в меню остаются строки Settings Debugger).
2 Во время проигрывания проекта при нажатии кнопки мы создаём некоторый MovieClip из библиотеки. Сам MovieClip имеет программный код( и переменные созданные мною). Однако ни какими способами у меня не получилось присвоить этой переменной значение. Комбинации с _root[] не помогают... И остальные тоже...

ПОЖАЛУЙСТА, помогите решить проблемы!

RomaFS 10.11.2005 19:19

Текст первого кадра :
"var lands=new Array();
lands.push('land1');lands.push('land2');lands.push('b1');lands.push('b2');
n=0;
var units=new Array();
var checked=new Array();"
Текст кнопки:
"on(press){n+=1;
var tcreateposx=50; tcreateposy=50; tcreatename='tank'+n;
attachMovie('tank','tank'+n,n);
lands.push('tank'+n);
units.push('tank'+n);
}
Текст мувиклипа Actions (просто для выполнения действий):
"onClipEvent(enterFrame){
if(Key.isDown(2)){
for(i=0;i<_root['checked'].length;i++){

//Мне нужно в каждом мувиклипе массива checked параметр nposx (создан мною, используется в тексте мувиклипов) присвоить определенное значение (например 1000)


}
}
}"

aksios 11.11.2005 11:23

1. Посмотри мой тестовый пример
- что то из JS может работать.
2. А ты не пробовал свою переменную указать как _global?

RomaFS 11.11.2005 17:25

Каждый элемент tank1..n должен иметь свою переменную nposx.
Мне подсказали:
_level0.tank1.<<instance?>>.nposx=100
А как узнать номер инстанции? Для переменных по умолчанию работает такой способ:
_level0.tank1._x=100 , а для созданных - нет.

P.S. на ссылочку не заходит...

Madasan 11.11.2005 17:59

Цитата:

Комбинации с _root[] не помогают...
Как не помогают? :confused:
Код:

_root.checked = new Array(); 
_root.attachMovie('MyButton', 'MyButton', 500);  n = 0; 
MyButton.onPress = function() {
        _root.attachMovie('MyClip', 'MyClip'+n, n); 
        checked.push(_root['MyClip'+n]);         
        _root['MyClip'+n].nposx = 0;
          n += 1; 
};
 _root.createEmptyMovieClip('MyActions', 510); 
_root.MyActions.onEnterFrame = function() {
          if (Key.isDown(Key.ENTER)) {
                  for (i=0; i<_root.checked.length; i++) {
                          _root.checked[i].nposx = 1000+i;
                          trace(_root['MyClip'+i].nposx);
                  }
  } 
};


RomaFS 12.11.2005 00:19

Записи
_root.tank1.nposx, _root.checked.length и _root['tank1'].nposx, root['checked'].length имеют одинаковые значения?

Madasan 12.11.2005 03:34

Совершенно верно.
_root.tank1.nposx - обращение к вложенным объектам(клипам и т.п.) а также свойствам и методам этих объектов.
_root['tank1'].nposx - представление объектов как ассоциативных массивов, где 'tank1' - индекс элемента массива, т.е вложенного объекта, который может быть как клипом, так и другим массивом.

RomaFS 12.11.2005 13:22

Я разобрался в своей проге: вся проблема в том, что у меня мувиклип tank1 находится в мувиклипе tank1! _root.tank1.tank1.nposx=100; Это достаточно неудобно. А вообще можно ли создавать мувиклипы с программным кодом, не создавая вложенных мувиклипов? А то при insert/symbol/movieclip нельзя писать код. И только после преобразования его в ещё один мувиклип можно писать код!

Madasan 13.11.2005 12:27

Цитата:

А то при insert/symbol/movieclip нельзя писать код. И только после преобразования его в ещё один мувиклип можно писать код!
Какое-то очевидное невероятное! Не понятно о чем речь. :confused:

Nirth 13.11.2005 15:03

Закрыто - причина: читать правила тысячу раз, и называть топики осмысленно


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

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