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

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

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

Регистрация: Jun 2013
Сообщений: 22
Question подсветка ячеек таблицы

Всем привет!
Помогите исправить подсветку в таблице при наведении курсора на ячейку-у меня подсвечивается только нижний правый квадрат, остальные не подсвечиваются.
Вот код:

Код AS3:
import flash.events.Event;
import flash.filters.GlowFilter;
 
for (var i:int = 0;i<5;i++){
	for (var j:int=0;j<5;j++){
		var mRect:cube = new cube();
		mRect.x =100+ i*45
		mRect.y =100+ j*45
		addChild(mRect)
	}
}
 
stage.addEventListener(Event.ENTER_FRAME, loop)
 
function loop (e:Event):void {
	mText.text = "Xcor: " + mouseX.toString()+ " Ycor: "+ mouseY.toString()	
}
 
mRect.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
mRect.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
 
 
 
function onMouseOver (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [new GlowFilter(0xff0000, 1)];
}
 
function onMouseOut (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [];
}
и ещё вопрос -как в каждую ячейку ввести, к примеру, цифры? чтобы я мог видеть визуально номер конкретной ячейки.

Старый 16.06.2013, 03:03
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 2  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
у тебя mRect хранит ссылку на последний созданный нижний правый квадрат делай массив

Старый 16.06.2013, 03:08
funkypanky вне форума Посмотреть профиль Отправить личное сообщение для funkypanky Найти все сообщения от funkypanky
  № 3  
Ответить с цитированием
funkypanky

Регистрация: Jun 2013
Сообщений: 22
Цитата:
Сообщение от Babylon Посмотреть сообщение
у тебя mRect хранит ссылку на последний созданный нижний правый квадрат делай массив
а как двухмерный цикл правильно забить в массив?
пробую так писать- не выходит:

Код AS3:
var rectArray:Array = new Array();
for (var i:int = 0;i<5;i++){
	for (var j:int=0;j<5;j++){
		var mRect:cube = new cube();
		mRect.x =100+ i*45
		mRect.y =100+ j*45
		addChild(mRect);
		rectArray.push(mRect);
	}
}

Старый 16.06.2013, 03:17
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 4  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
не правильно написал. это тоже самое что и rectArray[0].push(mRect);

Старый 16.06.2013, 09:03
belyjj вне форума Посмотреть профиль Отправить личное сообщение для belyjj Найти все сообщения от belyjj
  № 5  
Ответить с цитированием
belyjj

Регистрация: Oct 2012
Сообщений: 20
Почему же не правильно?
Насколько я понимаю, каждый раз создаётся новый объект и помещается в массив.
Вот только зачем нужен массив?
Если нужно просто подсвечиветь при наведение мыши текущую ячейку, то наверно в обработчике надо писать так:
Код AS3:
event.currentTarget.filters = [];

Старый 16.06.2013, 10:24
maincode вне форума Посмотреть профиль Отправить личное сообщение для maincode Посетить домашнюю страницу maincode Найти все сообщения от maincode
  № 6  
Ответить с цитированием
maincode

Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
Код AS3:
import flash.events.Event;
import flash.filters.GlowFilter;
 
for (var i:int = 0;i<5;i++){
	for (var j:int=0;j<5;j++){
		var mRect:cube = new cube();
		mRect.x =100+ i*45
		mRect.y =100+ j*45
		addChild(mRect)
		mRect.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
		mRect.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
	}
}
 
stage.addEventListener(Event.ENTER_FRAME, loop)
 
function loop (e:Event):void {
	mText.text = "Xcor: " + mouseX.toString()+ " Ycor: "+ mouseY.toString()	
}
 
 
 
function onMouseOver (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [new GlowFilter(0xff0000, 1)];
}
 
function onMouseOut (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [];
}
__________________
FlashPress.ru | Blog

Старый 16.06.2013, 13:19
funkypanky вне форума Посмотреть профиль Отправить личное сообщение для funkypanky Найти все сообщения от funkypanky
  № 7  
Ответить с цитированием
funkypanky

Регистрация: Jun 2013
Сообщений: 22
Цитата:
Сообщение от maincode Посмотреть сообщение
Код AS3:
import flash.events.Event;
import flash.filters.GlowFilter;
 
for (var i:int = 0;i<5;i++){
	for (var j:int=0;j<5;j++){
		var mRect:cube = new cube();
		mRect.x =100+ i*45
		mRect.y =100+ j*45
		addChild(mRect)
		mRect.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
		mRect.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
	}
}
 
stage.addEventListener(Event.ENTER_FRAME, loop)
 
function loop (e:Event):void {
	mText.text = "Xcor: " + mouseX.toString()+ " Ycor: "+ mouseY.toString()	
}
 
 
 
function onMouseOver (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [new GlowFilter(0xff0000, 1)];
}
 
function onMouseOut (event:MouseEvent):void {
	var mRect:cube =  cube(event.target)
	event.target.filters = [];
}
Спасибо большое!)
Цитата:
Сообщение от belyjj Посмотреть сообщение
Почему же не правильно?
Насколько я понимаю, каждый раз создаётся новый объект и помещается в массив.
Вот только зачем нужен массив?
Если нужно просто подсвечиветь при наведение мыши текущую ячейку, то наверно в обработчике надо писать так:
Код AS3:
event.currentTarget.filters = [];
я тоже не понял зачем ещё в массив загонять в таком случае)

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

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

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


 


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


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