Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Compile OK, но FP не открывается в FD (http://www.flasher.ru/forum/showthread.php?t=158633)

Vilya21 21.06.2011 22:50

Compile OK, но FP не открывается в FD
 
Надеюсь название темы отразило суть вопроса =).

Пишу значит в FD, компилирую - Build Succeed, но окошко Flash Player'a не вылазит, он начинает грузить проц, кушать всё больше оперативы (до 900 мб), но так зараза и не открывается.

Всего один класс.

Код AS3:

package 
{
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.geom.Vector3D;
 
        /**
        * ...
        * @author Vilya
        */

        public class Main extends Sprite {
 
                private var canvas:MovieClip = new MovieClip();
                private var i:int;
                private var xx:int;
                private var yy:int;
                private var r:int;
 
                private var arrDot1:Array = new Array(); // Внутрення точка
                private var arrDot2:Array = new Array(); // Первая точка (по часовой)
                private var arrDot3:Array = new Array(); // Вторая точка (по часовой)
                private var triangleWidth:int = 3; // Ширина треугольника в точках
 
                public function Main():void {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        // entry point
 
                        //Внутренний многоугольник
                        var n:int = 3; //Сколькоугольник
                        r = 30;
                        for (var i:int = 0; i <= n-1; i++) {
                                xx = 300 + r * Math.cos(2 * Math.PI * i / n);
                                yy = 300 + r * Math.sin(2 * Math.PI * i / n);
                                arrDot1.push(new Vector3D(xx, yy));
 
                                canvas.graphics.beginFill(0xFF0000, 1);
                                if (i == 0) { canvas.graphics.beginFill(0x00FF00, 1); };
                                canvas.graphics.drawRect(xx, yy, 3, 3);
                                canvas.graphics.endFill();
                        }
 
 
                        //Внешний многоугольник
                        n = n * triangleWidth; //Сколькоугольник
                        r = 200;
                        var tempArray:Array = new Array();
                        for (i = 0; i <= n-1; i++) {
                                xx = 300 + r * Math.cos(2 * Math.PI * i / n);
                                yy = 300 + r * Math.sin(2 * Math.PI * i / n);
                                tempArray.push(new Vector3D(xx, yy));
 
                                canvas.graphics.beginFill(0xFF0000, 1);
                                if (i == 0) { canvas.graphics.beginFill(0x00FF00, 1); };
                                canvas.graphics.drawRect(xx, yy, 3, 3);
                                canvas.graphics.endFill();
                        }
 
                        //Поиск точек внешней окружности, которые образуют треугольники
 
                        arrDot2.push(tempArray[tempArray.length - 1]); //Последняя точка внешней окружности - это первая точка для первого треугольника
 
                        //Беда где-то в обьявлении этих двух циклов
                        for (i = 2; i < tempArray.length - 1; i + triangleWidth) {
                                arrDot2.push(tempArray[i]);
                        }
 
                        for (i = 1; i < tempArray.length; i + triangleWidth) {
                                arrDot3.push(tempArray[i]);
                        }
 
                        //Построение треугольников
 
                        for (i = 0; i < arrDot1.length; i++) {
 
                                canvas.graphics.lineStyle(1, 0xFF0000);
                                canvas.graphics.beginFill(0xFF0000, 1);
 
                                canvas.graphics.moveTo(arrDot2[i].x, arrDot2[i].y);
                                canvas.graphics.lineTo(arrDot1[i].x, arrDot1[i].y);
 
                                canvas.graphics.moveTo(arrDot3[i].x, arrDot3[i].y);
                                canvas.graphics.lineTo(arrDot2[i].x, arrDot2[i].y);
 
                                canvas.graphics.moveTo(arrDot1[i].x, arrDot1[i].y);
                                canvas.graphics.lineTo(arrDot3[i].x, arrDot3[i].y);
 
                                canvas.graphics.endFill();
 
                        }
 
                        addChild(canvas);
 
                }
 
        }
 
}

Если кто-то соблаговолит попробовать скомпилировать у себя - там строятся внутренний и внешний многоугольники (точнее только их вершины), а из этих точек должны строится стреугольники.

Crazy 21.06.2011 23:00

Код AS3:

for (i = 1; i < tempArray.length; i + triangleWidth) {
        arrDot3.push(tempArray[i]);
}

Ну-ну.

Vilya21 21.06.2011 23:09

Я не могу в это поверить, почему нельзя.... i + triangleWidth =(

Спасибо за ответ.

Wolsh 21.06.2011 23:44

Цитата:

почему нельзя.... i + triangleWidth
Потому что это выражение не меняет значение итератора. Возможно имелось ввиду
Код AS3:

i += triangleWidth

?


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

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