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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.09.2012, 17:46
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 11  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
ок, по порядку
Цитата:
Сообщение от Tails Посмотреть сообщение
Координаты чего? Точки центра красного спрайта?
Если я правильно понял, вы хотите использовать его как контейнер?
координата центра счисления (0,0), красный спрайт используется только как "исходное" пространство для отсчета, в "реальности" в пикселях он может быть и 100*200, 1.9*577.1, то есть совсем абстрактная площадь, не суть
Цитата:
Сообщение от Tails Посмотреть сообщение
Сделайте тогда точку регистраций красного спрайта в верхнем левом углу, это сделает задачу на 20% проще.
не могу, красный квадрат это абстрактная вещь, она не может быть нигде кроме центра отсчёта, по сути её вообще нет, её нарисовал для наглядности, чтоб было видно как трансформируется пространство координат
Цитата:
Сообщение от Tails Посмотреть сообщение
Объясните что это у вас за зелёный квадрат который вам нужно двигать, где он находиться ? Внутри красного квадрата?
зеленый квадрат не двигается, он для пояснения, как точка в обоих координатных пространствах, то что он внутри красного квадрата, показывает его положение, он не может существовать вне его, его положение за красным вообще не рассматривается
Цитата:
Сообщение от Tails Посмотреть сообщение
Объясните причём тут евклидовое пространство, нужно вводить и выводить координаты в нём?
да, мне нужно конвертировать координаты всех детей мувиклипа в указанные

вот исходник текста тех. задания, на всякий
Цитата:
Переделать экспорт анимации из редактора
формат такой

{
"loopCount": "integer",
"sprites": [{
"name": "string",
"anchorX": "float",
"anchorY": "float",
"id": "integer"
}, …
],
"animations": [{"frame": [{"id": "integer",
"x": "float",
"y": "float",
"r": "float",
"z": "integer",
"t": "float"
}, …
],...
},…
],
}

loopCount = 0 анимация зациклена. иначе повторяется столько раз, сколько указано

Массив sprites содержит информацию о всех спрайтах анимации
name - название спрайта (без расширения)
anchorX и anchorY - координаты якорной точки вокруг которой будет крутиться спрайт. использует нормализованную евклидову координатную систему, т.е.
(-1, 1)--------(0, 1)--------(1, 1)
(-1, 0)--------(0, 0)--------(1, 0)
(-1, -1)-------(0, -1)-------(1, -1)
где точка (0, 0) центр спрайта
id - уникальный номер спрайта

массив animations содержит все кадры анимации (состоит из элементов frame)

массив frame содержит информацию о всех ВИДИМЫХ (если информации о спрайте в конкретном кадре нет, значит его не видно) спрайтах данного кадра
id - ссылка на спрайт из массива sprites
x и y - положение спрайта относительно центра всей области анимации (если представить человека в профиль и выделить части голова, туловище, рука, нога, то координаты спрайтов будут такие голова (0, 1), туловище (0, 0), рука (0, 0.5), нога (0, -0,5)). используется нормализованная система (см. выше)
r - угол поворота спрайта (против часовой стрелки, в градусах)
z - z order спрайта. 0 - самый дальний слой. чем больше цифра, тем выше слой
t - время показа кадра (в сек)

Старый 13.09.2012, 17:47
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 12  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Во флеше абсолютно такая же евклидова система координат, только Y напрвлен вниз, а не вверх. Откуда такие промахи в расчетах я просто недоумеваю

Старый 13.09.2012, 17:49
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 13  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Цитата:
Сообщение от i.o. Посмотреть сообщение
ShockWave512, вы по какой формуле переводите "флеш" координаты в свои, что у вас площадь увеличивается аж 2 раза?
я не перевожу еще ни по какой формуле, я её исчу на данный момент
площадь на самом деле не увеличивается, это так описана задача на картинке, что она увеличена, на самом деле она так визуально выглядит

при переходе из одной системы координат в другую, нельзя говорить что у объекта изменилась площадь, она осталась прежней, но описана в другой системе отсчета

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Ну так если масштабирования нет, координаты в эвклиде будут те-же, только игрик сменит знак и всё.
__________________
Дети не должны знать о своих родителях

Старый 13.09.2012, 18:08
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 15  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
2expl - 3ds max
Спасиб, было понадеялся что-то по-проще появилось, ну да ладоно.

Старый 13.09.2012, 18:31
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 16  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Цитата:
Сообщение от Tails Посмотреть сообщение
Ну так если масштабирования нет, координаты в эвклиде будут те-же, только игрик сменит знак и всё.
не те же в любом случае, исходная имеет диапазон от 0 до 1
а новая от -1 до 1
масштабирование, есть но выглядит оно по другому
если у вас есть теория, просто посчитайте её на тестовых исходных точках например (0.1, 0.1) и (0.9, 0.9), если точка выползает за красное, значит ошибка, если точка находится в другом квадранте (например правый нижний сменился на левый верхний) тоже где то ошибка

Старый 13.09.2012, 18:46
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 17  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Опробуйте
Код AS3:
function getCoord( src:Point ) : Point
{
    var dst:Point = new Point();
    dst.x = 2.0 * (src.x - 0.5);
    dst.y = 2.0 * (0.5 - src.y);
    return dst;
}

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

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Раз масштабирование в 2 раза, то и умножайте координаты на 2:
Код AS3:
var a = 0.1;
var b = 0.9;
 
trace(a*2);
trace(b*2);
Если новые координаты должны находиться в диапазоне -1:1 вычитаем из координат половину:
Код AS3:
var a = 0.1;
var b = 0.9;
 
trace(a*2-1);
trace(b*2-1);
Для получения евклида, используем полученные координаты, только для y меняем знак.
__________________
Дети не должны знать о своих родителях

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

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
i.o. - спасибо, огромное, работает!
пока не поместил на макет, думал что не правильно
Миниатюры
Нажмите на изображение для увеличения
Название: euclid3.jpg
Просмотров: 247
Размер:	81.6 Кб
ID:	28448  

Старый 13.09.2012, 19:43
Simplifier вне форума Посмотреть профиль Отправить личное сообщение для Simplifier Найти все сообщения от Simplifier
  № 20  
Ответить с цитированием
Simplifier

Регистрация: Jun 2011
Сообщений: 60
Похоже, что топикстартер запутался. В задании ничего не говорится о том, что масштаб координатных систем различается.
Цитата:
(-1, 1)--------(0, 1)--------(1, 1)
(-1, 0)--------(0, 0)--------(1, 0)
(-1, -1)-------(0, -1)-------(1, -1)
Скорее всего, это координаты сумм единичных векторов флешовой координатной системы в евклидовой. И видно, что они отличаются только знаком по у.

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

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

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


 


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


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