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

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

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

Регистрация: Jan 2007
Сообщений: 302
Cool Некорректная работа Roll_over/out в switch(event.target) - где ошыбка?

Создаю три кнопки, вешаю на кнопки лейбл, потом засовую лейбл и кнопку в отдельный Спрайт. Потом на контейнере типа спрайт делаю события Roll_over/out первая кнопка функционирует нормально, вторая, дает чуток большее масштабирование, а третья еще большее. И еще если навести курсором чуток на край кнопки, она начинает бешено мигать, - будто на нее наводят мышкой 20 раз в скунду. Ну.. вы понимаете о чем я.

Надесь на вашу подсказку. Спасибо.

Код AS3:
package {
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFormat;
 
 
	public class MainScreen extends Sprite{
 
		public var Btn1:mcMenuButton = new mcMenuButton();
		public var Btn2:mcMenuButton = new mcMenuButton();
		public var Btn3:mcMenuButton = new mcMenuButton();
		public var btn_Box1:Sprite = new Sprite();
		public var btn_Box2:Sprite = new Sprite();
		public var btn_Box3:Sprite = new Sprite();
		public var format:TextFormat = new TextFormat("Tahoma",30, 0xFF0000);
 
//-----------------------------------------------------------
 
		public function MainScreen (){
 
			lobbyBtn();
			optBtn();
			exitBtn();
		}
 
//-----------------------------------------------------------
 
		public function crLabel(pos_x:uint, pos_y:uint, nam:String):TextField{
 
			var label_Btn:TextField = new TextField();
			label_Btn.width = 150;
			label_Btn.height = 35;
			label_Btn.x = pos_x;
			label_Btn.y = pos_y;
			label_Btn.text = nam;
 
			label_Btn.setTextFormat(format);
 
			return label_Btn;
		}
 
//-----------------------------------------------------------
 
		public function lobbyBtn(){
 
			var lab:TextField = crLabel(37,70,"LOBBY");
 
			Btn1.x = 10;
			Btn1.y = 12;
 
			btn_Box1.addChild(Btn1);
			btn_Box1.addChild(lab);
			addChild(btn_Box1);
 
			btn_Box1.addEventListener(MouseEvent.ROLL_OVER, over_Btn);
			btn_Box1.addEventListener(MouseEvent.ROLL_OUT, out_Btn);
		}
 
//-----------------------------------------------------------
 
		public function optBtn(){
 
			var lab:TextField = crLabel(15,225,"OPTIONEN");
 
			Btn2.x = 15;
			Btn2.y = 175;
 
			btn_Box2.addChild(Btn2);
			btn_Box2.addChild(lab);
			addChild(btn_Box2);
 
			btn_Box2.addEventListener(MouseEvent.ROLL_OVER, over_Btn);
			btn_Box2.addEventListener(MouseEvent.ROLL_OUT, out_Btn);
		}
 
//-----------------------------------------------------------
 
		public function exitBtn(){
 
			var lab:TextField = crLabel(65,390,"EXIT");			
 
			Btn3.x = 20;
			Btn3.y = 337;
 
			btn_Box3.addChild(Btn3);
			btn_Box3.addChild(lab);
			addChild(btn_Box3);
 
			btn_Box3.addEventListener(MouseEvent.ROLL_OVER, over_Btn);
			btn_Box3.addEventListener(MouseEvent.ROLL_OUT, out_Btn);
		}
 
//-----------------------------------------------------------
 
			private function over_Btn(event:MouseEvent) : void { 
 
  				switch (event.target) {
 
   					case btn_Box1: {
    					btn_Box1.scaleX = 1.1;
						btn_Box1.scaleY = 1.1;
						btn_Box1.buttonMode = true;
						btn_Box1.mouseChildren = false;
					} break;
 
   					case btn_Box2: {
    					btn_Box2.scaleX = 1.1;
						btn_Box2.scaleY = 1.1;
						btn_Box2.buttonMode = true;
						btn_Box2.mouseChildren = false;
					} break;
 
	   				case btn_Box3: {
    					btn_Box3.scaleX = 1.1;
						btn_Box3.scaleY = 1.1;
						btn_Box3.buttonMode = true;
						btn_Box3.mouseChildren = false;
					} break;
  				}
 			}
 
//-----------------------------------------------------------
 
			private function out_Btn(event:MouseEvent) : void { 
 
  				switch (event.target) {
 
   					case btn_Box1: {
    					btn_Box1.scaleX = 1.0;
						btn_Box1.scaleY = 1.0;
						btn_Box1.buttonMode = true;
						btn_Box1.mouseChildren = false;
					} break;
 
   					case btn_Box2: {
    					btn_Box2.scaleX = 1.0;
						btn_Box2.scaleY = 1.0;
						btn_Box2.buttonMode = true;
						btn_Box2.mouseChildren = false;
					} break;
 
	   				case btn_Box3: {
    					btn_Box3.scaleX = 1.0;
						btn_Box3.scaleY = 1.0;
						btn_Box3.buttonMode = true;
						btn_Box3.mouseChildren = false;
					} break;
  				}
 			}
	}
}

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

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

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


 


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


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