движение объектов с помощью сенсеров

23 августа 2016 13:04
Здравствуйте, никак не могу догнать как сделать чтобы при нажатии клавиши к примеру объект (НЕ ПЕРСОНАЖ) а именно объект начинал движение вперед например на 100 едениц, при след нажатии снова на 100 к примеру, посмотрел видео уроки там объясняют про персонажей, для персонажей полно методов модуля physic, а вот для обычных объектов,

вот к примеру функция из видео урока где бегает обезьянка

function setup_movement(){
var key_w = m_ctl.create_keyboard_sensor(m_ctl.KEY_W);
var key_s = m_ctl.create_keyboard_sensor(m_ctl.KEY_S);

var move_array = [
key_w,key_s
];

var forward_logic = function(s){return s[0]};
var backward_logic = function(s){return s[1]};

function move_cb(obj, id, pulse) {

if (pulse == 1) {
switch(id){
case "FORWARD":
var move_dir = 1;

break;
case "BACKWARD":
var move_dir = -1;

break;
}
}else{
var move_dir = 0;
}
m_phy.set_character_move_dir(obj, move_dir, 0);
}

m_ctl.create_sensor_manifold(_character, "FORWARD", m_ctl.CT_TRIGGER,
move_array, forward_logic, move_cb);
m_ctl.create_sensor_manifold(_character, "BACKWARD", m_ctl.CT_TRIGGER,
move_array, backward_logic, move_cb);

}

тут при срабатывании того или иного сенсора вызывается метод

m_phy.set_character_move_dir(obj, move_dir, 0); и двигает либо вперед либо назад персонажа, а как сделать то же самое только для объекта ? например куб

я пытался использовать
move_local
но тут нужен метод update_transform, при этом выдает ошибку что такого нет у модуля transfiorm
23 августа 2016 22:33
Так, вы хотите просто перемещать объект без обработки физикой?
Рекомендую ознакомиться с этой статьёй, больше по сенсорам тут.

Могу помочь кодом, но прошу уточнить. Объект должен двигаться пока нажата клавиша или нажали один раз и объект плавно переместился на определённое расстояние?
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
24 августа 2016 17:08
я пытался использовать
move_local
но тут нужен метод update_transform, при этом выдает ошибку что такого нет у модуля transfiorm
update_transform внутренний метод и зовется автоматически при большинстве манипуляций с объектами,
move_local, вроде, должен сработать, или он выдает какие-то ошибки в консоли?
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.