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

Juice_Green 20.01.2006 10:22

как из объекта который находится в классе...
 
всем привет, такой вопрос....
есть класс1, в этом классе1 есть массив - в котором находяться объекты другого класса2. Как вызывая метод класса2 обратится к свойствам или методам класса1.
Можно ли обратиться как то системно (что то вида parent.blabla) или надо передавать ссылку класса1 в класс2?

Nirth 20.01.2006 13:14

Цитата:

массив - в котором находяться объекты другого класса2
это как? ссылки на поля класса, или просто этим массивом пользуеться другой класс?.
Цитата:

Как вызывая метод класса2 обратится к свойствам или методам класса1.
эм ну не знаю, если классы дочерние от мувиклипа можно и через путь(_parent.blahblahblah ) правда не считаю это правильным.
если массив одинаковый, то можно сделать его статичным(static)
если нет, то через ссылку.

Juice_Green 20.01.2006 13:34

нет массив не одинаковый ...
для примера есть класс кнопка

Код:

class btn {
....
function myfunc(){
  //здесь надо обратиться к свойсту класса board
  }
}

есть класс клавиатура, который состоит из объектов кнопок

Код:

class board{
private var key_array:Array=null;
function board(){
  for (var i=0; i<10; i++) {
      var tmp_btn:btn = new btn();
      key_array[i] = tmp_btn;
      }
  }
}

теперь надеюсь вопрос понятен более менее

Dimchansky 20.01.2006 15:31

Цитата:

Сообщение от Juice_Green
Код:

class btn {
static var boards:Array;
....
function myfunc(){
  //здесь надо обратиться к свойсту класса board -- ????? если именно к свойству класса - то только к статическому. Иначе к методу или св-ву объекта-экземпляра класса.
  ...
  boards[i].somePublicMethod();

  }
}

есть класс клавиатура, который состоит из объектов кнопок

Код:

class board{
function board(){
  btn.boards.push(this);
}
}

теперь надеюсь вопрос понятен более менее

либо ссылками на объекты-экземпляры класса в глобале, что не есть гуд

silin 20.01.2006 16:23

ага, тока неясно к какому из boards[i] обращаться..
упрощенный рсклад (если экземпляры Btn создаются в Board):
отдаем ссылку конструктору вот и будет parent.blabla..
Код:

class Board{
        var key_array : Array = [];
        private var blabla='блабла';
        function Board (){
                for (var i = 0; i < 10; i ++)                {
                        var tmp_btn : Btn = new Btn (this);
                        key_array [i] = tmp_btn;
                }
        }
}
///////////////////////
class Btn {
        private var parent;
        function Btn(p){
                parent=p;
        }
        function myfunc(){
                trace(parent.blabla);
        }
}
//////////////
var board = new Board();
board.key_array[1].myfunc();//блабла


Juice_Green 23.01.2006 07:36

to silin:
тоже была такая мысль, но сначала казалось что можно сделать как то проще ... что ж придется делать так, ибо другого выхода просто нет ...


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

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