diff --git a/800.пример.json.js b/800.пример.json.js index b77f4f7..83d9b29 100644 --- a/800.пример.json.js +++ b/800.пример.json.js @@ -28,9 +28,9 @@ }, объекты: { сенсор: { - x: 1260, + x: 1280, y: 400, - ширина: 200, + ширина: 120, вид: { background: "url(р/отладка/основа.jpg)", display: "none", @@ -275,7 +275,7 @@ }, }, стрела: { - x: 1270, + x: 1230, y: 350, высота: 30, ширина: 200, @@ -385,4 +385,42 @@ }, ], }, + группыДействий: { + стрела: { + игрокНачалПрыжок: [ + () => { + мир.отладка.сенсор = null; + мир.отладка.стрела = null; + мир.отладка.срабатывание = false; + }, + ], + игрокПриземлился: [ + () => { + мир.отладка.стрела = мир.физика.движок.timing.timestamp; + }, + "подкинутьСтрелу", + ], + возлеСтрелы: [ + () => { + мир.отладка.сенсор = мир.физика.движок.timing.timestamp; + }, + "подкинутьСтрелу", + ], + подкинутьСтрелу: [ + () => { + if ( + мир.отладка.срабатывание || + !мир.отладка.стрела || + !мир.отладка.сенсор || + Math.abs(мир.отладка.стрела - мир.отладка.сенсор) > 0.00001 || + Math.abs(мир.объекты.тела.стрела.velocity.y) > 0.00001 + ) { + return; + } + мир.отладка.срабатывание = true; + Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -мир.игрок.приземление.скорость }); + }, + ], + }, + }, });