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

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

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

Регистрация: Mar 2010
Адрес: г.Златоуст
Сообщений: 19
Отправить сообщение для MkTwo с помощью ICQ
По умолчанию Перемещение мувиклипа

Столкнулся с проблемой - не могу сделать так, чтобы мувиклип "плавал" по экрану, не выходя за его пределы... Нужен эффект прицела "шарящего" по экрану. Все мои познания сводятся к clip._x = random(100);

Старый 07.04.2010, 20:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Задайте пределы по координатам и водите мувик по сцене, например, с помощью setInterval или onEnterFrame, время от времени меняя рандомно шаг движения и его знак (+-).

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

Регистрация: Mar 2010
Адрес: г.Златоуст
Сообщений: 19
Отправить сообщение для MkTwo с помощью ICQ
поподробнее пожалуйста, я только учусь)

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

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
Я бы с Tween Motion делал бы.
Если надо не програмное решение, то Motion Guide
http://articles.antory.ru/adobe-flas...ciya-vo-flash/

Старый 07.04.2010, 21:16
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Держите. Немного иначе, чем я посоветовал.
Исходник тоже есть.

Перемещается прицел pricel_mc в заданных пределах координат по рандомным точкам и за рандомное время.

Код AS1/AS2:
import mx.transitions.Tween;
 
//задаем левый верхний угол области движения
var topLeftX:Number = (275 - 400/2) + 20; 
var topLeftY:Number = (200 - 300/2) + 20;
 
//задаем правый нижний угол области движения
var botRightX:Number = (275 + 400/2) - 20; 
var botRightY:Number = (200 + 300/2)- 20;
 
//задаем врменные пределы движения между конечными точками, в секундах
var timeMin:Number = 2; 
var timeMax:Number = 10;
 
//функция, отвечающая за организацию движения в указанные координаты X и Y и за указанный в секундах промежуток времени
function moveIt (xMove:Number, yMove:Number, timeMove:Number):Void {
	var xTween:Tween = new Tween(pricel_mc, '_x', mx.transitions.easing.None.easeNone, pricel_mc._x, xMove, timeMove, true);
	var yTween:Tween = new Tween(pricel_mc, '_y', mx.transitions.easing.None.easeNone, pricel_mc._y, yMove, timeMove, true);
	//вызов следующего шага после окончания данного
	xTween.onMotionFinished = nextPoint;
}
 
function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.floor(Math.random()*(max - min)) + min;
  return randomNum;
}
 
//переход к следующей точке - вычисления вводных и активация движения
function nextPoint () {
	//вычисляем рандомные координгаты конечной точки в заданных пределах
	var xFinish:Number = randRange (topLeftX, botRightX);
	var yFinish:Number = randRange (topLeftY, botRightY);
	//вычисляем рандомный промежуток времени для движения, в секундах
	var timeFinish:Number = randRange (timeMin, timeMax);
	//запусаем очередное движение
	moveIt (xFinish, yFinish, timeFinish);
}
 
//начальный старт движения с кнопки
start_btn.onRelease = nextPoint;
 
//либо автостарт
//nextPoint();
Поставьте поменьше timeMin и timeMax, шустрее будет бегать. Например, 2 и 3.
Естественно, время timeMin < timeMax.

PS. Можно ввести плюшку - нормировать время прохождения в зависимости от координат конечных точек, с тем, чтобы скорость прохождения была одинаковой...
Попробуйте, если захотите так...
Вложения
Тип файла: rar Рандомно бродит прицел.rar (9.6 Кб, 48 просмотров)


Последний раз редактировалось mooncar; 07.04.2010 в 21:28.
Старый 07.04.2010, 21:21
MkTwo вне форума Посмотреть профиль Отправить личное сообщение для MkTwo Найти все сообщения от MkTwo
  № 6  
Ответить с цитированием
MkTwo
 
Аватар для MkTwo

Регистрация: Mar 2010
Адрес: г.Златоуст
Сообщений: 19
Отправить сообщение для MkTwo с помощью ICQ
За руководство спасибо большое) И за скрипт - это как раз то что нужно) А вот вопрос - почему начальные координаты заданы не просто числом, а выражением?


Последний раз редактировалось MkTwo; 07.04.2010 в 21:28.
Старый 07.04.2010, 21:32
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Я думал, вы догадаетесь.
Это, чтобы было понятно, как вычислялось.
Например:
Код AS1/AS2:
var topLeftX:Number = (275 - 400/2) + 20;
275 - это X-координата центра прямоугольной области
400 - ширина прямоугольной области
20 - половина диаметра прицела (т.е. радиус)
Получаем крайний левый предел по X.

Остальное - по аналогии.

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

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

Регистрация: Mar 2010
Адрес: г.Златоуст
Сообщений: 19
Отправить сообщение для MkTwo с помощью ICQ
точно) там просто прямоугольник был закрыт от редактирования) теперь ясно)

Добавлено через 7 минут
почему-то выдаёт ошибку при экспорте...syntax error в первой строке, причём только в моём файле, при экспорте исходника всё норм... можно как-то обойтись без экспорта mx.transitions.Tween?

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

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
как вариант, на много проще, без всяких рандомов и твинов
Вложения
Тип файла: rar sight.rar (6.1 Кб, 43 просмотров)

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

Регистрация: Mar 2010
Адрес: г.Златоуст
Сообщений: 19
Отправить сообщение для MkTwo с помощью ICQ
Цитата:
Сообщение от KiL33 Посмотреть сообщение
как вариант, на много проще, без всяких рандомов и твинов
у меня почему-то на ActionScript 1.0 не пашет, тока на 2.0, а нужно именно на первом

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

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

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


 


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


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