Как записать объекты

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Как записать объекты

Сообщение MrDead »

Код: Выделить всё

public function createplatform():void        {            for (var i:uint=0; i<platform.length; i++)        {         for (var j:uint=0; j<platform[i].length; j++)         {          if (platform[i][j] > 0)          {           platforma = new Platforming;          platforma.width = platforma_width;          platforma.height = platforma_height;          platforma.x = j * size;           platforma.y = i * size;          platforma.gotoAndStop(platform[i][j]);          addChild(platforma);
По массиву создаются объекты класса Platforming. В каком виде они записываются? Или как их записать так, чтобы можно было в дальнейшем работать с этими объектами? Всего их создается около 8шт, мне нужно сделать так, чтобы они двигались, по нажатию на кнопку например
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Как записать объекты

Сообщение alexandr_ratush »

Что вы имеете ввиду под "в дальнейшем работать с ними"?
Вы можете добавить эти объекты в массив, и в нужный момент в цикле перебирать их.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Как записать объекты

Сообщение MrDead »

Как мне их в массив добавить?

Код: Выделить всё

public function createplatform():void        {            for (var i:uint=0; i<platform.length; i++)       {        for (var j:uint=0; j<platform[i].length; j++)        {         if (platform[i][j] > 0)         {         platformobj_1.push(platforma);          platforma = new Platforming;          platforma.width = platforma_width;          platforma.height = platforma_height;          platforma.x = j * size;          platforma.y = i * size;          platforma.gotoAndStop(platform[i][j]);          addChild(platforma);
Вроде добавились, но когда я перебираю, чтобы сделать движение

Код: Выделить всё

public function goPlatform(e:Event):void        {            if (left_press_platform)            {            for (var i:uint = 0; i < platformobj_1.length; i++)             {                for (var j:uint = 0; j < platformobj_1.length; j++)             {                            platformobj_1[i][j].x -= speed_platform;
Всё зависает и выдаёт
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference.
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Как записать объекты

Сообщение alexandr_ratush »

1. Тут ошибка, потому что вы добавляете еще не созданный объект. Поменяйте 9 и 10 строчку местами.

Код: Выделить всё

platforma = new Platforming();platformobj_1.push(platforma);
2. А вы уверены что ваш массив platformobj_1 двумерный? Уберите в методе goPlatform один цикл, и должно заработать.

Код: Выделить всё

var len:int = platformobj_1.length;for (var i:uint = 0; i < len; i++){    platformobj_1[i].x -= speed_platform;}
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Как записать объекты

Сообщение MrDead »

Спасибо. Действительно помогло.
Все разобрался) Спасибо большое, очень помогло!
Ответить