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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.01.2014, 01:28
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 11  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Если это так, то скажите, как Вы его туда и по каким критериям перемещаете. Возможно что и угол не нужен.

Добавлено через 42 секунды
я немного глуповат и мне немного тяжело понять по коду весь замысел, но если я Вас ещё немного порасспрашиваю, то возможно и смогу помочь Вы находите центр сцены, затем координаты звездочета.
Затем Вы находите радиус и угол.. Но куда Вы звездочёта вернуть хотите?

Добавлено через 12 минут
Код AS3:
STARGAZER.x = CENTER.x + Math.cos(ANGLE) * 200;
Так у Вас работает, а так нет.
Код AS3:
STARGAZER.x = CENTER.x + Math.cos(ANGLE) * RADIUS;
А чему у Вас тогда равен радиус? Или Вы знаете, что изначально звездочет был на расстоянии равное радиусу 200, и подойдя под углом N, сократя радиус на ( допустим половину ), вернуть его обратно на тот же радиус?

Добавлено через 3 минуты
Или он был перемещён по окружности на расстояния радиуса и Вы хотите обратить угол в спять и вернуть его обратно, при этом радиус в начальной точке и в той в которой он сейчас, неизменен?

Старый 16.01.2014, 01:31
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 12  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Нет, я 200 поставил, чтобы убедиться в работоспособности моего кода.
Координаты x,y задаются случайные.
Но мне интересно именно такое решение, которое я написал выше.

Старый 16.01.2014, 01:35
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 13  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Если в начале звездочёт был удалён на радиус 200, а потом его рандомно куда-то поставили и Вы не знаете не первоначального угла и радиуса, Вы не сможете его вернуть назад.

Добавлено через 55 секунд
Нужно же знать хоть что-то.

Старый 16.01.2014, 01:39
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 14  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Я делаю так:
Создаю звездочёта, присваиваю ему случайные координаты.
Изначально я не знаю на какой радиус он отдалён от центра, но я посчитал так, что если я буду проверять расстояние от центра до звездочёта, то буду иметь радиус, потом определив угол, я просто-напросто поставлю его туда же.

Старый 16.01.2014, 01:52
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 15  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Нет, так нельзя. Полярные координаты служат для того, чтобы перемещать объект по окружности, либо в её пределах. То есть, зная начальные координаты и конечные, можно узнать угол или что-то подобное. Но вот как Вы хотите, это невозможно.

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
const STARGAZERPOINT:Point = new Point(STARGAZER.x,STARGAZER.x);
А здесь два икса это так надо?

Добавлено через 45 секунд
Цитата:
Но вот как Вы хотите, это невозможно.
Че за бред?
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 16.01.2014, 03:15
Dip52 вне форума Посмотреть профиль Отправить личное сообщение для Dip52 Найти все сообщения от Dip52
  № 17  
Ответить с цитированием
Dip52

Регистрация: Aug 2012
Сообщений: 297
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Код AS3:
const STARGAZERPOINT:Point = new Point(STARGAZER.x,STARGAZER.x);
А здесь два икса это так надо?
Спасибо. Выручили.

Старый 16.01.2014, 03:32
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 18  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Че за бред?
Если честно сказать, то я сомневаюсь что правильно понял. Но если учесть, что я не смог выудить информацию о движении объекта, то мне показалось что надо - объект был в (0,0), потом задали координаты случайные, а потом нужно узнать, где объект был До этого. И если учесть что -
Цитата:
Или он был перемещён по окружности на расстояния радиуса и Вы хотите обратить угол в спять и вернуть его обратно, при этом радиус в начальной точке и в той в которой он сейчас, неизменен?
было проигнорировано, то получается что отката угла в ноль не надо.

Старый 16.01.2014, 04:42
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 19  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
а это Вы делите на .2. я это к тому, что я раньше не знал этого
конечно не знал, потому что здесь делится на 5, и это эквивалентно записи
Код AS3:
 x * 0.2;
я так понимаю, тема уже не актуальна, но так для заметки

Цитата:
Сообщение от Dip52 Посмотреть сообщение
Код AS3:
const CENTER:Point = new Point(Settings.mainContainer.stageWidth/2,Settings.mainContainer.stageHeight/2);
не делайте вот такие записи, они не нужны, Settings.mainContainer.stageWidth/2 - это константа, которая уже известна после инициализации, не нужно ее высчитывать по mouseMove, достаточно высчитать ее один раз,
можно даже ее сделать статичной.


Последний раз редактировалось Isfet; 16.01.2014 в 10:27.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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