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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.03.2007, 20:05
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 1  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
По умолчанию Как применить ф-цию к объекту мгновенно несколько раз?

У меня такая ситуация:

есть мячик, его движение описано ф-цией, скажем, movement, тоесть
Код:
 myachik.onEnterFrame = movement;
после того, как мячик отбит персонажем, я хочу вычислить, где мячик будет через 50 фреймов. Для этого хочу продублировать объект мячика и применить к нему ф-цию movement, по которой летает мячик, но применить не один раз за кадр, а сразу 50 раз. Чтоб продублированный объект оказался сейчас на том месте и в том положении, где оригинальный мячик окажется через 50 кадров. Надеюсь, изложил понятно. Как мне это реализовать?
__________________
Платон мне друг, но истина в вине.

Старый 05.03.2007, 20:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
В цикле.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2007, 20:21
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 3  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
в том и вопрос, как в цикле правильно записать? Как применить ф-цию к объекту не по событию?
__________________
Платон мне друг, но истина в вине.

Старый 05.03.2007, 20:23
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Внутри movement.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2007, 20:35
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 5  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
Все предельно ясно. :-/
__________________
Платон мне друг, но истина в вине.

Старый 05.03.2007, 20:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код:
onEnterFrame = movement;
function movement () {
	for (var i = 0; i < 10; i++) {
		trace ("тут мячик будет через " + i + " кадров относительно текущего")
	}
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2007, 21:07
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 7  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
а, тоесть надо писать другую ф-цию.. Я имел в виду, КАК применить именно уже написанную ф-цию к объекту 50 раз. Дело в том, что ф-ция довольно сложная, с ротейшнами, ускорениями и т.п. Я думал, что можно ее же использовать для моих целей...
__________________
Платон мне друг, но истина в вине.

Старый 05.03.2007, 21:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Включите смекалку
Код:
onEnterFrame = cycle;
function cycle () {
	for (var i = 0; i < 10; i++) {
		movement ();
	}
}
function movement () {
	/*
	тут суперсложная функция
	*/
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Feb 2007
Адрес: Москва
Сообщений: 128
ммм... включаем супесмекалку.
У сложной траектории есть какаянибудь математическая модель?
Если есть - то у нас на руках начальные координаты и функция зависимости кординат от времени, т.е.
y=y0+f1(t);
x=x0+f2(t);
Подставляем t=50.... барабанная дробь...
Получаем конечную точку.
__________________
| -=[JOB]=- | -=MyWay=- |

Старый 05.03.2007, 21:23
sinya вне форума Посмотреть профиль Отправить личное сообщение для sinya Посетить домашнюю страницу sinya Найти все сообщения от sinya
  № 10  
Ответить с цитированием
sinya
 
Аватар для sinya

Регистрация: Apr 2003
Адрес: Ukraine, Kiev
Сообщений: 189
Отправить сообщение для sinya с помощью ICQ
Мне подсказали, что функцию movement можно описать вот так:
Код:
MovieClip.prototype.movement=function() {}
я проверил, теперь ее можно применять к другим объектам, в цикле и не по событию. Иначе нельзя. Работает, хотя что за prototype я не знаю =) Вот такое решение я и искал.
__________________
Платон мне друг, но истина в вине.

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

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

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


 


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


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