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

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

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

Регистрация: Jan 2007
Сообщений: 302
Tools button mode cursor hand над TextField

Здравствуйте..
Пишу лейбл(название кнопки) с помощью TextField
но при наведении на TextField курсор не меняется, подскажите как поменять курсор при наведении на TextField.

спасибо.

Вот код как я делаю

Main.as
Код AS3:
package {
 
	import flash.display.*;
	import flash.events.*;
	import buttons;
 
	public class Main extends Sprite{
 
		public var cButt:Sprite = new Sprite();
 
		public function Main(){
 
			this.addChild(cDrop);
			cDrop.addChild(dro);
 
			if(stage) init();
				else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void {
 
			removeEventListener(Event.ADDED_TO_STAGE, init);
 
			this.addChild(cButt);
			cButt.buttonMode = true;
   			cButt.useHandCursor = true;
 
			var btn1:buttons = new buttons("Back");
				btn1.x = 10;
				btn1.y = 320;
 
				btn1.addEventListener(MouseEvent.MOUSE_DOWN, b.b_back);
 
			var btn2:buttons = new buttons("Next");
				btn2.x = 388;
				btn2.y = 320;
				btn2.addEventListener(MouseEvent.MOUSE_DOWN, b.b_next);
 
 
			cButt.addChild(btn1);
			cButt.addChild(btn2);
 
		}
	}
}
Buttons.as

Код AS3:
package{
 
	import flash.display.*;
	import flash.events.MouseEvent;
	import flash.geom.*;
	import flash.text.TextField;
 
	public class buttons extends Sprite {
 
		private var labelFld:TextField;
 
		public function buttons (labelText:String) {
 
			labelFld = new TextField;
			labelFld.selectable = false;
			labelFld.textColor = 0xFFFFFF;
			labelFld.width = 30;
			labelFld.height = 18;
			labelFld.x = 27;
			labelFld.y = 2;
			labelFld.text = labelText;
			addChild(labelFld);
 
 
			addEventListener(MouseEvent.ROLL_OVER, onOver);
			addEventListener(MouseEvent.ROLL_OUT, onOut);
			onOut(null);
		}
}
}

Старый 08.12.2009, 02:07
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 2  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Код AS3:
cButt.mouseChildren = false;

Старый 08.12.2009, 02:26
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 3  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
работает, но пропало свойство при наведении мышью, тоисть курсор рука появляется на всей области кнопки, но она например не меняет цвет при наведении, как это должно быть...

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

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Можно создать для каждой кнопки отдельный контейнер и подписать его на события наведения мыши

Старый 08.12.2009, 02:38
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 5  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
А по другому никак? У меня просто 3 кнопки будет, я их хотел всех в один контейнер загружать.
Все таки нужно еще создавать контейнеры для каждой кнопки отдельно, тогда должно работать?

Старый 08.12.2009, 02:43
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 6  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Вообще говоря, у вас уже есть контейнер - это ваш
Код AS3:
public class buttons extends Sprite {
для него ставите
Код AS3:
super.buttonMode = true;
super.useHandCursor = true;
super.mouseChildren = false;
И экземпляры этого класса подписываете на события, прямо как у вас и есть сейчас

Код AS3:
package{
 
	import flash.display.*;
	import flash.events.MouseEvent;
	import flash.geom.*;
	import flash.text.TextField;
 
	public class buttons extends Sprite {
 
		private var labelFld:TextField;
 
		public function buttons (labelText:String) {
 
 
			super.buttonMode = true;
			super.useHandCursor = true;
			super.mouseChildren = false;
 
			labelFld = new TextField;
			labelFld.selectable = false;
			labelFld.textColor = 0xFFFFFF;
			labelFld.width = 30;
			labelFld.height = 18;
			labelFld.x = 27;
			labelFld.y = 2;
			labelFld.text = labelText;
			addChild(labelFld);
 
 
			addEventListener(MouseEvent.ROLL_OVER, onOver);
			addEventListener(MouseEvent.ROLL_OUT, onOut);
			onOut(null);
		}
}
}

Старый 08.12.2009, 03:00
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 7  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Все работает!!! Ура!
Вопрос решен.
Тему можно закрывать.

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

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

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


 


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


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