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

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

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

Регистрация: Jan 2010
Адрес: Киев
Сообщений: 14
вообщем все оказалось гораздо проще)
Код AS3:
_body.SetLinearVelocity(_force);
_body.SetLinearDamping(1);

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

Регистрация: Nov 2010
Сообщений: 190
Отправить сообщение для FieryWall с помощью ICQ Отправить сообщение для FieryWall с помощью Skype™
А я пользуюсь m_linearVelocity
P.S.:Мне легче использовать простые x, y без приминения b2Vec2

Код AS3:
_body.m_linearVelocity.x = 10; //скорость 10 по оси X (просто и со вкусом)

Старый 24.01.2011, 09:17
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 13  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
В 2.1а это всё обернуто геттерами и сеттерами
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Jan 2010
Адрес: Киев
Сообщений: 14
Question Сенсоры

Еще задача) Я хочу запретить телам одной группы толкать друг друга. Знаю что это можно сделать с помощью фильтров и сенсоров. Так вот я не могу сделать так, чтоб сенсор двигался точно за телом, он постоянно отстает) если задать ему mySensor.SetPostion(x,y). Я попыталась придать ему скорость и затухание как у героя, но тогда он вообще живет своей жизнью, потому как столкновения не обрабатываются.

В идеале мне нужно реализовать поведение, где объекты с разной скоростью не будут толкать друг друга, а просто обходить стороной. Для этого я как раз и хотела использовать сенсор. Может кто уже делал подобное?

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Лучше джоинтом привязать, а не позишн подганять. Связываете центр тела и центр сенсора и не паритесь.

Добавлено через 8 минут
Это мой код. Он правда написан на 2.0.2, но думаю разобраться можно.

Код AS3:
private var cart    : b2Body;//основное тело
private var hoover :b2Body;//сенсор
 
//************************
var bodyDef         : b2BodyDef;
var circleDef          : b2CircleDef;
var revoluteJointDef   : b2RevoluteJointDef;
 
bodyDef.position.Set(cartX + 2.8, cartY - 1);//cartX, cartY - это х,у основного тела в момент привязки.
circleDef.radius = 0.6;
circleDef.isSensor = true;
circleDef.density = 0.000001;//сенсор тоже вес имеет посему я ему такую плотность поставил, 
//чтоб не влиял на физику самой модели.
circleDef.friction = 0;
 
hoover = world.CreateBody(bodyDef);
hoover.CreateShape(circleDef);
hoover.SetMassFromShapes();
 
var hooverJoint:b2RevoluteJoint;
revoluteJointDef.enableMotor = false;
 
revoluteJointDef.Initialize(cart, hoover, hoover.GetWorldCenter());
hooverJoint = world.CreateJoint(revoluteJointDef) as b2RevoluteJoint;
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Jan 2010
Адрес: Киев
Сообщений: 14
ага) меня как раз осенило)) люблю порой правой пяткой левое ухо чесать
спасибо за ответ

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

Регистрация: Jan 2010
Адрес: Киев
Сообщений: 14
По умолчанию поворот тела

Застряла на поворотах) пытаюсь наделить объект "зрением" и чтобы он обходил препятствия задолго до столкновения)), то есть когда срабатывает сенсор, я нахожу вектор столкновения, потом уже нахожу под каким градусом это произошло и хочу смоделировать так, чтоб тело отклонялось на n-радиан и обходило препятствие. но у меня не получается сделать плавный поворот на цель, просто присвоить радианы да, а чтоб красивенько повернулось нет.

спасибо за любой ответ)

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ну если вектор нужный найден, то почему бы не найти еще и несколько промежуточных, и плавно их менять?
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Jan 2010
Адрес: Киев
Сообщений: 14
я пытаюсь использовать угловую скорость для этих целей
_body.SetAngularVelocity(angle);
_body.SetAngularDamping(d);
я хочу в дальнейшем моделировать поведения разных объектов к примеру: обход препятствий, преследование, избегание. Я понимаю что за это все должен отвечать другой класс и так и есть, но я не знаю как это адаптировать под радианы, потому как реакции и поведение строятся на векторах и градусах, но движок работает с радианами. А с atan2() какая-то неувязка получается... потому ищу совета в этом направлении, конвертировать ли все в градусы, а потом обратно или есть еще какие особенности...
я совсем новичок, вы уж простите за глупые вопросы))

Старый 11.02.2011, 23:35
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 20  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Нет это не глупые вопросы, однако по моему обход препятствий, преследование, избегание это не бокс2Д задачи это как бы искуственный интелект.
__________________
Гоночка

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

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

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


 


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


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