Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.06.2011, 22:50
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 1  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
По умолчанию 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);
 
		}
 
	}
 
}
Если кто-то соблаговолит попробовать скомпилировать у себя - там строятся внутренний и внешний многоугольники (точнее только их вершины), а из этих точек должны строится стреугольники.


Последний раз редактировалось Vilya21; 21.06.2011 в 22:53.
Старый 21.06.2011, 23:00
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 2  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Код AS3:
for (i = 1; i < tempArray.length; i + triangleWidth) {
	arrDot3.push(tempArray[i]);
}
Ну-ну.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 21.06.2011, 23:09
Vilya21 вне форума Посмотреть профиль Отправить личное сообщение для Vilya21 Найти все сообщения от Vilya21
  № 3  
Ответить с цитированием
Vilya21

Регистрация: Aug 2009
Сообщений: 75
Я не могу в это поверить, почему нельзя.... i + triangleWidth =(

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

Старый 21.06.2011, 23:44
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
почему нельзя.... i + triangleWidth
Потому что это выражение не меняет значение итератора. Возможно имелось ввиду
Код AS3:
i += triangleWidth
?
__________________
Reality.getBounds(this);

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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