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

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

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

Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
Вот что у меня вышло
http://megaswf.com/serve/101943/
Клик мышкой добавит новый бокс на поле.
Никак не могу исправить это вхождение в друг друга при столкновении.
Вот код

Код AS3:
	// Мир
	var gravity:Vec2 = new Vec2(0, 0);
	space = new UniformSleepSpace(new AABB(0, 0, 800, 600), 20, gravity);
 
	//Машина
	carPhObj = Tools.createBox(300, 200, 100, 50, 0, 0, 0, false, Material.Steel);
	space.addObject(carPhObj);
	addChild(carPhObj.graphic);
 
	//Пол
	floorPhObj = Tools.createBox(400, 500, 800, 50, 0, 0, 0, true, Material.Steel);
	space.addObject(floorPhObj);
	addChild(floorPhObj.graphic);
Код AS3:
 
private function moveCar():void 
{
	if (isLeftKeyDown) {
		carAngle --;
	}else if (isRightKeyDown) {
		carAngle ++;
	}
	if (isUpKeyDown) {
		carSpeed += carAccel;
	}else if (isDownKeyDown) {
		carSpeed -= carAccel;
	}
	var angle:Number = carAngle * Math.PI/180 ;
	var speedX:Number = carSpeed * Math.cos(angle);
	var speedY:Number = carSpeed * Math.sin(angle);
	carPhObj.px += speedX; 
	carPhObj.py += speedY;
	carPhObj.setPos (carPhObj.px, carPhObj.py, angle);
	carPhObj.update();
	space.sync(carPhObj);
}

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Ralph_DiMarko, совершенно неверный подход. Прочитай мой пост на первой странице еще раз.
__________________
while(1) {}

Старый 20.01.2011, 22:23
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 23  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
пишите разработчикам - может подскажут чего
__________________
мира и гармонии

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

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
У разработчиков глухо как в танке. Я первым делом писал им (точнее на их форуме), и не один раз. Ни одного ответа не было

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

Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
Division, премного благодарен, но признаюсь мне тяжело это все перевести в код
Но ну допустим неверный подход, но это же не должно влиять на столкновение, может это не машина а просто коробочка, которую я сдвинул немного.

Старый 20.01.2011, 22:32
Division вне форума Посмотреть профиль Отправить личное сообщение для Division Найти все сообщения от Division
  № 26  
Ответить с цитированием
Division
 
Аватар для Division

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Очевидно же, застряет потому что setPos вызывается. Машина - динамический объект, который подчинается законам симуляции.

Я сам спрашивал что-то на форуме, Лука ответил, не сразу правда.

Повторюсь. Чтоб было нормально - делается два круга-колеса. Они цепляются PivotJointами(или скорее PinJoint) к корпусу. И влияние осуществляется на колеса(их скорость проецируется на вектор направления колеса), а не на саму машину.
__________________
while(1) {}


Последний раз редактировалось Division; 20.01.2011 в 22:37.
Старый 20.01.2011, 22:34
Ralph_DiMarko вне форума Посмотреть профиль Отправить личное сообщение для Ralph_DiMarko Найти все сообщения от Ralph_DiMarko
  № 27  
Ответить с цитированием
Ralph_DiMarko
 
Аватар для Ralph_DiMarko

Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
а.. кажется понял.
ей просто нужно придать инерцию чтобы она сама покатилась, тогда наверняка не будет такого..

Старый 24.01.2011, 15:24
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 28  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
а вот это как вышло ? реалистично ?
(сама скорость одинкова - не делал ее увеличение снижение, тоесть если вы не жмете вперед - то машина не едет и влево вправо тока вмсте с перед работает)
__________________
мира и гармонии

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

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
катание по льду. Примерно тоже самое у меня получалось

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

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Два дня работы, и получилось вот что.
Есть еще проблемы с задним ходом, и величины нужно подстроить, но уже прогресс.
Думаю так же сделать все-таки 4 колеса. Будет реалистичнее

На Box2D 2.0 работает, если делаю тоже самое на Box2D 2.1 linear и angular damping работают коряво. Похоже глюк движка
Вложения
Тип файла: zip Box2D2Racing.zip (113.7 Кб, 88 просмотров)


Последний раз редактировалось goodguy; 07.03.2011 в 14:19.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:05.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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