Arhn - архитектура программирования

Использование физики бурундука - как я могу определить силу двух сталкивающихся объектов

Если у меня есть два объекта в бурундуке (я использую cocos2d-iphone), как только я обнаружу, что они столкнулись, как я могу определить, насколько сильно они бьют друг друга?

Я хочу, чтобы их сила (в зависимости от скорости) знала ущерб от столкновения.

Я видел обсуждение того, как это сделать, но никогда не видел конкретного рабочего кода (и я не мог заставить его работать, хотя думал, что знаю, что делаю). Для полноты, вот код, который я использую для определить скорость столкновения, так как именно я могу определить Силу столкновения?

- (BOOL) handleCollisionBetweenBalls:(CollisionMoment)moment arbiter:(cpArbiter*)arb space:(cpSpace*)space {
  JjrFootprint(@"handleCollisionBetweenBalls");
    if (moment == COLLISION_BEGIN) {
    JjrLog(@"Balls Collide");
    CP_ARBITER_GET_SHAPES(arb, a, b);
    cpVect va;
    cpVect vb;
    va = a->body->v;
    vb = b->body->v;
    cpVect vNet = cpvadd(va,vb);
    cpFloat Length = cpvlength(vNet);
    // 7 = barely touching
    // 1000 = hard
    if (Length > 100) {
      [[SimpleAudioEngine sharedEngine] playEffect:@"board.wav"];
    }
  }
    return YES;
}

Спасибо, JJ


Ответы:


1

http://chipmunk-physics.net/release/Chipmunk-6.x/Chipmunk-6.0.3-Docs/#CollisionCallbacks-Handlers

Вы можете получить импульс столкновения только из обратного вызова решения post.

23.04.2010
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..