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

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

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

Регистрация: Nov 2006
Сообщений: 39
Question Почему криво?

Люди, проблема в следующем: есть объект - при клике на котором создаётся копия которую надо переместить в некоторую область, областей этих 5, если он отпускается вне области - копия удаляется, если в - то в точку с координатами. Область - мувик. Для 1,2,3,5 работает нормально, для 4-го помещает в область ???ПЯТОГО???, если убрать координаты у пятого то в четвёртом ложиться нормально, но тогда в пятом ложиться не совсем как надо... Немного сбивчиво, но более понятно изложить не получается, надеюсь поймёте
Код:
_root.muhSamBel.onPress = function() {
	attachMovie("muhSamBel", "muhSamBel"+i, i, {_x:0, _y:0});
	_root.n1 = "i: "+i;
	_root["muhSamBel"+i].startDrag(true);
};
_root.muhSamBel.onRelease = _root.muhSamBel.onReleaseOutside=function () {
	// _root.n2 = "i: "+ i;
	_root["muhSamBel"+i].stopDrag();
	if ((_root["muhSamBel"+i]._x>XY_b._x) and (_root["muhSamBel"+i]._x<(XY_b._x+XY_b._width)) and (_root["muhSamBel"+i]._y>XY_b._y-20) and (_root["muhSamBel"+i]._y<(XY_b._y+XY_b._height))																																									 or 
	(_root["muhSamBel"+i]._x>XY_b5._x) and (_root["muhSamBel"+i]._x<(XY_b5._x+XY_b5._width)) and (_root["muhSamBel"+i]._y>XY_b5._y-20) and (_root["muhSamBel"+i]._y<(XY_b5._y+XY_b5._height))																																									 or 																																								 (_root["muhSamBel"+i]._x>XY_b2._x) and (_root["muhSamBel"+i]._x<(XY_b2._x+XY_b2._width)) and (_root["muhSamBel"+i]._y>XY_b2._y-/*20*/5) and (_root["muhSamBel"+i]._y<(XY_b2._y+XY_b2._height)) or (_root["muhSamBel"+i]._x>XY_b3._x) and (_root["muhSamBel"+i]._x<(XY_b3._x+XY_b3._width)) and (_root["muhSamBel"+i]._y>XY_b3._y-5) and (_root["muhSamBel"+i]._y<(XY_b3._y+XY_b3._height)) or (_root["muhSamBel"+i]._x>XY_b4._x) and (_root["muhSamBel"+i]._x<(XY_b4._x+XY_b4._width)) and (_root["muhSamBel"+i]._y>XY_b4._y-5) and (_root["muhSamBel"+i]._y<(XY_b4._y+XY_b4._height))) {
		if ((_root["muhSamBel"+i]._y>XY_b._y-20) and (_root["muhSamBel"+i]._y<(XY_b._y+XY_b._height))) {
			_root["muhSamBel"+i]._x = XY_b._x+XY_b._width/2+15;
			_root["muhSamBel"+i]._y = XY_b._y+12;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
		

		
		if ((_root["muhSamBel"+i]._y>XY_b2._y-5) and (_root["muhSamBel"+i]._y<(XY_b2._y+XY_b2._height))) {
			_root["muhSamBel"+i]._x = XY_b2._x+XY_b2._width/2+5;
			_root["muhSamBel"+i]._y = XY_b2._y;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
		
		if ((_root["muhSamBel"+i]._y>XY_b3._y-5) and (_root["muhSamBel"+i]._y<(XY_b3._y+XY_b3._height))) {
			_root["muhSamBel"+i]._x = XY_b3._x+XY_b3._width/2+5;
			_root["muhSamBel"+i]._y = XY_b3._y;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}


if ((_root["muhSamBel"+i]._y>XY_b4._y-5) and (_root["muhSamBel"+i]._y<(XY_b4._y+XY_b4._height))) {
			_root["muhSamBel"+i]._x = XY_b4._x+XY_b4._width/2+5;
			_root["muhSamBel"+i]._y = XY_b4._y;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}

		if ((_root["muhSamBel"+i]._y>XY_b5._y-20) and (_root["muhSamBel"+i]._y<(XY_b5._y+XY_b5._height))) {
			_root["muhSamBel"+i]._x = XY_b5._x+XY_b5._width/2+15;
			_root["muhSamBel"+i]._y = XY_b5._y+12;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
Ещё... если 5-й мувик ператащить в другое место - всё работает как надо


Последний раз редактировалось went; 13.11.2006 в 11:02.
Старый 13.11.2006, 11:31
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 2  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
а hitTest-ом не было мыслей попользоваться?..
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 13.11.2006, 11:31
_sestra_ вне форума Посмотреть профиль Отправить личное сообщение для _sestra_ Найти все сообщения от _sestra_
  № 3  
Ответить с цитированием
_sestra_
 
Аватар для _sestra_

Регистрация: Dec 2005
Сообщений: 219
Отправить сообщение для _sestra_ с помощью ICQ Отправить сообщение для _sestra_ с помощью Skype™
1) Выложенный скрипт - с ошибками
2) Выложи весь скрипт, я думаю, что это не всё
3) Лучше выложи исходник
4) Объясни ещё раз твою ошибку ( даже засунув твой скрипт во флаш, не понятно что и как должно работать )
__________________
Счастье - это хорошее здоровье и плохая память

Старый 13.11.2006, 12:31
went вне форума Посмотреть профиль Отправить личное сообщение для went Найти все сообщения от went
  № 4  
Ответить с цитированием
went

Регистрация: Nov 2006
Сообщений: 39
Вот весь скрипт
Смысл следующий: имеется картинка
при переносе на определённую ячеку (таких ячеек 5) выдаётся сообщение правильно,
мимо - не правильно, ведётся подсчёт.
Для 1,2,3 работает нормально для 5-го нормально для 4-го криво
если я убираю 5-й или 4-й мувик ячейку в кординально другое место - работает, возвращаю - опять криво


Код:
var i = 2;
j = 1;
k=1;
Result_1 = new Array(96);
Result_2 = new Array(96);
//Result2 = new Array(96);

	for (var i=1; i<=96; i++)			
	{
		Result_1[i]='';
		Result_2[i]='';
		}
//----------------------------------------------------------------------------------
_root.muhSamBel.onPress = function() {
	attachMovie("muhSamBel", "muhSamBel"+i, i, {_x:0, _y:0});
	_root.n1 = "i: "+i;
	_root["muhSamBel"+i].startDrag(true);
};
_root.muhSamBel.onRelease = _root.muhSamBel.onReleaseOutside=function () {
	// _root.n2 = "i: "+ i;
	_root["muhSamBel"+i].stopDrag();
	if ((_root["muhSamBel"+i]._x>XY_b._x) and (_root["muhSamBel"+i]._x<(XY_b._x+XY_b._width)) and (_root["muhSamBel"+i]._y>XY_b._y-20) and (_root["muhSamBel"+i]._y<(XY_b._y+XY_b._height))																																									 or 
	(_root["muhSamBel"+i]._x>XY_b5._x) and (_root["muhSamBel"+i]._x<(XY_b5._x+XY_b5._width)) and (_root["muhSamBel"+i]._y>XY_b5._y-20) and (_root["muhSamBel"+i]._y<(XY_b5._y+XY_b5._height))																																									 or 																																								 (_root["muhSamBel"+i]._x>XY_b2._x) and (_root["muhSamBel"+i]._x<(XY_b2._x+XY_b2._width)) and (_root["muhSamBel"+i]._y>XY_b2._y-/*20*/5) and (_root["muhSamBel"+i]._y<(XY_b2._y+XY_b2._height)) or (_root["muhSamBel"+i]._x>XY_b3._x) and (_root["muhSamBel"+i]._x<(XY_b3._x+XY_b3._width)) and (_root["muhSamBel"+i]._y>XY_b3._y-5) and (_root["muhSamBel"+i]._y<(XY_b3._y+XY_b3._height)) or (_root["muhSamBel"+i]._x>XY_b4._x) and (_root["muhSamBel"+i]._x<(XY_b4._x+XY_b4._width)) and (_root["muhSamBel"+i]._y>XY_b4._y-5) and (_root["muhSamBel"+i]._y<(XY_b4._y+XY_b4._height))) {
		if ((_root["muhSamBel"+i]._y>XY_b._y-20) and (_root["muhSamBel"+i]._y<(XY_b._y+XY_b._height))) {
			_root["muhSamBel"+i]._x = XY_b._x+XY_b._width/2+15;
			_root["muhSamBel"+i]._y = XY_b._y+12;
			// +XY_B._height/2;
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
		

		
		if ((_root["muhSamBel"+i]._y>XY_b2._y-5) and (_root["muhSamBel"+i]._y<(XY_b2._y+XY_b2._height))) {
			_root["muhSamBel"+i]._x = XY_b2._x+XY_b2._width/2+5;
			_root["muhSamBel"+i]._y = XY_b2._y;
			// +XY_B._height/2;
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
		
		if ((_root["muhSamBel"+i]._y>XY_b3._y-5) and (_root["muhSamBel"+i]._y<(XY_b3._y+XY_b3._height))) {
			_root["muhSamBel"+i]._x = XY_b3._x+XY_b3._width/2+18;
			_root["muhSamBel"+i]._y = XY_b3._y;
			// +XY_B._height/2;
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}


if ((_root["muhSamBel"+i]._y>XY_b4._y-5) and (_root["muhSamBel"+i]._y<(XY_b4._y+XY_b4._height))) {
			_root["muhSamBel"+i]._x = 50;//XY_b4._x+XY_b4._width/2+5;
			_root["muhSamBel"+i]._y = XY_b4._y;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}


if ((_root["muhSamBel"+i]._y>XY_b5._y-20) and (_root["muhSamBel"+i]._y<(XY_b5._y+XY_b5._height))) {
			_root["muhSamBel"+i]._x = XY_b5._x+XY_b5._width/2+15;
			_root["muhSamBel"+i]._y = XY_b5._y+12;
			
			_root["muhSamBel"+i]._height = _root["muhSamBel"]._height*0.5;
			_root["muhSamBel"+i]._width = _root["muhSamBel"]._width*0.5;
		}
		


		Result_1[j] = j;
		Result_2[j] = "Правильно";

		if (j<=6) 
		{
			k=0
		}
		else if (j<=12)
		{
			k=1
		}
		else if (j<=18)
		{
			k=2
		}
		else if (j<=24)
		{
			k=3
		}
		else if (j<=30)
		{
			k=4
		}
		else if (j<=36)
		{
			k=5
		}
		else if (j<=42)
		{
			k=6
		}
		else if (j<=48)
		{
			k=7
		}else if (j<=54)
		{
			k=8
		}
		else if (j<=60)
		{
			k=9
		}
		else if (j<=66)
		{
			k=10
		}
		else if (j<=72)
		{
			k=11
		}
		else if (j<=78)
		{
			k=12
		}
		else if (j<=84)
		{
			k=13
		}
		else if (j<=90)
		{
			k=14
		}
		else if (j<=96)
		{
			k=15
		}
		
		for (var n = (j-6*k); n<=6; n++) {
				_root["ResNum"+n] = '';
				_root["ResName"+n] = '';
			}
			_root["ResNum"+(j-6*k)] = Result_1[j];
			_root["ResName"+(j-6*k)] = Result_2[j];
		
		// ---------------------
		attachMovie("Rezult1", "Rezult", 5, {_x:_root._width/2, _y:_root._height/2});
		onEnterFrame = function () { if (Key.isDown(1)) {removeMovieClip(Rezult);_root.P1.removeMovieClip();}};
		i++;
		j++;
	} else {
		removeMovieClip(_root["muhSamBel"+i]);
		Result_1[j] = j;
		Result_2[j] = "Не правильно";

		if (j<=6) 
		{
			k=0
		}
		else if (j<=12)
		{
			k=1
		}
		else if (j<=18)
		{
			k=2
		}
		else if (j<=24)
		{
			k=3
		}
		else if (j<=30)
		{
			k=4
		}
		else if (j<=36)
		{
			k=5
		}
		else if (j<=42)
		{
			k=6
		}
		else if (j<=48)
		{
			k=7
		}else if (j<=54)
		{
			k=8
		}
		else if (j<=60)
		{
			k=9
		}
		else if (j<=66)
		{
			k=10
		}
		else if (j<=72)
		{
			k=11
		}
		else if (j<=78)
		{
			k=12
		}
		else if (j<=84)
		{
			k=13
		}
		else if (j<=90)
		{
			k=14
		}
		else if (j<=96)
		{
			k=15
		}
		
		for (var n = (j-6*k); n<=6; n++) {
				_root["ResNum"+n] = '';
				_root["ResName"+n] = '';
			}
			_root["ResNum"+(j-6*k)] = Result_1[j];
			_root["ResName"+(j-6*k)] = Result_2[j];
		
		// ---------------------
		j++;
		attachMovie("Rezult2", "Rezult", 5, {_x:_root._width/2, _y:_root._height/2});
		onEnterFrame = function () { if (Key.isDown(1)) {removeMovieClip(Rezult);}};
	}
};
//*************************************
		

//кнопка  перемотки таблицы
_root.verh.onPress = function() {
	if (k>0){
		k--
		kr=k;
	for (var i=1; i<=6; i++)			
	{
		
		
	_root["ResNum"+i]  =Result_1[i+6*k];//j-2;		
	_root["ResName"+i]  =Result_2[i+6*k];//j-2;
	

	}	}

}		

//*************************************
//кнопка  перемотки таблицы вниз
_root.niz.onPress = function() {
	if (k<=4){
		kr=k;
	for (var i=1; i<=6; i++)			
	{
	_root["ResNum"+i]  =Result_1[i+6*k];//j-2;	
	_root["ResName"+i]  =Result_2[i+6*k];//j-2;	
	}	
	k++}
};

Старый 13.11.2006, 12:33
went вне форума Посмотреть профиль Отправить личное сообщение для went Найти все сообщения от went
  № 5  
Ответить с цитированием
went

Регистрация: Nov 2006
Сообщений: 39
Цитата:
Сообщение от Double
а hitTest-ом не было мыслей попользоваться?..
ет что?

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

Регистрация: Mar 2001
Сообщений: 1,147
а ещё есть дивный _droptarget. всё это богатство доступно любому, при нажатии на кнопочку F1.
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

Старый 13.11.2006, 12:59
went вне форума Посмотреть профиль Отправить личное сообщение для went Найти все сообщения от went
  № 7  
Ответить с цитированием
went

Регистрация: Nov 2006
Сообщений: 39
Цитата:
Сообщение от Double
а ещё есть дивный _droptarget. всё это богатство доступно любому, при нажатии на кнопочку F1.
более хреновой справки чем во Flash Mx, я честно говоря не видел, но всё же спасибо за совет - гляну.

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

Регистрация: Dec 2005
Сообщений: 219
Отправить сообщение для _sestra_ с помощью ICQ Отправить сообщение для _sestra_ с помощью Skype™
Кстати совет: Слазь ты уже с Flash MX + скачай переведённый хелп с этого форума http://flasher.ru/forum/showthread.php?t=72459
__________________
Счастье - это хорошее здоровье и плохая память

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

Регистрация: Nov 2006
Сообщений: 39
Цитата:
Сообщение от _sestra_
Кстати совет: Слазь ты уже с Flash MX + скачай переведённый хелп с этого форума http://flasher.ru/forum/showthread.php?t=72459
сенкс, какой посоветуете? 8-ку?

Старый 13.11.2006, 13:23
went вне форума Посмотреть профиль Отправить личное сообщение для went Найти все сообщения от went
  № 10  
Ответить с цитированием
went

Регистрация: Nov 2006
Сообщений: 39
Цитата:
Сообщение от Double
а hitTest-ом не было мыслей попользоваться?..
"MovieClip.hitTest Выполняет проверку наложения объекта на точку с указанными координатами"
точка и область пространства вещи несколько разные...

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

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

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


 


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


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