|
- // // // //
- // Основа избы
- // // // //
-
-
- мир.разобрать({
- заголовок: "Колобку здесь быть",
- изображения: {
- дом: {
- ширина: 2000,
- высота: 600,
- вид: {
- background: "url(р/сцены/изба.jpg)",
- },
- },
- },
- объекты: {
- полСлева: {
- 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: 1253,
- y: 420,
- ширина: 610,
- вид: {
- background: "url(р/отладка/основа.jpg)",
- //display: "none",
- },
- физика: {
- collisionFilter: {
- category: 2,
- },
- },
- },
- подоконник: {
- x: 1673,
- y: 375,
- ширина: 200,
- вид: {
- background: "url(р/отладка/основа.jpg)",
- //display: "none",
- },
- физика: {
- angle: -0.0698,
- collisionFilter: {
- category: 2,
- },
- },
- },
- },
- });
-
-
-
- // // // //
- // Игрок
- // // // //
-
- мир.разобрать({
- изображения: {
- колобок: {
- //x: 100,
- x: 1180,
- y: 250,
- ширина: 70,
- высота: 70,
- вид: {
- background: "url(р/колобок/колобок_неподвижен.png)",
- "z-index": 10,
- },
- },
- },
- объекты: {
- кирпич: {
- x: 1170,
- y: 350,
- высота: 20,
- ширина: 40,
- вид: {
- background: "url(р/отладка/основа.jpg)",
- display: "none",
- },
- физика: {
- isStatic: false,
- inertia: Infinity,
- },
- },
- },
- игрок: {
- объект: "кирпич",
- скорость: [5, 12],
- клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
- },
- слежение: {
- колобок: {
- объект: "кирпич",
- изображение: "колобок",
- смещение: [-35, -65],
- скорость: 1,
- },
- камера: {
- объект: "кирпич",
- скорость: 0.1,
- },
- },
- });
-
- // // // //
- // Платформы и объекты печи
- // // // //
-
- мир.разобрать({
- объекты: {
- фундаментПечи: {
- 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,
- },
- },
- },
- самовар: {
- x: 650,
- y: 300,
- ширина: 70,
- высота: 120,
- вид: {
- background: "url(р/вещи/самовар.png) no-repeat scroll 0% 0% / contain",
- },
- физика: {
- isStatic: false,
- //inertia: Infinity,
- },
- },
- },
- });
-
-
- // // // //
- // Подкидывание стрелы
- // // // //
-
-
- мир.подкидываниеСтрелы = {
- сенсор: null,
- стрела: null,
- подкинули: false,
- };
-
- мир.отладка = {
- сенсор: null,
- стрела: null,
- срабатывание: false,
- };
-
- мир.разобрать({
- объекты: {
- сенсор: {
- x: 1280,
- y: 400,
- ширина: 120,
- вид: {
- background: "url(р/отладка/основа.jpg)",
- display: "none",
- },
- физика: {
- isStatic: true,
- isSensor: true,
- },
- },
- стрела: {
- x: 1230,
- 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,
- },
- },
- },
- },
- столкновения: {
- стрела: {
- объекты: ["кирпич", "сенсор"],
- действие: "возможноПодкинутьСтрелу",
- },
- },
- действия: {
- подкинутьСтрелу: [
- () => { 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("раз", мир.отладка.сенсор, мир.отладка.стрела);
- },
- ],
- },
- });
|