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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.01.2013, 18:06
stefan9211 вне форума Посмотреть профиль Отправить личное сообщение для stefan9211 Найти все сообщения от stefan9211
  № 1  
Ответить с цитированием
stefan9211
[+5 10.01.13]
[+1 10.01.13]

Регистрация: Dec 2012
Сообщений: 25
По умолчанию появление элемента при наведении(rollover)

Здравствуйте!
Есть карта:
map_pek2.swf   (916.0 Кб)

есть маячок:
Название: 10.png
Просмотров: 390

Размер: 53.2 Кб
прописано действие:

Код AS1/AS2:
for ( var i=0; i<100; i++ ){
	var obj = CON["c"+i]
 
	obj.onRollOver = function(){
		this._x -= this._width/8
		this._y -= this._height/8
 
		this._xscale = this._yscale = 120
 
		this.swapDepths( this._parent.getNextHighestDepth() )
		}
	obj.onRollOut = function(){
		this._xscale = this._yscale = 100
		this._x += this._width/8
		this._y += this._height/8		
		}
 
}
Вопросы:
1)в действии прописано изменение размера символа при наведении и после;возможно ли прописать не изменение размера а изменение положения по оси z тоесть ближе дальше(изменение размера сильно растягивает пиксели т.к. это растр)
2)нужно чтобы при наведении на какой-либо участок появлялся маячок(указывающий на тот город в который идут поставки компании) а над ним надпись названия города;как прописать появление и исчезновение маячка с городом?
3)нужно при наведении затемнить всё остальное кроме той области которая выделена
Вложения
Тип файла: swf map_pek2.swf (916.0 Кб, 108 просмотров)

Старый 10.01.2013, 18:15
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
1. Изменение z в коде приведет к аналогичным изменениям на экране, что и при изменении _xscale и _yscale. Фактически-то у вас же тоже размер экранный поменяется.

Поставьте растру сглаживание, как альтернатива. Ну или вектором сделайте.

2. Попробуйте использовать свойство _visible для значка.

3. Простой способ — подложить под всю карту черную подложку и менять прозрачность элементов.
__________________
hauts.ru

Старый 10.01.2013, 18:27
stefan9211 вне форума Посмотреть профиль Отправить личное сообщение для stefan9211 Найти все сообщения от stefan9211
  № 3  
Ответить с цитированием
stefan9211
[+5 10.01.13]
[+1 10.01.13]

Регистрация: Dec 2012
Сообщений: 25
hauts
вектор рисовать некогда
можно поподробнее что за сглаживание?
visible это функция или что такое?
у меня была подобная идея(сделать подложку) но что написать в действии чтобы при наведении на какую-либо область остальные становились прозрачными?

Старый 11.01.2013, 04:27
sasha88886 вне форума Посмотреть профиль Отправить личное сообщение для sasha88886 Найти все сообщения от sasha88886
  № 4  
Ответить с цитированием
sasha88886

Регистрация: Jun 2012
Сообщений: 28
Я одного не понима у тебя маечок больше карты, для чего тебе его ростягивать тебе его сужать надо.
Цитата:
2)нужно чтобы при наведении на какой-либо участок появлялся маячок(указывающий на тот город в который идут поставки компании) а над ним надпись названия города;как прописать появление и исчезновение маячка с городом?
Можно вокруг мыши там например 50 пиксилей проводить проверку на наличее городов. Я ище когдато в игре делал так рисовал круг прописывал его прозрачность, и устанавлевал на кординаты мышки потом просто проверял столкновения двух обектов в твоем случае круг и город


Последний раз редактировалось sasha88886; 11.01.2013 в 05:17.
Старый 11.01.2013, 16:57
stefan9211 вне форума Посмотреть профиль Отправить личное сообщение для stefan9211 Найти все сообщения от stefan9211
  № 5  
Ответить с цитированием
stefan9211
[+5 10.01.13]
[+1 10.01.13]

Регистрация: Dec 2012
Сообщений: 25
sasha88886 почему растгивать маячок? вы невнимательно прочитали вопрос, растягивается область на карте а не маячок,маячок должен появляться когда наводишь на какую либо область и исчезать когда наводишь на другую область(которая соответсвенно увеличивается и появляется маячки в другом месте) или вообще выходишь за рамки карты

Добавлено через 14 минут
кстати не нужно учитывать размер маячка,я такой большой сделал просто для демонстрации,он маленький будет

Старый 12.01.2013, 03:04
sasha88886 вне форума Посмотреть профиль Отправить личное сообщение для sasha88886 Найти все сообщения от sasha88886
  № 6  
Ответить с цитированием
sasha88886

Регистрация: Jun 2012
Сообщений: 28
Аааа тепер понятно. Если нет возможности найти раст. карту побольше тогда остается вектор. Кстати не надо его боятся тако рисунок можно просто переформатировать даже в фотожопе.
Там вы спрашивали
Цитата:
3)нужно при наведении затемнить всё остальное кроме той области которая выделена
Цитата:
visible это функция или что такое?
у меня была подобная идея(сделать подложку) но что написать в действии чтобы при наведении на какую-либо область остальные становились прозрачными?
Есть такой метод обекта клипа называется _alpha. вващем случае будет выглядеть примерно так
Код AS1/AS2:
for ( var i=0; i<100; i++ ){
	var obj = CON["c"+i]
 
	obj.onRollOver = function(){
		this._x -= this._width/8
		this._y -= this._height/8
                       this._alpha=100;//100% видемый обект
		this._xscale = this._yscale = 120
 
		this.swapDepths( this._parent.getNextHighestDepth() )
		}
	obj.onRollOut = function(){
		this._xscale = this._yscale = 100
                      this._alpha=10;//10% видемый обект
		this._x += this._width/8
		this._y += this._height/8		
		}
 
 
}
но их сначала надо сделать все невидемыми а то будут пропадать только после наведение

Старый 12.01.2013, 10:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от sasha88886 Посмотреть сообщение
Есть такой метод обекта клипа называется _alpha
_alpha - не является методом, это свойство.

И еще. sasha88886, не коверкайте русский язык, здесь, на форуме это недопустиммо.
__________________
Идите первым!

Старый 12.01.2013, 16:22
stefan9211 вне форума Посмотреть профиль Отправить личное сообщение для stefan9211 Найти все сообщения от stefan9211
  № 8  
Ответить с цитированием
stefan9211
[+5 10.01.13]
[+1 10.01.13]

Регистрация: Dec 2012
Сообщений: 25
sasha88886 да спасибо,почти то что нужно,остальное сам доделал

Добавлено через 1 час 34 минуты
с маячком так и не могу разобраться!

Старый 12.01.2013, 20:14
sasha88886 вне форума Посмотреть профиль Отправить личное сообщение для sasha88886 Найти все сообщения от sasha88886
  № 9  
Ответить с цитированием
sasha88886

Регистрация: Jun 2012
Сообщений: 28
Цитата:
И еще. sasha88886, не коверкайте русский язык, здесь, на форуме это недопустиммо.
Друзя я дико извеняюсь. Я из Украины понимаете там Перестройка, развал, бендыры, короче я неучил русский, и сильно об этом жалею.
Цитата:
_alpha - не является методом, это свойство.
Может быть. Просто я паралельно работаю на С++ там все называют методом. Побольшому счету это он и есть.
Цитата:
с маячком так и не могу разобраться!
Можно както так.
Код AS1/AS2:
//это крепим к обекту где и проверяем зоны
onClipEvent(load){
_root.attachMovie("majak","majak",99);// так присоединяем наш маяк
_root["majak"]._x=-100;//Убираем маяк  за пределы видимости
this.createTextField("city",100,0,0,220,18);//создаем текст. поле
}
for ( var i=0; i<100; i++ ){
	var obj = CON["c"+i]
 
	obj.onRollOver = function(){
		this._x -= this._width/8
		this._y -= this._height/8
 
		this._xscale = this._yscale = 120
		this.swapDepths( this._parent.getNextHighestDepth() )
// Проверяем находится ли мыш в зоне города. Нужно вычислять експерементально,
// цыфры я взял так для наглядности
if(_root._xmouse>100 and _root._xmouse<130 
and _root._ymouse>100 and _root._ymouse<130){
_root["majak"]._x=115;//Если мыш попала в поле деествия граничителей
_root["majak"]._y=115;//выставляем маяк в зоне x-115 y-115
this["city"]._x=115;//перемещяем также наш текст
this["city"]._y=100;//по у выставляем выще маяка
this["city"].text="Москва"
}
		}
	obj.onRollOut = function(){
		this._xscale = this._yscale = 100
		this._x += this._width/8
		this._y += this._height/8
_root["majak"]._x=-100;//убираем маяк	
this["city"]._x=-100;//убираем надпись	
		}
 
}
Потом над этим надо екперементировать там все повыставлять правельно. Проверку нужно делать на каждый город. Короче кропотливо

Старый 13.01.2013, 16:46
stefan9211 вне форума Посмотреть профиль Отправить личное сообщение для stefan9211 Найти все сообщения от stefan9211
  № 10  
Ответить с цитированием
stefan9211
[+5 10.01.13]
[+1 10.01.13]

Регистрация: Dec 2012
Сообщений: 25
sasha88886 огромное спасибо ,вы потеряли время ради меня,я очень благодарен! я конечно не всё понял в коде но что то получается

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

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

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


 


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


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