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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.07.2006, 11:53
lemegeton вне форума Посмотреть профиль Отправить личное сообщение для lemegeton Найти все сообщения от lemegeton
  № 1  
Ответить с цитированием
lemegeton
[+1.1 14.09.06]

Регистрация: Feb 2006
Сообщений: 175
По умолчанию Картинка при таскании лагает

Вот флешка - http://www.stilpost.ru/flash/untitled-1.swf. Народ скажите почему лагает картинка?
Вот код:
Код:
this.createEmptyMovieClip ("mcMaska", 0);
this.mcMaska.lineStyle (0, 0);
this.mcMaska.beginFill (0);
this.mcMaska.lineTo (350, 0);
this.mcMaska.lineTo (350, 263);
this.mcMaska.lineTo (0, 263);
this.mcMaska.lineTo (0, 0);
this.mcMaska.endFill ();
_root.createEmptyMovieClip("map",1);
with(_root.map)
{
	createEmptyMovieClip("conteiner",0);
	with(_root.map.conteiner)
	{
		loadMovie("img.jpg");
		_xscale = 50;
		_yscale = 50;
		_x = 0;
		_y = 0;
	}
	_x = 0;
	_y = 0;
}
this.map.setMask (this.mcMaska);
_root.map.onPress = function()
{
	_root.map.onMouseMove = function()
	{
		_root.map._x = _root.map._xmouse;
		_root.map._y = _root.map._ymouse;
	}
}
_root.map.onRelease = function()
{
	delete _root.map.onMouseMove;
}
_root.map.onReleaseOutside = function()
{
	delete _root.map.onMouseMove;
}
_root.attachMovie("Button","plus",_root.getNextHighestDepth());
with(_root.plus)
{
	_x = 30;
	_y = 480;
	label = "zoom+";
}
_root.plus.onPress = function ()
{
	_root.map.conteiner._xscale = 100;
	_root.map.conteiner._yscale = 100;
}


Последний раз редактировалось iNils; 12.07.2006 в 12:13.
Старый 12.07.2006, 12:13
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
http://www.flasher.ru/forum/showthread.php?t=79864
А вот правила раздела и пункт 3 в нем.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.07.2006, 12:28
lemegeton вне форума Посмотреть профиль Отправить личное сообщение для lemegeton Найти все сообщения от lemegeton
  № 3  
Ответить с цитированием
lemegeton
[+1.1 14.09.06]

Регистрация: Feb 2006
Сообщений: 175
я извиняюсь. iNils, скажи пожалуйста почему лагает?

Старый 12.07.2006, 12:32
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 4  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
явно в коде ошибка какая то ))) ищите друг. а вообще я бы советовал найти исходник, это распространненый пример )))

Старый 12.07.2006, 13:03
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я честно говоря не понял, в чем проблема то?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.07.2006, 13:07
vooparker вне форума Посмотреть профиль Отправить личное сообщение для vooparker Посетить домашнюю страницу vooparker Найти все сообщения от vooparker
  № 6  
Ответить с цитированием
vooparker
 
Аватар для vooparker

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
Цитата:
Сообщение от lemegeton
почему лагает?
Может, конечно, далеко не самый лучший способ решения, но первое, что пришло в голову:
вместо
Код:
_root.map.onPress = function()
{
	_root.map.onMouseMove = function()
	{
		_root.map._x = _root.map._xmouse;
		_root.map._y = _root.map._ymouse;
	}
}
_root.map.onRelease = function()
{
	delete _root.map.onMouseMove;
}
_root.map.onReleaseOutside = function()
{
	delete _root.map.onMouseMove;
}
написать:

Код:
_root.map.onPress = function()
{
	startDrag('_root.map', 0);
}
_root.map.onRelease = function()
{
	stopDrag();
}
_root.map.onReleaseOutside = function()
{
	stopDrag();
}
Так вроде работает нормально

Старый 12.07.2006, 13:31
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Я наконец-то догадался нажать на картинку и начать ее таскать
Ошибка из-за этого кода
Код:
_root.map._x = _root.map._xmouse;
_root.map._y = _root.map._ymouse;
Вы присваиваете координатам объекта координаты мыши внутри него. Но ведь объет двигаетеся вместе с мышью, и соответственно эти значения не меняются.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.07.2006, 13:59
lemegeton вне форума Посмотреть профиль Отправить личное сообщение для lemegeton Найти все сообщения от lemegeton
  № 8  
Ответить с цитированием
lemegeton
[+1.1 14.09.06]

Регистрация: Feb 2006
Сообщений: 175
да согласен
можно написать так:
Код:
_root.map._x = _root._xmouse;
_root.map._y = _root._ymouse;
но тогда при движении мышью клип левым верхним углом равняется с координатоми мыши, встает вопрос - как поменять координаты регисрации клипа?

Старый 12.07.2006, 14:12
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Элементарно. В момент клика записать разницу между координатами клипа и мышки. А потом эту разницу вычитать из координат мыши при движении.

А чем не подходит вариант vooparker с startDrag?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Код:
mc.onPress = function(){
	this.onMouseMove = function(){
		trace(this._x+' '+ this._y);
		}
	this.startDrag();
}
mc.onRelease = function(){
	delete this.onMouseMove;
	this.stopDrag();
}
//////////
mc1.onPress = function(){
	this.x = this._xmouse;
	this.y = this._ymouse;
	this.onMouseMove = function(){
		this._x = _root._xmouse - this.x
		this._y = _root._ymouse - this.y
		trace(this._x+' '+ this._y);
		}
}
mc1.onRelease = function(){
	delete this.onMouseMove;
}
при МаусМуве не всегда целые координты, при Драге всегда!

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

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

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


 


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


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