Показать сообщение отдельно
Старый 31.03.2015, 02:30
DenDobriy вне форума Посмотреть профиль Отправить личное сообщение для DenDobriy Найти все сообщения от DenDobriy
  № 4  
Ответить с цитированием
DenDobriy

Регистрация: Dec 2013
Сообщений: 35
Спасибо, callme.
В AIR работает без проблем
Код AS3:
import flash.display.NativeWindow;
import flash.events.Event;
 
 
stage.addEventListener(KeyboardEvent.KEY_DOWN,fn_KeyDown);
function fn_KeyDown(event:KeyboardEvent)
{
	trace(event.keyCode);
if(event.keyCode==27) 
{
stage.nativeWindow.bounds = new Rectangle(1920/2-500,1080/2-500, 1000, 1000);
}
if(event.keyCode==32) 
{
stage.nativeWindow.bounds = new Rectangle(1920/2-250, 1080/2-250, 500, 500);
}
}
Добавлено через 46 часов 37 минут
как выяснилось,не все так просто(
Почему-то работает не так как надо
Если через stage.addEventListener ловить клавиатуру в полноэкранном режиме, на нажатия клавиатуры срабатывает только после выхода из полноэкранного режима кнопкой esc.
Если через NativeApplication.nativeApplication.addEventListener,то вообще непонятно как работает
Код AS3:
package 
{
	import flash.system.fscommand;
	import flash.display.MovieClip;
	import flash.display.StageScaleMode;
	import flash.display.StageDisplayState;
	import flash.display.Stage;
	import flash.events.Event;
	import flash.utils.Timer;
	import flash.events.KeyboardEvent;
	import flash.events.TimerEvent;
	import flash.net.FileFilter;
	import flash.filters.GlowFilter;
	import flash.filters.BlurFilter;
	import flash.display.NativeWindow;
	import flash.geom.Rectangle;
	import flash.desktop.NativeApplication;
	import flash.ui.Keyboard;
 
 
 
 
	public class Main extends MovieClip
	{
		private var level_1:Boolean = false;
		private var start_game:Boolean = false;
		var main_hero:hero_level_1 = new hero_level_1  ;// загрузка героя уровень 1
		var background_animation:move_picture_bg = new move_picture_bg  ;// загрузка активного фона уровень 1
		var light_glow:mc_glow = new mc_glow  ;
		//фильтры главного героя
		private var filtersArray_main_hero:Array = main_hero.filters;
		private var my_glowFilter_main_hero:GlowFilter = new GlowFilter(0xFFFFFF,1.0,10,10,1,1,false,false);
		private var my_blurFilter_main_hero:BlurFilter = new BlurFilter(20,20,1);
		//фильтры для фонового свечения
		private var filtersArray_lightGlow:Array = light_glow.filters;
		private var my_glowFilter_lightGlow:GlowFilter = new GlowFilter(0xFFFFFF,1.0,500,500,50,1,true,false);
		private var my_blurFilter_lightGlow:BlurFilter = new BlurFilter(100,100,1);
 
		public function Main ()
		{
			addEventListener (Event.ENTER_FRAME,fn_init);
			filtersArray_lightGlow.push (my_glowFilter_lightGlow,my_blurFilter_lightGlow);
			light_glow.filters = filtersArray_lightGlow;
			light_glow.alpha = 0.5;
			light_glow.x = 1650;
			light_glow.y = 550;
			light_glow.scaleX = light_glow.scaleY = 0.9;
			addChild (light_glow);
		}
		//
		private function fn_init (event:Event):void
		{
			removeEventListener (Event.ENTER_FRAME,fn_init);
			seting_scrin ();
			//
			stage.addEventListener (KeyboardEvent.KEY_DOWN,keyDownHandler);
			stage.addEventListener (Event.ENTER_FRAME,fn_load_level);
			function fn_load_level (e:Event)
			{
				removeEventListener (Event.ENTER_FRAME,fn_load_level);
				//
				start_game = true;
				//
				if (currentScene.name == "level_1" && level_1 == false)
				{
					level_1 = true;
					filtersArray_main_hero.push (my_glowFilter_main_hero,my_blurFilter_main_hero);
					main_hero.filters = filtersArray_main_hero;
					addChild (main_hero);
					main_hero.x = 940;
					main_hero.y = 500;
					addChildAt (background_animation,0);
				}
				else
				{
					return;
				}
			}
		}
		//
		private function seting_scrin ():void
		{
			stage.displayState = StageDisplayState.FULL_SCREEN;
			stage.scaleMode = StageScaleMode.NO_SCALE;
		}
 
		private function keyDownHandler (event:KeyboardEvent):void
		{
			removeEventListener (KeyboardEvent.KEY_DOWN,keyDownHandler);
			//
			if (event.keyCode == 32)
			{
				gotoAndStop (1,"level_1");// тестовый переход к уровню
			}
			//
			if (event.keyCode == 27)
			{
				stage.nativeWindow.bounds = new Rectangle(1920/2-250,1080/2-250, 500, 500);
				gotoAndStop(1,"quit_menu");
			}
 
		}
		//
		private function fn_move_elements ():void
		{
 
		}
		//
	}
}