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

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

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

Регистрация: Jan 2007
Сообщений: 12
Question Свой курсор

Нужно, что бы нарисованный мной курсор при
наведении на объект менял внешность.
В мувике strela (в курсоре), два кадра,
для наведения и отведения.
Использую вот такой код:


Код:
strela.onEnterFrame = function()  {
	this._x = _xmouse;
	this._y = _ymouse;
}

obekt.onEnterFrame = function()  {
if(strela.hitTest(obekt)){
	strela.gotoAndPlay(2);
	}
obekt.onEnterFrame = function()  {
if(!(strela.hitTest(obekt)) ){
	strela.gotoAndPlay(1);
	}
}
}
[iNils: Для оформления своего кода, надо использовать теги [code][/code]]

Мне кажется, сделано верно.
Но увы, курсор то меняется, то не меняется, по неизвестному
мне правилу.
Подскажите, как реализовать задачу.

http://www.rapidshare.ru/155010


Последний раз редактировалось iNils; 26.01.2007 в 17:06.
Старый 26.01.2007, 16:48
LeXi42006 вне форума Посмотреть профиль Отправить личное сообщение для LeXi42006 Посетить домашнюю страницу LeXi42006 Найти все сообщения от LeXi42006
  № 2  
Ответить с цитированием
LeXi42006
 
Аватар для LeXi42006

Регистрация: Dec 2006
Адрес: Украина, Севастополь
Сообщений: 358
Отправить сообщение для LeXi42006 с помощью ICQ Отправить сообщение для LeXi42006 с помощью Skype™
Везде gotoAndPlay меняем на gotoAndStop
__________________
http://LeXi4.net.ru/

Старый 26.01.2007, 16:54
LeXi42006 вне форума Посмотреть профиль Отправить личное сообщение для LeXi42006 Посетить домашнюю страницу LeXi42006 Найти все сообщения от LeXi42006
  № 3  
Ответить с цитированием
LeXi42006
 
Аватар для LeXi42006

Регистрация: Dec 2006
Адрес: Украина, Севастополь
Сообщений: 358
Отправить сообщение для LeXi42006 с помощью ICQ Отправить сообщение для LeXi42006 с помощью Skype™
И еще я бы посоветовал вместо hitTest использовать onRollOver и onRollOut.
Код:
strela.onEnterFrame = function() {
this._x = _xmouse;
this._y = _ymouse;
}
_root.obect.onRollOver = function() {
_root.strela.gotoAndStop(2)
}
_root.obect.onRollOut = function() {
_root.strela.gotoAndStop(1)
}
}
И короче, и работает правильней.
__________________
http://LeXi4.net.ru/

Старый 26.01.2007, 18:19
Tardos Mors вне форума Посмотреть профиль Отправить личное сообщение для Tardos Mors Найти все сообщения от Tardos Mors
  № 4  
Ответить с цитированием
Tardos Mors

Регистрация: Jul 2006
Адрес: Новосибирск
Сообщений: 530
Отправить сообщение для Tardos Mors с помощью ICQ
Цитата:
Сообщение от Zanha
Код:
obekt.onEnterFrame = function()  {
if(strela.hitTest(obekt)){
	strela.gotoAndPlay(2);
	}
obekt.onEnterFrame = function()  {
if(!(strela.hitTest(obekt)) ){
	strela.gotoAndPlay(1);
	}
}
}
Ты два раза назначаешь onEnterFrame для одного и того же объекта. функция с именем onEnterFrame (да и с любым другим тоже) может быть только одна для каждого объекта.
И еще для понятности кода меняем hitTest(obekt) на hitTest(this)
Так что меняем этот кусок кода на:
Код:
obekt.onEnterFrame = function()
{
  if(strela.hitTest(this))
  {
    strela.gotoAndPlay(2);
  }
  else
  {
    strela.gotoAndPlay(1);
  }
}


Последний раз редактировалось Tardos Mors; 26.01.2007 в 18:22.
Старый 28.01.2007, 22:38
Zanha вне форума Посмотреть профиль Отправить личное сообщение для Zanha Найти все сообщения от Zanha
  № 5  
Ответить с цитированием
Zanha
 
Аватар для Zanha

Регистрация: Jan 2007
Сообщений: 12
Код:
obekt.onEnterFrame = function()
{
  if(strela.hitTest(this))
  {
    strela.gotoAndPlay(2);
  }
  else
  {
    strela.gotoAndPlay(1);
  }
}
отлично работает!
Но в проекте будут фигурировать несколько
объектов, изменяющих внешность курсора.
Хотелось бы сократить запись кода.

Ввожу
Код:
function tach ()
{
  if(strela.hitTest(this))
  {
    strela.gotoAndPlay(2);
  }
  else
  {
    strela.gotoAndPlay(1);
  }
}

obekt.onEnterFrame = tach();
Но курсор просто меняет свои две внешности.
Возможно ли поместить код в одну функцию и
грамотно применять ко всем объектам?

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
"Но курсор просто меняет свои две внешности"
2 внешноси?
__________________
"We Are The Champions My Friends!" Queen

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

Регистрация: Jan 2007
Сообщений: 12
Внешность наведённого курсора и не наведённого.

Старый 30.01.2007, 02:39
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 8  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Цитата:
Сообщение от Zanha
Код:
obekt.onEnterFrame = tach();
ошибка... obekt.onEnterFrame = tach(); error-error
правильно... obekt.onEnterFrame = tach; gut-gut

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
так ровнее получится:
Код:
strela.onMouseMove = function() {
this._x = _xmouse;
this._y = _ymouse;
updateAfterEvent();
}
strela.onMouseMove();

Старый 30.01.2007, 05:25
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 10  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Код:
strela.onMouseMove = function() {
this._x = _root._xmouse;
this._y = _root._ymouse;
updateAfterEvent();
}
function abnormal() {
if(obj.hitTest(obekt)) 
obj.gotoAndStop(2);
else
obj.gotoAndStop(1);
}
setInterval(abnormal, 50, strela);

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

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

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


 


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


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