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

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

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от silin Посмотреть сообщение
ну да, по точке D или C в глобальных координатах посчитать нужный угол не сложно, только для этого мувик уже должен быть повернут на этот угол
Хм.. совсем не обязательно мувик должен быть уже повёрнут ) Всё ведь работает.
Код AS3:
public class Main extends Sprite
{
	private var cannon:Sprite;
	private var localD:Point=new Point(0,50)
 
	public function Main()
	{
		//draw cannon
		cannon = new Sprite();
		cannon.graphics.lineStyle(10);
		cannon.graphics.moveTo( 0, -50);
		cannon.graphics.lineTo(0, 50);
		cannon.graphics.lineTo(50,50);
		cannon.graphics.lineStyle(1, 0xC0C0C0);
		cannon.graphics.moveTo(localD.x, localD.y);
		cannon.graphics.lineTo(localD.x + 500, localD.y);
		cannon.x = 400;
		cannon.y = 300;
		addChild(cannon);
 
		stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMove);
	}
 
	private function stage_mouseMove(e:MouseEvent):void 
	{
		var gPoint:Point = cannon.localToGlobal(localD);
		var dx:Number = mouseX - gPoint.x;
		var dy:Number = mouseY - gPoint.y;
		var ang:Number = Math.atan2(dy, dx);
 
		cannon.rotation = ang  * (180 / Math.PI);
	}
 
}
silin я совершенно не против вашего метода, не подумайте. Ваш код умнее моего варианта, потому что геометрия для меня - китайская грамота.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>совсем не обязательно мувик должен быть уже повёрнут ) Всё ведь работает.
работает, но не точно
для MOUSE_MOVE эта неточность мизерна
но если посадить тоже самое на CLICK, например, то сразу станет понятно о чем речь: 'правильный' угол достигается только за несколько кликов\итераций

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от silin
'правильный' угол достигается только за несколько кликов\итераций
Да, вы правы. Спасибо.

Старый 18.04.2013, 15:13
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 24  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Ребята, спасибо за помощь!

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

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

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


 


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


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