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

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

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

Регистрация: Mar 2006
Сообщений: 7
По умолчанию Соединение тени с изображением проверка результата.

Добрый день. У меня вот какой вопрос. В учебнике по AS2 , есть пример игры, где нужно соединить изображение трех мультяшек с их тенью, я хотела, попробовать сделать нечто подобное, только, когда на все тени перетянуть изображения, проигрывался ролик или оуществлялся переход на следующий кадр, я знаю как сделать это с помощью кнопки проверки, а возможно ли это сделать просто написанием кода в кадре?
Вот пример игры из учебника
Код AS1/AS2:
function dropToBase(clip:MovieClip, lockCenter:Boolean, initX, initY, base:MovieClip) {
clip.onPress = function() { // При нажатии...
// Делаем клип, по которому щелкнули курсором самым верхним в стопке
	this.swapDepths(this._parent.getNextHighestDepth());
// Сохраняем расстояние от курсора в момент нажатия до точки регистрации клипа
	var xDist = this._x - this._parent._xmouse;
	var yDist = this._y - this._parent._ymouse;
	this.onMouseMove = function() { // При перемещении курсора...
// Перетаскивание
		if(lockCenter){/* Если при перетаскивании курсор должен находиться в точке регистрации клипа... */
		this._x = this._parent._xmouse;
		this._y = this._parent._ymouse;
		}
		else {/* Если при перетаскивании курсор должен находиться в точке, где он был в момент нажатия на клип или, если параметр lockCenter не указан...*/
		this._x = this._parent._xmouse+xDist;
		this._y = this._parent._ymouse+yDist;
		}
		updateAfterEvent(); //Обновление экрана
	};
};
clip.onRelease = function() { // При отпускании кнопки мыши...
	/* Если клип "сброшен" в требуемую область (клип base),он центрируется по этой 	области */
	if(base.hitTest(_root._xmouse, _root._ymouse, true)){
	this._x = base._x;
	this._y = base._y;
	}
	// Если клип "сброшен" мимо цели, возвращаем его в исходное положение
	else {
	this._x = initX;
	this._y = initY;
	}
	delete this.onMouseMove; // Прекращаем перетаскивание
};
}
var clipNum:Number = 4;
for (i = 1; i <= clipNum; i++) {
	dropToBase(this["mc" + i], false, this["mc" + i]._x, this["mc" + i]._y, this["base" + i]);
}
Если, кто-нибудь сможет подсказать, буду очень благодарна.

Старый 11.03.2013, 22:14
alex_195 вне форума Посмотреть профиль Отправить личное сообщение для alex_195 Найти все сообщения от alex_195
  № 2  
Ответить с цитированием
alex_195

Регистрация: Apr 2009
Сообщений: 104
Задать переменную-счетчик и в onRelease при положительном результате добавлять к счетчику 1. Если счетчик = clipNum, то переход _root на следующий кадр.(Если я правильно понял).

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

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

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


 


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


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