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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.07.2012, 20:35
CyberDude вне форума Посмотреть профиль Отправить личное сообщение для CyberDude Найти все сообщения от CyberDude
  № 11  
Ответить с цитированием
CyberDude
[+3 31.07.12]
[+1 27.08.13]
 
Аватар для CyberDude

Регистрация: Mar 2011
Адрес: 48.434715,35.032285
Сообщений: 56
Отправить сообщение для CyberDude с помощью Skype™
Почему бы не подписать сцену на событие MouseDown а затем, по сему событию сохранять координаты точки, и относительно этой точки считать угол?
__________________
Хоть ты эту красоту не назовёшь граблями, всё равно никогда не наступай на них.

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

Регистрация: Jun 2012
Сообщений: 70
Цитата:
Сообщение от CyberDude Посмотреть сообщение
Почему бы не подписать сцену на событие MouseDown а затем, по сему событию сохранять координаты точки, и относительно этой точки считать угол?
у меня, чтобы крутить обьект, по нему нужно сначала кликнуть и потом делать вращательные движения мышкой в любом месте
__________________
Блог: http://devizgl.blogspot.com/

Старый 13.07.2012, 00:33
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 13  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
у меня, чтобы крутить обьект, по нему нужно сначала кликнуть и потом делать вращательные движения мышкой в любом месте
А в чём удобство то такого подхода? Всмысле чтобы перестать крутить надо еще раз кликнуть чтоли? Дык ведь придется аккуратно назад подводить, чтобы не повернуть еще раз. Цель вызвать раздражение у юзера?

Старый 13.07.2012, 00:47
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 14  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Думаю, что бы перестать крутить надо просто кликнуть, в любом месте экрана , и текущий выбор запомнится, вращение остановится.

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

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

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

Регистрация: Jun 2012
Сообщений: 70
Да, как вариант строить окружность по 3 последним точкам и проверять относительно её центра, в какую сторону пользователь вращает курсор. Попробую и отпишусь о результатах.

Добавлено через 9 часов 48 минут
Сделал так:
Есть массив(очередь) из 3 точек(координаты курсора), через определенное время(например 100 мс), выбрасываем первую точку и добавляем последнюю(текущие координаты курсора). Еще храним предыдущую позицию курсора, записывается на каждом шаге.
Теперь рассчитываем центр окружности по таким точкам: 1) точка с индексом 0 в массиве координат, 2) предыдущая позиция курсора, 3) текущая позиция.
Находим угол поворота между предыдущей позицией курсора и текущей относительно центра окружности. Этот угол и будет коэффициентом поворота. Можно попробовать рассчитывать этот коэффициент как расстояние между пред. и текущей координатами курсора.

Можно еще попробовать строить окружность по другим точкам, покрутить время удаления/добавления точек и т.д.
__________________
Блог: http://devizgl.blogspot.com/


Последний раз редактировалось vizgl; 13.07.2012 в 15:17.
Создать новую тему Ответ Часовой пояс GMT +4, время: 04:55.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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