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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 14.10.2011, 15:05
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 11  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Код AS3:
package 
{
	import flash.display.Stage
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.filters.GlowFilter;
	import flash.geom.Matrix;
	import flash.geom.Point;
 
	public class LEDmatrix extends Sprite
	{
		private var bmpd1:BitmapData;
		private var bmpd2:BitmapData;
		private var LEDobj:LED;
		private var LEDobj2:LED;
		private var w:int;
		private var h:int;
 
		public function LEDmatrix()
		{
			if(super.stage)
			{
				init();
			}
			else
			{
				// Получаем размер рабочей области
				this.addEventListener(Event.ADDED_TO_STAGE, init);
			}
 
 
 
 
		}
		public function init(e:Event = null):void
		{
			if(this.hasEventListener(Event.ADDED_TO_STAGE))
			{
				this.removeEventListener(Event.ADDED_TO_STAGE, onAdded);
			}
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			var w:int = stage.stageWidth;
			var h:int = stage.stageHeight;
			trace("размер по горизонтали = ",h, "размер по вертикали = ", w); 
			//создаем две звезды и добавляем их в список отображения
                        runProgramm();
		}
		private function runProgramm():void
		{
		// Определяем размер светодиода
			var size:Number = 3;
 
			//Зазор между светодиодами
			var LEDgap:Number = size + 6;
 
			// Определяем отступы от краев раб.обл.(слева и сверху); размер светодиода делённый надвое
			var identX:Number = size / 2;
			var identY:Number = identX;
 
			// Колличество светодиодов по горизонтали
			var LEDamtX:Number = Math.ceil(w / LEDgap);
 
			// Колличество светодиодов по вертикали
			var LEDamtY:Number = Math.ceil(h / LEDgap);
 
			LEDobj = new LED(60);//рисунок
			LEDobj.LEDlight = false;
			LEDobj.x = 200;
			LEDobj.y = 100;
			addChild(LEDobj);
 
			// Строим сетку из светодиодов:
			//сначала вертикаль
			for (var i:int=0; i<LEDamtX; i++)
			{
				//затем горизонталь
				for (var n:int=0; n<LEDamtY; n++)
				{
					//  Создаём светодиодную матрицу из заранне заготовленных мувиклипов
					var LEDobj2:LED = new LED(size);
					var xn:Number = i * LEDgap + identX;
					var yn:Number = n * LEDgap + identY;
					LEDobj2.x = xn;
					LEDobj2.y = yn;
					LEDobj2.LEDlight = false;//выключаем СВЕТОДИОДЫ
					addChild(LEDobj2);
 
 
				}
			}
 
 
			// создаем два растровых изображения
			bmpd1 = new BitmapData(stage.stageWidth,stage.stageHeight,true,0);
			bmpd2 = bmpd1.clone();
 
			// очищаем растровые изображения
			bmpd1.fillRect(bmpd1.rect, 0);
			bmpd2.fillRect(bmpd2.rect, 0);
 
			// отрисовываем каждую звезду в своем растровом изображении
			bmpd1.draw(LEDobj, new Matrix(1, 0, 0, 1, LEDobj.x, LEDobj.y));
			bmpd2.draw(LEDobj2, new Matrix(1, 0, 0, 1, LEDobj2.x, LEDobj2.y));
 
			// проверяем столкновение
			if (bmpd1.hitTest(new Point(), 255, bmpd2, new Point(), 255))
			{
				LEDobj2.graphics.clear();
				LEDobj2.LEDlight = true;// оранджевый
			}
			else
			{
				LEDobj.visible = false;
				LEDobj.LEDlight = false;// серый
			}
		}
	}
}
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

Теги
stage.stageheight , stage.stagewidth

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

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


 


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


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