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

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

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

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
По умолчанию зависание при расчете угла

Код AS3:
var dx:Number = World.mouseXWorldPhys - position.x;
				var dy:Number = World.mouseYWorldPhys - position.y;
				var rot:Number = Math.atan2(dx, dy * -1);
				trace(rot);
вот такой вот код прекрасно работает и в тре1с выдает нужный угол, а такой
Код AS3:
var dx:Number = World.mouseXWorldPhys - position.x;
				var dy:Number = World.mouseYWorldPhys - position.y;
				var rot:Number = Math.atan2(dx, dy * -1);
angle = rot;
				trace(rot);
не работает и приводит к зависанию плеера и в втрейс выдает NaN. как это объяснить?
Код AS3:
public function set angle(angle:Number):void {
			if (_body) {
				_body.SetAngle(angle);
 
			} else {
				_body_def.angle = angle;
			}
		}
а если angle = rot; заменить на angle = 2; все работает

P.S. код в Event.ENTER_FRAME

Старый 16.08.2012, 02:39
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Потрейсьте ещё и что передается в Math.atan2. Может, установка угла каким-то образом делает NaN World.mouseXWorldPhys или position.x или у координаты и потом оно от этого с ума сходит. Кстати, в atan2 сперва передается у координаты, хотя это относительно =)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 03:05
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 3  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
так дело в том что если убрать angle = rot, то trace(rot) выдаст нормальный результат

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Под "установка угла" я как раз имел в виду "angle = rot".
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 03:13
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 5  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
да. а если например взять angle=1.6, то все прекрасно работает

Добавлено через 5 минут
в других проекахт такой подход работает, тут не хочет

Старый 16.08.2012, 03:19
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Ну и что? Оно же не 2 и не 1.6 устанавливается в нерабочем случае. Но мне спорить не хочется, ок, это эзотерика, наверное просто не судьба, закругляюсь.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 03:25
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 7  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
0.6365082157879511 один из результатов, выведенный в трейс.
angle = 0.6365082157879511; прекрасно работает.
а вот angle = rots; все равно не работает

Добавлено через 2 минуты
а просто не понимаю как такое возможно

Старый 16.08.2012, 03:31
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 8  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Я написал как, у вас dx и/или dу NaN становится почему-то.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 16.08.2012, 03:56
Wolf вне форума Посмотреть профиль Отправить личное сообщение для Wolf Найти все сообщения от Wolf
  № 9  
Ответить с цитированием
Wolf

Регистрация: Jun 2011
Сообщений: 83
Записей в блоге: 1
пффф. бред. вся проблема біла иза того что у меня METERS было int. и Numbers делил на int

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

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

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


 


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


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