мир.отладка = { сенсор: null, стрела: null, срабатывание: false, }; мир.разобрать({ заголовок: "Колобку здесь быть", изображения: { дом: { ширина: 2000, высота: 600, вид: { background: "url(р/сцены/изба.jpg)", }, }, колобок: { //x: 100, x: 1180, y: 250, ширина: 70, высота: 70, вид: { background: "url(р/колобок/колобок_неподвижен.png)", "z-index": 10, }, }, }, объекты: { сенсор: { x: 1260, y: 400, ширина: 200, вид: { background: "url(р/отладка/основа.jpg)", display: "none", }, физика: { isStatic: true, isSensor: true, }, }, кирпич: { x: 1170, y: 350, высота: 20, ширина: 40, вид: { background: "url(р/отладка/основа.jpg)", display: "none", }, физика: { isStatic: false, inertia: Infinity, }, }, полСлева: { x: 0, y: 580, ширина: 355, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, }, полКрышки: { x: 357, y: 580, ширина: 135, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, }, полСправа: { x: 495, y: 580, ширина: 1505, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, }, фундаментПечи: { x: 570, y: 470, ширина: 550, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, полка1: { x: 660, y: 335, ширина: 40, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, полка2: { x: 767, y: 335, ширина: 40, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, полка3: { x: 855, y: 335, ширина: 40, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, полкаСамовара: { x: 975, y: 355, ширина: 70, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, лежанкаПечки: { x: 600, y: 242, ширина: 330, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, основаниеТрубыПечки: { x: 937, y: 175, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, верх1: { x: 937, y: 100, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, верх2: { x: 937, y: 0, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, верх3: { x: 937, y: -100, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, верх4: { x: 937, y: -200, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, верх5: { x: 937, y: -300, ширина: 130, высота: 10, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, стол: { x: 1253, y: 420, ширина: 610, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { collisionFilter: { category: 2, }, }, }, стрела: { x: 1270, y: 350, высота: 30, ширина: 200, вид: { display: "inline-block", background: "url(р/вещи/стрела.png) no-repeat scroll 0% 0% / contain", transform: "scaleX(-1)", }, физика: { isStatic: false, inertia: Infinity, collisionFilter: { category: 4, }, }, }, подоконник: { x: 1673, y: 375, ширина: 200, вид: { background: "url(р/отладка/основа.jpg)", //display: "none", }, физика: { angle: -0.0698, collisionFilter: { category: 2, }, }, }, самовар: { x: 650, y: 300, ширина: 70, высота: 120, вид: { background: "url(р/вещи/самовар.png) no-repeat scroll 0% 0% / contain", }, физика: { isStatic: false, //inertia: Infinity, }, }, }, игрок: { объект: "кирпич", скорость: [5, 12], клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], }, слежение: { колобок: { объект: "кирпич", изображение: "колобок", смещение: [-35, -65], скорость: 1, }, камера: { объект: "кирпич", скорость: 0.1, }, }, столкновения: { стрела: { объекты: ["кирпич", "сенсор"], действие: "возможноПодкинутьСтрелу", }, }, действия: { подкинутьСтрелу: [ () => { Matter.Body.setVelocity(мир.объекты.тела.стрела, { x: 0, y: -мир.игрок.приземление.скорость }); }, ], возможноПодкинутьСтрелу: [ () => { мир.отладка.сенсор = мир.физика.движок.timing.timestamp; }, "вывестиОтладку", ], игрокНачалПрыжок: [ () => { мир.отладка.сенсор = null; мир.отладка.стрела = null; мир.отладка.срабатывание = false; }, ], игрокПриземлился: [ () => { console.debug("приземлились со скоростью", мир.игрок.приземление.скорость); }, () => { мир.отладка.стрела = мир.физика.движок.timing.timestamp; }, "вывестиОтладку", ], вывестиОтладку: [ () => { if ( мир.отладка.срабатывание || !мир.отладка.стрела || !мир.отладка.сенсор || Math.abs(мир.отладка.стрела - мир.отладка.сенсор) > 0.00001 || Math.abs(мир.объекты.тела.стрела.velocity.y) > 0.00001 ) { return; } мир.отладка.срабатывание = true; мир.действия.совершить("подкинутьСтрелу"); console.debug("раз", мир.отладка.сенсор, мир.отладка.стрела); }, ], }, });