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

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

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

Регистрация: Nov 2005
Сообщений: 4
Cool и снова убегающая кнопка

Есть скрип убегающей от курсора кнопки. Скрипт вставлен в пустой фрейм, кнопка нарисована, всё бегает.
Задача 1:
Ограничить "убегание" кнопки рабочим полем 468х60 (это баннер).
Задача 2:
Отследить координаты курсора, и когда он находится за пределами баннера - плавно вернуть кнопку в центр поля.

Местный поиск юзаю уже третий день, что-то нашла по кусочкам, но категорически не понимаю как это всё соединить в одном скрипте. Как только добавляю новую строку к существующему коду - всё перестает работать. Буду чудовищно рада, если вы поможете дополнить код.

Собственно, вот он:

Код:
this.dist = function () {
	return Math.sqrt (Math.pow (this._xmouse - this.mc._x, 2) + Math.pow (this._ymouse - this.mc._y, 2));
};
this.move = function () {
	var r = this.dist ();
	if (r < 90) {
		var dr = (70- r) / 1;
		var u = Math.atan2 (this._ymouse - this.mc._y,  this._xmouse - this.mc._x);
		this.mc._x -= dr * Math.cos (u);
		this.mc._y -= dr * Math.sin (u);
	} else {
		delete this.onEnterFrame;
	}     
};
this.onMouseMove = function () {
	if (this.dist () < 80) {
		this.onEnterFrame = this.move;
	}
	};

function check(mc:MovieClip){
  var upY:Number=Stage.height/2+(mc._height/2-Stage.height/2);
  var downY:Number=Stage.height/2-(mc._height/2-Stage.height/2);
  var rightX:Number=Stage.width/2+(mc._width/2-Stage.width/2);
  var leftX:Number=Stage.width/2-(mc._width/2-Stage.width/2);
  if(mc._y>=upY){
    mc._y-=4;
  }
  if(mc._y<=downY){
    mc._y+=4;
  }
  if(mc._x>=rightX){
    mc._x-=4;
  }
  if(mc._x<=leftX){
    mc._x+=4;
  }
}
Пасиб.

Старый 25.05.2007, 13:48
linza вне форума Посмотреть профиль Отправить личное сообщение для linza Найти все сообщения от linza
  № 2  
Ответить с цитированием
linza
[+1 25.07.08]

Регистрация: Nov 2005
Сообщений: 4
всё, отбой. получилось почти то, что нужно))
но если кто-то пожелает ответить - будет много пользы.

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

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

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


 


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


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