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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.04.2006, 16:36
chotkiy вне форума Посмотреть профиль Отправить личное сообщение для chotkiy Найти все сообщения от chotkiy
  № 1  
Ответить с цитированием
chotkiy
[+1.3 16.11.06]

Регистрация: Sep 2005
Адрес: Москва
Сообщений: 19
Question Вопрос на тему Random'a

Здраствуйте
я создал movie clip с кнопкой, бегающий от мышки принажатии на него, используя следущий скрипт:

on (press) {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
this._x = random(365);
this._y = random(233);
}
}


Как сделать так, чтобы спустя какое-то время (несколько секунд) после перемещения, movie clip возвращался в первоначальные координаты?

Старый 20.04.2006, 17:06
RandomUser вне форума Посмотреть профиль Отправить личное сообщение для RandomUser Найти все сообщения от RandomUser
  № 2  
Ответить с цитированием
RandomUser

Регистрация: Mar 2006
Адрес: Odessa
Сообщений: 157
По умолчанию Пользуемся волшебной кнопкой F1

Не понял, зачем тебе здесь hitTest, если при нажатии на клип он всегда будет срабатывать...

Нажимаешь F1, а в строку поиска вводиш setInterval или clearInterval...

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

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
Код:
import mx.utils.Delegate;

var timeOutID:Number=null;
var oldButtonX:Number=null;
var oldButtonY:Number=null;
button.onPress=Delegate.create(this,onButtonPress);

function onButtonPress():Void{
	clearInterval(timeOutID);
	oldButtonX=button._x;
	oldButtonY=button._y;
       button._x=100*Math.random();
	button._y=100*Math.random();	
	timeOutID=setTimeout(returnToOldPlace,1000);
};

function returnToOldPlace():Void{
	button._x=oldButtonX;
	button._y=oldButtonY;
};
Примерный код. button - название твоего MovieClip'a

Старый 20.04.2006, 18:59
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
да тока лучше в returnToOldPlace() поставить clearInterval
а то када на 1 переменную повесят 15 интервалов... мне жалко ету переменную...

Старый 20.04.2006, 19:01
chotkiy вне форума Посмотреть профиль Отправить личное сообщение для chotkiy Найти все сообщения от chotkiy
  № 5  
Ответить с цитированием
chotkiy
[+1.3 16.11.06]

Регистрация: Sep 2005
Адрес: Москва
Сообщений: 19
var timeOutID:Number=0;
var oldButtonX:Number=0;
var oldButtonY:Number=0;
Я вбил вот этот скрипт, кнопка перемещается по рандому, но не возвращается на исходную позицию:

var timeOutID:Number=0;
var oldButtonX:Number=0;
var oldButtonY:Number=0;
button.onPress=this.onButtonPress;

function onButtonPress() {
clearInterval(timeOutID);
oldButtonX=button._x;
oldButtonY=button._y;
button._x=Math.random()*100;
button._y=Math.random()*100;
timeOutID=setTimeout(returnToOldPlace,10);
};

function returnToOldPlace() {
button._x=oldButtonX;
button._y=oldButtonY;
};

Старый 21.04.2006, 07:29
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Канешно работать не будет!
Функции setTimeout в жизни у флэша небыло.
Был setInterval
Лови, пенчекряка (хто такой пенчекряка?)
Код:
var timeOutID:Number=0;
var oldButtonX:Number=0;
var oldButtonY:Number=0;

var timeOutID:Number=0;
var oldButtonX:Number=0;
var oldButtonY:Number=0;
button.onPress=this.onButtonPress;

function onButtonPress() {

oldButtonX=button._x;
oldButtonY=button._y;
button._x=Math.floor(Math.random()*500);
button._y=Math.floor(Math.random()*500);
timeOutID=setInterval(returnToOldPlace,500);
};

function returnToOldPlace() {
clearInterval(timeOutID);
button._x=oldButtonX;
button._y=oldButtonY;
};

Старый 21.04.2006, 07:42
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Ух ты! Вдруг вычитал што setTimeout есть..
Извиняюсь за тот пост - помоему тады должно быть _global.setTimeout...
лана кароч не бери в голову. Пользуйся тем.

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

Регистрация: Oct 2005
Адрес: Russia, Moscow
Сообщений: 316
Отправить сообщение для Sneg с помощью ICQ
Использовать _global необходимо только во внешних .as файлах (классах), а _root работает без _global.

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

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

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


 


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


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