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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

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

Регистрация: Jul 2010
Сообщений: 71
в общем получилась такая конструкция:
Код AS3:
var body1:b2Body;
var body2:b2Body;
body1 = m_world.CreateBody(bodyDef);
body2 = m_world.CreateBody(bodyDef);
 
var jointDef:b2RevoluteJointDef = new b2RevoluteJointDef();
jointDef.Initialize(body1, body2, body1.GetWorldCenter());
jointDef.enableLimit = true;
jointDef.enableMotor = false;
компилится без ошибок но соединение не создается
объекты движутся независимо
версия 2.0.2

Старый 30.11.2011, 21:01
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 12  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
надо вызывать world.CreateJoint(тут нужный шаринир);

Старый 30.11.2011, 23:10
provigator вне форума Посмотреть профиль Отправить личное сообщение для provigator Найти все сообщения от provigator
  № 13  
Ответить с цитированием
provigator

Регистрация: Jul 2010
Сообщений: 71
Код AS3:
var jointDef:b2RevoluteJointDef = new b2RevoluteJointDef();
jointDef.Initialize(body1, body2, body1.GetWorldCenter());
m_world.CreateJoint(jointDef);
jointDef.enableLimit = true;
jointDef.enableMotor = false;
соединение получилось
тела вращаются относительно друг друга вокруг точки их соединения
как отключить вращение?
надо получить жесткое соединение - в моем случае соединить два прямоугольника и получить один


Последний раз редактировалось provigator; 30.11.2011 в 23:12.
Старый 01.12.2011, 07:36
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 14  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ну очевидно же,
Joint#SetLimits(0, 0);
документация на что?

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

Регистрация: Jul 2010
Сообщений: 71
Код AS3:
jointDef.SetLimits(0, 0);
ошибка:
1061: Call to a possibly undefined method SetLimits through a reference with static type Box2D.Dynamics.Joints:b2RevoluteJointDef.
версия 2.0.2

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
ну очевидно же,
Joint#SetLimits(0, 0);
документация на что?
Цитата:
Код AS3:
jointDef.SetLimits(0, 0);
ошибка:
1061: Call to a possibly undefined method SetLimits through a reference with static type Box2D.Dynamics.Joints:b2RevoluteJointDef.
версия 2.0.2
Вы не внимательны, m_world.CreateJoint(jointDef) вернет вам b2RevoluteJoint, у которого надо вызывать setlimits
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 01.12.2011, 14:34
provigator вне форума Посмотреть профиль Отправить личное сообщение для provigator Найти все сообщения от provigator
  № 17  
Ответить с цитированием
provigator

Регистрация: Jul 2010
Сообщений: 71
Код AS3:
m_world.SetLimits(0, 0);
такой код тоже выполняется с ошибкой
как правильно вызвать метод SetLimits?

Старый 01.12.2011, 15:34
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 18  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Цитата:
Вы не внимательны, m_world.CreateJoint(jointDef) вернет вам b2RevoluteJoint, у которого надо вызывать setlimits
__________________
Кодинг, багинг, алгоритминг. me @

Старый 01.12.2011, 15:54
provigator вне форума Посмотреть профиль Отправить личное сообщение для provigator Найти все сообщения от provigator
  № 19  
Ответить с цитированием
provigator

Регистрация: Jul 2010
Сообщений: 71
вопрос остается
как правильно вызвать метод SetLimits?

m_world.SetLimits(0, 0);
выполняется с ошибкой

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Вы не внимательны, m_world.CreateJoint(jointDef) вернет вам b2RevoluteJoint, у которого надо вызывать setlimits
facepalm
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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