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

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

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
По умолчанию 2-й параметр onMouseWheel - как правильно задать?

Привет!
Из хэлпа:
Код:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function (delta) {
  clip_mc._x += delta;
}
Mouse.addListener(mouseListener);
Как правильно задать второй параметр(function (delta, mymc_mc)), чтоб колесо срабатывало только находясь над клипом mymc_mc?
Да, и о типе параметра. В русском переводе (раздел Mouse.onMouseWheel переводил Антарес) говорится:
Цитата:
scrollTarget Необязательный параметр. Число, показывающее верхний мувиклип...
У Адобэ:
Цитата:
scrollTarget:String [optional] - A parameter that indicates the topmost movie...
Спасибо.

Старый 13.12.2007, 21:16
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function (delta) {
	trace(typeof(arguments[0])+" : "+typeof(arguments[1])); // Number : movieclip
	trace(arguments[0]+" : "+arguments[1]); // 3 : _level0.mc
	clip_mc._x += delta;
}
Mouse.addListener(mouseListener);
__________________
Hell is the possibility of sanity

Старый 14.12.2007, 10:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А написать function(delta, mc) нельзя?

Старый 14.12.2007, 11:25
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 4  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от __etc
А написать function(delta, mc) нельзя?
Конечно можно!!!
Да, прукручена уже проверка по хиттесту.
Но, я задал вопрос про стандартную функцию. Кстати еще ньюанс. В некоторых случаях дельта принимает значение 3, в других 10.
Сново слышу ответ: "Установи свою". Так и делаю.
Но, хотел понять ДАННУЮ до конца.
И понял:
Код:
var mc:MovieClip;// клип на котором работает колесо
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta, mc) {
	if (mc) {
		clip_mc._x += delta;
	}
};
Mouse.addListener(mouseListener);


Последний раз редактировалось Жень Шень; 14.12.2007 в 11:33.
Старый 14.12.2007, 12:54
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function (delta, mc) {
	ASSetPropFlags(_global,null,8,true);
	for(var i in _global){
		if(mc instanceof _global[i]){
			trace("The second argument belongs to the "+i+" type");
		}
	}
}
Mouse.addListener(mouseListener);
Кстати... я не знаю откуда взялось предположение, что второй аргумент - строка... Ну никак - только Object или MovieClip %)
__________________
Hell is the possibility of sanity

Старый 14.12.2007, 13:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
3 или 9 (10 не бывает) — зависит ровным счетом от настроек системы.

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от wvxvw
Кстати... я не знаю откуда взялось предположение, что второй аргумент - строка... Ну никак - только Object или MovieClip %)
Привет!
Смутило "scrollTarget:String [optional]" и очень поверхностное знание английского. Спасибо тебе, что напомнил про проверку (typeof). Это и разрешило "проблему": теперь я так понимаю - параметр, это строка, дающая ссылку на число (уровень клипа). Я пробывал раньше писать вторым параметром _level0.mc или число (уровень клипа mc), что вызывало ошибку.

Старый 14.12.2007, 14:13
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
GalaxyBeing said on Feb 2, 2006 at 4:23 PM :
Under "scrollTarget" it says "If you want to specify a value for scrollTarget but don't want to specify a value for delta, pass null for delta."

This is incorrect, because you don't pass these values, you receive them. You should also mention that "delta" is passed by Windows and is set in the Mouse Control Panel. "scrollTarget" is obviously passed by Flash.
Mario Klingemann said on Jun 29, 2006 at 5:03 AM :
The scrollTarget is not of type String as the docs say, but rather of type movieclip or object - at least that's what flash tells me if I test it like this:

private function onMouseWheel(delta:Number, clip:String):Void
{
trace(typeof clip);
}
peterd_mm said on Jun 30, 2006 at 1:29 PM :
Mario,

You are correct. The scrollTarget contains a reference to the symbol currently under the mouse cursor (which can be a MovieClip, Button, TextField, etc). Using the typeof operator on the scrollTarget returns either movieclip or object, although you can get more specific information by using the instanceof operator.

We'll make sure this is fixed in the next release of the document.
Не, просто в хелпе ошибка - это цитата отсюда:
http://livedocs.adobe.com/flash/8/ma...=00002433.html
Дословно: человек из тогдашней ММ пообещал исправить это в следующем релизе (очевидно забыли %)
__________________
Hell is the possibility of sanity

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Еще раз спасибо за исчерпующий ответ!
Тема второго параметра раскрыта полностью.
с меня

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

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

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


 


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


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