Страница 1 из 1
Как записать объекты
Добавлено: 15 мар 2014, 17:33
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шт, мне нужно сделать так, чтобы они двигались, по нажатию на кнопку например
Re: Как записать объекты
Добавлено: 15 мар 2014, 18:54
alexandr_ratush
Что вы имеете ввиду под "в дальнейшем работать с ними"?
Вы можете добавить эти объекты в массив, и в нужный момент в цикле перебирать их.
Re: Как записать объекты
Добавлено: 15 мар 2014, 19:19
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.
Re: Как записать объекты
Добавлено: 15 мар 2014, 21:30
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;}
Re: Как записать объекты
Добавлено: 15 мар 2014, 21:55
MrDead
Спасибо. Действительно помогло.
Все разобрался) Спасибо большое, очень помогло!