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

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

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

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
Question Мувик следит за мувиком

Проблема такая... На сцене имеются два приатаченых мувика, движением первого из них управляет клавиатура. Нужно заставить второй мувик повторять (копировать) движения первого. Думала сначала просто продублировать функции управляемого мувика во второй, чтобы они тогда уж оба слушали клаву... но что то кажется мне, что это не очень грамотно... Есть ли еще какой способ?

Старый 21.12.2006, 23:19
CCCPirate вне форума Посмотреть профиль Отправить личное сообщение для CCCPirate Найти все сообщения от CCCPirate
  № 2  
Ответить с цитированием
CCCPirate
 
Аватар для CCCPirate

Регистрация: Jun 2006
Сообщений: 1,061
Можно привязать их x и y координаты,

Или что бы слушатель изменял определенную переменную, которую будешь прибавлять к их координатам

Старый 22.12.2006, 00:30
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 3  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
Большой спасиб!)
в неподвижный мувик прописала что то вроде:
Код:
onClipEvent(enterFrame) {
this._x=_root.mc._x;
this._y=_root.mc._y;
}
работает))


Последний раз редактировалось iNils; 22.12.2006 в 12:46.
Старый 22.12.2006, 00:42
Llex3D вне форума Посмотреть профиль Отправить личное сообщение для Llex3D Найти все сообщения от Llex3D
  № 4  
Ответить с цитированием
Llex3D
 
Аватар для Llex3D

Регистрация: Oct 2004
Сообщений: 149
для того что поторяет ( к примеру mov2 следит за mov1):


Код:
mov2.onEnterFrame = function(){
    _x = _root.mov1._x;
    _y = _root.mov1._y;
}

и никаких проблем

Старый 22.12.2006, 00:43
Llex3D вне форума Посмотреть профиль Отправить личное сообщение для Llex3D Найти все сообщения от Llex3D
  № 5  
Ответить с цитированием
Llex3D
 
Аватар для Llex3D

Регистрация: Oct 2004
Сообщений: 149
пока набирал, у тебя решение само нашлось

Старый 22.12.2006, 00:56
Ksюta вне форума Посмотреть профиль Отправить личное сообщение для Ksюta Найти все сообщения от Ksюta
  № 6  
Ответить с цитированием
Ksюta

Регистрация: Dec 2006
Сообщений: 60
Отправить сообщение для Ksюta с помощью ICQ
так тоже хорошо, и мож даже лучше)
вот кстати еще вопрос...
знаю что onClipEvent(enterFrame) грузит проц, потому как непрерывно выполняется.
А в варианте mc.onEnterFrame = function нагрузка меньше?
можно ли что-то вообще другое использовать вместо enterFrame и все ли onClipEventы грузные?
и еще как то говорят удалить можно эту функцию... насколько это действенно?

Старый 22.12.2006, 01:20
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 7  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
onClipEvent(enterFrame) = .onEnterFrame

Бегемот и гиппопотам... первая конструкция onClipEvent - считается устаревшей. Так как не есть возможность повесить событие на созданный программным путём MovieClip

удаляется очень просто.
Пример:
Код:
var mc:MovieClip = this.createEmptyMovieClip("box_mc", this.getNextHighestDepth());
with(mc){
   //рисуем квадрат
}
mc.onEnterFrame = function(){
    this._x++;
    if(this._x > 300){
         trace("На этом движение закончено");
         delete this.onEnterFrame;
    }
}
Альтернативой onEnterFrame, может послужить setInterval
Пример:
Код:
var mc:MovieClip = this.createEmptyMovieClip("box_mc", this.getNextHighestDepth());
with(mc){
   //рисуем квадрат
}
var intervalID:Number = setInterval(move_mc, 30, mc);

function move_mc(_mc:MovieClip):Void{
    _mc._x++;
    if(_mc._x > 300){
       trace("На этом движение закончено");
       clearInterval(intervalID);
    }
}
Приемущество setInterval в том, что там вы можете указать время в милисекундах, а в onEnterFrame время за которое происходит цикличность обусловлена установленным fps (framerate)


Последний раз редактировалось Aziz Zaynutdinoff; 22.12.2006 в 01:22.
Старый 22.12.2006, 02:28
Storm[pfp] вне форума Посмотреть профиль Отправить личное сообщение для Storm[pfp] Найти все сообщения от Storm[pfp]
  № 8  
Ответить с цитированием
Storm[pfp]
 
Аватар для Storm[pfp]

Регистрация: Jul 2005
Сообщений: 188
а еще можно можно поизвращаться с startDrag
по startDrag начинаем перемещать mc2 setInterval'ом
по stopDrag удаляем setInterval

поидее когда не трогаешь , проц не напрягается . . .

Старый 22.12.2006, 03:43
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 9  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
если со startDrag то лучше onMouseMove
а еще лучше оба клипа в один общий поместить и его таскать

Старый 22.12.2006, 04:51
Storm[pfp] вне форума Посмотреть профиль Отправить личное сообщение для Storm[pfp] Найти все сообщения от Storm[pfp]
  № 10  
Ответить с цитированием
Storm[pfp]
 
Аватар для Storm[pfp]

Регистрация: Jul 2005
Сообщений: 188
Цитата:
Сообщение от vic_
еще лучше оба клипа в один общий поместить и его таскать
это если тупо один за другим таскать , а если с эффектами . . . замедление, шлейф и т.д.

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

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

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


 


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


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