Используем flash IDE как редактор уровней, способ 2.

govnoproger.ru > as3 > Используем flash IDE как редактор уровней, способ 2.

Итак снова та-же легенда:
У нас есть два мувиклипа. У первого класс Box, у второго Ground.

Создаём уровень накидывая объекты. Готовый уровень загоняем в мувиклип – Level1.
Задача обработать всё это дело.

Здесь я описал довольно легкий способ. В описанном способе используется цикл для перебора объектов.

Итак, я предлагаю способ вообще без лишнего кода в основном классе, код будет в классах Box и Ground.
Всё сработает тк в конструкторе объектов будет код.

Итак код класса Ground:

package  
{
	import flash.display.*; // Смело пихайте всё в импорт, то что не нужно все-равно не будет включено!
	import flash.events.*;
	import flash.utils.*;
	import flash.ui.*;
	import nape.util.*;
	import nape.space.*;
	import nape.phys.*;
	import nape.shape.*;
	import nape.geom.*;
	import nape.callbacks.*;
	import nape.dynamics.*;
	import nape.constraint.*;
	
	
	public class Ground extends MovieClip 
	{
		public function Ground() 
		{
			addEventListener(Event.ADDED_TO_STAGE,added);
		}
		
		private function added(e)
		{
			removeEventListener(Event.ADDED_TO_STAGE,added);
			 var Box=new Body(BodyType.STATIC);
			 var poly=new Polygon(Polygon.rect(-width/2, -height/2, width, height));
			 Box.position.setxy(x,y);
			 Box.shapes.add(poly);
			 Box.graphic=this;
			 Box.space=Main.space;
		}
	}
	
}

Итак Давай-те рассмотрим. В конструкторе у нас событие — ждёт пока объект ляжет на stage, это сделано чтобы избежать ошибок.

Неважно используете ли вы для примера Nape или нет, но если вы скомпилите таким способом код, скорее всего у вас будет ошибка в строке типа Box.space=Main.space; в которой мы обращаемся к основному классу.

Ground.as, Line 32	1119: Access of possibly undefined property space through a reference with static type Class.

Чтобы её избежать, переменная space должна быть public static var.

Рекомендую:

5.8.2011 | последняя редакция: 05.08.2011 |
  1. Сергей
    5.8.2011 в 19:05

    Вродь ничё так вариант

  2. Сергей
    6.8.2011 в 14:23

    Выручи ) Может подскажешь как сделать так, чтобы текст внутри текстового поля, созданного в AS3 автоматически переносился (а не исчезал за пределами) при достижении краёв этого текстового поля? Я так понимаю это либо реализуется ограничением длины строки в пикселях, либо в символах, либо вообще этим может управлять AS3 полностью и просто есть какое-то Boolean значение отвечающее за это.

  3. Сергей
    6.8.2011 в 14:53

    Йиха! Нашёл, это свойство wordWrap.

  4. Сергей
    8.8.2011 в 10:40

    У тебя с вылетами Flah’а проблемы остались? Я раньше активно не использовал его возможности рисования, а теперь попробовал и после нескольких нажатий ctrl+z он у меня вылетел с ошибкой.

  5. admin
    8.8.2011 в 11:57

    Я пока сильно не рисовал. Недавно обновил до cs 5,5

  6. Сергей
    8.8.2011 в 18:35

    Кстати это я про CS5.5 говорил, у меня он… Ясно