связь fla и as

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: связь fla и as

Сообщение bodnar »

Это у тебя экземпляр класса Main тоже с большой буквы Main? Так не принято.

По поводу ошибки

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

Main extends MovieClip
Аватара пользователя
GrafMine
Сообщения: 24
Зарегистрирован: 11 ноя 2010, 00:05

Re: связь fla и as

Сообщение GrafMine »

bodnar писал(а):Это у тебя экземпляр класса Main тоже с большой буквы Main? Так не принято.

По поводу ошибки

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

Main extends MovieClip
Хм,в книге Колин Мука экземпляр класса VirtualZoo тоже с большой буквы...
поменял на "MovieClip" все равно,хм что же делать =))
Аватара пользователя
GrafMine
Сообщения: 24
Зарегистрирован: 11 ноя 2010, 00:05

Re: связь fla и as

Сообщение GrafMine »

Кому интересно вот рещение моей проблемы:

Main.as :

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

package {    import flash.display.Sprite;    import flash.events.Event;    import flash.geom.Point;     public class Main extends Sprite     {                public function Main():void         {            if (stage) init();            else addEventListener(Event.ADDED_TO_STAGE, init);            this.drawParallelepiped();        }                private function init(e:Event = null):void         {            removeEventListener(Event.ADDED_TO_STAGE, init);        }                private function  drawParallelepiped() : void{/** Я подумал и решил, что вдруг захочется поизменять размеры* и завел под все, что можно переменные. Это удобно, и быстрее*/var w: Number = 100; // widthvar h: Number = 50; // heightvar s: Number = 2; // scalevar px: Number = 100; // padding X; некий "отступ" по иксуvar py: Number = 50; // padding Y; /** Тут мы уже рисуем 6 четырехугольников, но не со смещенными куда-то* координатами, а такие, какие есть. А потом мы их передвинем*/var back: Sprite = this.drawTetragon(new Point(w, 0), new Point(w, h),new Point(0, h), new Point(0, 0)); // самый дальнийvar front: Sprite = this.drawTetragon(new Point(w * s, 0), new Point(w * s, h * s),new Point(0, h * s), new Point(0, 0), 0.5); // самый передний var top: Sprite = this.drawTetragon(new Point(w, 0), new Point(px + w * s, py + h),new Point(px, py + h), new Point(0, 0), 0.5); // верхняя граньvar bottom: Sprite = this.drawTetragon(new Point(w, 0), new Point(px + w * s, py + h * s),new Point(px, py + h * s), new Point(0, 0), 0.5); // нижняя грань var left: Sprite = this.drawTetragon(new Point(px, py + h), new Point(px, h + py + h * s),new Point(0, h), new Point(0, 0), 0.5); // левая граньvar right: Sprite = this.drawTetragon(new Point(px + w * s - w, py + h),new Point(px + w * s - w, h + py + h * s), new Point(0, h),new Point(0, 0), 0.5); // правая грань var parallelepiped: Sprite = new Sprite();parallelepiped.addChild(back); // самое заднее, значит низший, так сказать, слойparallelepiped.addChild(bottom); // ну и так далее по степени видимости для глазаparallelepiped.addChild(left);parallelepiped.addChild(right);parallelepiped.addChild(top); // чтоб один объект перекрывал другойparallelepiped.addChild(front); // самое переднее, значит высший, так сказать, слой bottom.y = h; front.x = px; // смещаем фронтальный куб на паддинг по иксуfront.y = h + py; // а тут на высоту тыльной стороны + на паддинг right.x = w; this.addChild(parallelepiped);} private function drawTetragon(p1: Point, p2: Point, p3: Point, p4: Point,alpha: Number = 1) : Sprite{var color: Number = Math.random() * 0xffffff; // Да, это рандом, неопределенное число// очень хорошая вещь, некоторые ею даже думают. Статическая функция random() класса// Math выдает произвольное число от нуля до единицы, на это число можно умножить все,// что угодно, хоть на 100 и получать процентную вероятность. Но мы умножаем на// максимальный цвет, 0xffffff, и получим любое число (цвет), от черного до белогоvar spr: Sprite = new Sprite();spr.graphics.lineStyle(1, 0, 1); // толщина в 1 пиксель, нулевой цвет (черный),// полностью непрозрачноеspr.graphics.beginFill(color, alpha); // начинаем закрашивать область, а там уж что// нарисуем, то и закраситсяspr.graphics.lineTo(p1.x, p1.y); // рисуем по координатам, это прикольней, мне кажетсяspr.graphics.lineTo(p2.x, p2.y);spr.graphics.lineTo(p3.x, p3.y);spr.graphics.lineTo(p4.x, p4.y);spr.graphics.endFill(); // заканчиваем закрашивать return spr; // возвращаем нарисованный спрайт}            }    }
P.S. по началу не мог понять о чем говорит bodnar ,прошло немного времени(подучился) и все стало понятно спасиб bodnar!
Ответить