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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.02.2012, 00:56
PlutDem вне форума Посмотреть профиль Отправить личное сообщение для PlutDem Найти все сообщения от PlutDem
  № 21  
Ответить с цитированием
PlutDem
 
Аватар для PlutDem

Регистрация: Feb 2012
Сообщений: 212
Wolsh
Спасибо, добрый человек! А можно ли задавать точку вращения по локальной системе координат объекта, а то сейчас при при перемещении объекта точка, то на месте остается? Уже попробовал center = object.localToGlobal(center); и разумеется получил пресловутое смещение.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ниче не понял.
Вы хотите, чтобы точка, вокруг которой вращается объект, вращалась вместе с ним? Никакого парадокса не замечаете?
__________________
Reality.getBounds(this);

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

Регистрация: Feb 2012
Сообщений: 212
Wolsh
Нет, нет Перемещалась вместе с ним. Т.е. сейчас если поставить точку вращения в центр объекта, то он будет вращаться вокруг своего центра, а если его после этого переместить, то точка вращения будет уже не в центре объекта и , соответственно, вращаться он будет уже по другому.


Последний раз редактировалось PlutDem; 16.02.2012 в 01:35.
Старый 16.02.2012, 01:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 24  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вам надо поспать.
Поворот объекта вокруг точки это любое изменение положения объекта, при котором данная точка объекта не меняет своего положения.
__________________
Reality.getBounds(this);

Старый 16.02.2012, 01:42
PlutDem вне форума Посмотреть профиль Отправить личное сообщение для PlutDem Найти все сообщения от PlutDem
  № 25  
Ответить с цитированием
PlutDem
 
Аватар для PlutDem

Регистрация: Feb 2012
Сообщений: 212
Wolsh
Так я же говорю не про вращение, а про перемещение объекта! Если объект переместить на новые координаты, а точка останется на прежнем месте, то ее положение относительно объекта измениться и вращение будет происходить уже по другому.

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

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Если я правильно понял вам нужно положить вращающийся объект в контейнер, а потом уже перемещайте контейнер с объектом как душе угодно будет.

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
PlutDem, так что Вам мешает-то прибавить одно и то же число к Х объекта и Х точки, Y объекта и Y точки?
fish_r, для этого обязательно нужен контейнер?))
__________________
Reality.getBounds(this);

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

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от Wolsh Посмотреть сообщение
PlutDem, так что Вам мешает-то прибавить одно и то же число к Х объекта и Х точки, Y объекта и Y точки?
fish_r, для этого обязательно нужен контейнер?))
Да, а решение то простое ), не подумал.

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

Регистрация: Feb 2012
Сообщений: 212
Wolsh
А зачем здесь использовать Math.round? У себя отключил, так как из за округления были проблемы, но черт его знает, может оно необходимо?
Код AS3:
object.x = Math.round(center.x + dX0 * c0 - dY0 * s0);
object.y = Math.round(center.y + dX0 * s0 + dY0 * c0);

Старый 04.03.2012, 09:55
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 30  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Разница безусловно есть, было бы терпение подождать. Но если у вас не критично, возникает ли люфт со временем (количеством) поворотов, то можете убрать – из-за необходимости обращения к Math здесь тратятся драгоценные миллисекунды.
MikroAcse Координаты на сцене округляются не до целых, и вкупе с погрешностями тригонометрии возникает накапливаемый люфт.
В данном месте делается попытка восстановить начальные координаты объекта, при его свойстве rotation, равном нулю. Предполагается, что его координаты были целыми.
Все это важно для множественных поворотов. Для одного-двух несущественно.
__________________
Reality.getBounds(this);

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

Теги
rotation
Опции темы
Опции просмотра

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

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


 


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


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