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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Action script 2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 06.07.2004, 05:36
  № 1  
Linuxoid_Alex
Guest

Сообщений: n/a
По умолчанию Подпись...

В кадре используется код:
Код:
for (i=0;i<=_global.count;i++)
{
	if ((_xmouse>_global.xs[i]) and (_xmouse<_global.xe[i]))
	{
		if ((_ymouse>_global.ys[i]) and (_ymouse<_global.ye[i]))
		{
			createTextField("comment",1112,_xmouse,_ymouse,100,25);			
			comment.text = i+","+_global.values[i];
			comment.border=true;
			comment.background = true;
			comment.background.color = 0xffecce;
		}else
		{
			createTextField("comment",1112,0,0,0,0);			
		}
	}
	if ((_xmouse<_global.xs[i]) or (_xmouse>_global.xe[i]))
	{
		createTextField("comment",1,1112,0,0,0);
	}
}
//_global.xs[] - массив значений x
//_global.xe[] - то-же самое
//_global.ys[] - массив значений y
//_global.ye[] - то-же самое
//_global.count - размер массивов этих самых значений
Смысл вышенаписаного в том, что если координата x мышы больше xs[i] и меньше xe[i], а также y>ys[i] и y<ye[i], то показать комментарий. Иначе его скрыть. Однако коментарий показывается только в области при i=_global.count. Если-же убрать вот-это:
Код:
	if ((_xmouse<_global.xs[i]) or (_xmouse>_global.xe[i]))
	{
		createTextField("comment",1,1112,0,0,0);
	}
То работать будет везде, но скрываться будет только выходя за пределы по y.
Подскажите, plz, где глюк???

Старый 06.07.2004, 14:49
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 2  
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
Код:
// это вставить куди нить в начало, не в этом кадре
createTextField("comment",1112,0,0,100,25);			
comment.border=true;
comment.background = true;
comment.background.color = 0xffecce;



// а это уже в этом
comment._visible = false;
for (i=0;i<=_global.count;i++)
{
	if (    _xmouse > _global.xs[i]
		and _xmouse < _global.xe[i]
		and _ymouse > _global.ys[i]
		and _ymouse < _global.ye[i])
	{
		comment._visible = true;
		comment._y = _ymouse;
		comment._x = _xmouse;
		comment.text = i+","+_global.values[i];
		break;
	}
}

Старый 06.07.2004, 19:30
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
если правильно понял вопрос( в чем сомневаюсь)
Код:
createTextField("comment",1112,0,0,100,25);		
comment.border=true;
comment.background = true;
comment.background.color = 0xffecce;
xs=[0,0,400,400];
xe=[100,100,600,600];
ys=[0,100,0,100];
ye=[300,400,300,400];
com=["0","1","2","3"];
				
Mouse.addListener(m={});
m.onMouseMove=function(){
	for(var i=0;i<xs.length;i++) if(_xmouse>xs[i]&&_xmouse<xe[i]&&_ymouse>ys[i]&&_ymouse<ye[i]) break;
	comment.text=com[i];
	comment._visible=(i<xs.length);
}

Старый 07.07.2004, 09:11
  № 4  
Linuxoid_Alex
Guest

Сообщений: n/a
Сделал, кому интересно:
Код:
if ((_xmouse<_global.xs[0]) and (_xmouse>_global.xe[_global.count]))
{
	hide();
}else
{
	i=0;
	xm = _xmouse;
	while((xm>_global.xs[i]) or (xm>_global.xe[i]))
	{
		i++;
		if (i>_global.count)
		{
			hide();
			break;	
		}
	}
	if (xm>xe[i-1])
	{
		hide();
	}else
	{
		ym = _ymouse;
		if ((ym>_global.ys[i-1]) and (ym<ye[i-1]))
		{
		if (_global.names[i-1]!=undefined)
		{
			txt = _global.names[i-1]+","+_global.values[i-1];
		}else
		{
			txt = "noname,"+_global.values[i-1];
		}
		sze=length(String(txt))*14;
		createTextField("count",2,_xmouse,_ymouse-15,sze,20);
		count.border=true;
		count.background=true;
		count.background.color=0xffe3c4;
		count.text=txt;
		count.autoSize = true;
		count.selectable = false;
		}else
		{
			hide();
		}
	}
}

function hide()
{
	createTextField("comment",2,0,0,100,100);
	comment.selectable = false;
}
В следующем кадре - gotoAndPlay(номер сего кадра).
Вот вам и ещё один вариант коментариев

Старый 07.07.2004, 17:53
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 5  
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
Какой код... Ну просто слов нет!
И нафига я тут распинался?

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

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

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


 


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


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