|
|
@@ -267,11 +267,13 @@ |
|
|
|
подкинули: false, |
|
|
|
}; |
|
|
|
|
|
|
|
/* |
|
|
|
мир.отладка = { |
|
|
|
сенсор: null, |
|
|
|
стрела: null, |
|
|
|
срабатывание: false, |
|
|
|
}; |
|
|
|
*/ |
|
|
|
|
|
|
|
мир.разобрать({ |
|
|
|
объекты: { |
|
|
@@ -310,47 +312,43 @@ |
|
|
|
столкновения: { |
|
|
|
стрела: { |
|
|
|
объекты: ["кирпич", "сенсор"], |
|
|
|
действие: "возможноПодкинутьСтрелу", |
|
|
|
действие: "сенсорСтрелы", |
|
|
|
}, |
|
|
|
}, |
|
|
|
действия: { |
|
|
|
подкинутьСтрелу: [ |
|
|
|
() => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -мир.игрок.приземление.скорость }); }, |
|
|
|
], |
|
|
|
возможноПодкинутьСтрелу: [ |
|
|
|
сенсорСтрелы: [ |
|
|
|
() => { |
|
|
|
мир.отладка.сенсор = мир.физика.движок.timing.timestamp; |
|
|
|
мир.подкидываниеСтрелы.сенсор = мир.физика.движок.timing.timestamp; |
|
|
|
}, |
|
|
|
"вывестиОтладку", |
|
|
|
"подкинутьСтрелу", |
|
|
|
], |
|
|
|
игрокНачалПрыжок: [ |
|
|
|
() => { |
|
|
|
мир.отладка.сенсор = null; |
|
|
|
мир.отладка.стрела = null; |
|
|
|
мир.отладка.срабатывание = false; |
|
|
|
мир.подкидываниеСтрелы.сенсор = null; |
|
|
|
мир.подкидываниеСтрелы.стрела = null; |
|
|
|
мир.подкидываниеСтрелы.подкинули = false; |
|
|
|
}, |
|
|
|
], |
|
|
|
игрокПриземлился: [ |
|
|
|
() => { console.debug("приземлились со скоростью", мир.игрок.приземление.скорость); }, |
|
|
|
() => { |
|
|
|
мир.отладка.стрела = мир.физика.движок.timing.timestamp; |
|
|
|
}, |
|
|
|
"вывестиОтладку", |
|
|
|
() => { мир.подкидываниеСтрелы.стрела = мир.физика.движок.timing.timestamp; }, |
|
|
|
"подкинутьСтрелу", |
|
|
|
], |
|
|
|
вывестиОтладку: [ |
|
|
|
подкинутьСтрелу: [ |
|
|
|
() => { |
|
|
|
if ( |
|
|
|
мир.отладка.срабатывание || |
|
|
|
!мир.отладка.стрела || |
|
|
|
!мир.отладка.сенсор || |
|
|
|
Math.abs(мир.отладка.стрела - мир.отладка.сенсор) > 0.00001 || |
|
|
|
мир.подкидываниеСтрелы.подкинули || |
|
|
|
!мир.подкидываниеСтрелы.стрела || |
|
|
|
!мир.подкидываниеСтрелы.сенсор || |
|
|
|
Math.abs(мир.подкидываниеСтрелы.стрела - мир.подкидываниеСтрелы.сенсор) > 0.00001 || |
|
|
|
Math.abs(мир.объекты.тела.стрела.velocity.y) > 0.00001 |
|
|
|
) { |
|
|
|
return; |
|
|
|
} |
|
|
|
мир.отладка.срабатывание = true; |
|
|
|
мир.действия.совершить("подкинутьСтрелу"); |
|
|
|
console.debug("раз", мир.отладка.сенсор, мир.отладка.стрела); |
|
|
|
мир.подкидываниеСтрелы.подкинули = true; |
|
|
|
Matter.Body.setVelocity( |
|
|
|
мир.объекты.тела.стрела, |
|
|
|
{ x: 0, y: -мир.игрок.приземление.скорость } |
|
|
|
); |
|
|
|
}, |
|
|
|
], |
|
|
|
}, |
|
|
|