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

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

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
По умолчанию рэндомные направления движения объекта

Подскажите, как можно по событию генерировать новое направление движения объекта, который находится внутри этого круга?
Нужно, что бы объект произвольно выбирал себе направление (к примеру красные точки – это его, как бы цель, и она должна генерироваться всегда поразомну)
Изображения
 

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Ну, 2 точки есть, значит между ними можно проделать кривую. Составляем систему уравнений: первое уравнение t = 0, позиция = 0, второе - t=(путь)/(скорость), позиция = конечная и добавляем туда всякой ерунды, лишь бы система не потеряла своей силы.

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
чую аквариум)
__________________
low +

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
да никак не получается с ним совладать, гг

Добавлено через 46 минут
Поправьте, пожалуйста, опечатку в теме =)

Старый 23.08.2010, 21:07
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 5  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,723
Как вариант (без точек), можно клипу идти от его угла, а угол задавать случайно.
То есть
Код AS3:
const PI:Number = Math.PI;
var speed:Number = 5;
//....
angle = clip.rotation * PI / 180;
xMove = speed * Math.cos(angle);
yMove = speed * Math.sin(angle);
clip.x += xMove;
clip.y += yMove;
Но так как это аквариум, тут поворот угла ни к чему и вместо rotation нужно завесьти переменную и рандомить ее

Старый 23.08.2010, 22:40
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
//координаты объекта: objX, objY
//рандомный угол a = 2 * Math.random() * Math.PI;
//рандомная точка на окружности (R * Math.cos(a), R * Math.sin(a))
//направление на эту точку fi=Math.atan2(r * Math.sin(a) - objY, R * Math.cos(a) - objX);
//скорости speed*Math.cos(fi) и speed*Math.sin(fi)

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

Регистрация: Nov 2008
Адрес: Moscow
Сообщений: 493
Отправить сообщение для Dr_Bra с помощью ICQ
Цитата:
Сообщение от ZIK68 Посмотреть сообщение
Как вариант (без точек), можно клипу идти от его угла, а угол задавать случайно.
То есть
Код AS3:
const PI:Number = Math.PI;
var speed:Number = 5;
//....
angle = clip.rotation * PI / 180;
xMove = speed * Math.cos(angle);
yMove = speed * Math.sin(angle);
clip.x += xMove;
clip.y += yMove;
Но так как это аквариум, тут поворот угла ни к чему и вместо rotation нужно завесьти переменную и рандомить ее
Тогда нужно завести еще одну переменную clipRotation и ее генерировать рэндомно от 0 до 360?

Добавлено через 43 минуты
Большое спасибо за помощь!


Последний раз редактировалось Dr_Bra; 24.08.2010 в 13:05.
Старый 24.08.2010, 14:25
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 8  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,723
Цитата:
Сообщение от Dr_Bra Посмотреть сообщение
Тогда нужно завести еще одну переменную clipRotation и ее генерировать рэндомно от 0 до 360?
По сути да

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
ZIK, а зачем ты PI вынес в константу? )

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
ZIK, а зачем ты PI вынес в константу? )
гыыгыы. Быстрее писать.

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

Теги
движение , направление , разное , рэндом
Опции темы
Опции просмотра

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

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


 


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


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