Browse Source

отдельно подпол

master
parent
commit
a2aba773e6
6 changed files with 176 additions and 9 deletions
  1. +1
    -0
      index.html
  2. +9
    -1
      игра/110.колобок.js
  3. +79
    -8
      игра/111.изба.js
  4. +87
    -0
      игра/112.подпол.js
  5. BIN
      ресурсы/вещи/лестница.png
  6. BIN
      ресурсы/вещи/лестница.xcf

+ 1
- 0
index.html View File

@@ -32,6 +32,7 @@
<script src="игра/109.управление.js"></script> <script src="игра/109.управление.js"></script>
<script src="игра/110.колобок.js"></script> <script src="игра/110.колобок.js"></script>
<script src="игра/111.изба.js"></script> <script src="игра/111.изба.js"></script>
<script src="игра/112.подпол.js"></script>
<script src="игра/200.отладка.js"></script> <script src="игра/200.отладка.js"></script>
<script src="игра/499.пуск.js"></script> <script src="игра/499.пуск.js"></script>
</body> </body>


+ 9
- 1
игра/110.колобок.js View File

@@ -79,7 +79,15 @@


НастроитьСтолкновениеКолобка = мир => НастроитьСтолкновениеКолобка = мир =>
{ {
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
var столкновениеКаркас = мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
столкновениеКаркас.collideCallback = function(a, каркас) {
if (мир.колобок.body.touching.down && каркас.body.touching.up && мир.колобок.прыжок)
{
мир.колобок.каркас = каркас.name;
мир.уведомить("колобок прыгнул на каркас");
}
};

мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы); мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);


мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи); мир.столкновениеВещи = мир.сцена.physics.add.collider(мир.колобок, мир.вещи);


+ 79
- 8
игра/111.изба.js View File

@@ -69,7 +69,7 @@
originX: 0, originX: 0,
originY: 0, originY: 0,
scaleX: 43, scaleX: 43,
visible: true,
visible: false,
}, },
полКрышки: { полКрышки: {
родитель: мир.каркас, родитель: мир.каркас,
@@ -80,16 +80,16 @@
originX: 0, originX: 0,
originY: 0, originY: 0,
scaleX: 16, scaleX: 16,
visible: true,
visible: false,
}, },
крышка: { крышка: {
родитель: мир.сцена, родитель: мир.сцена,
тип: "изображение", тип: "изображение",
x: 357, x: 357,
y: 575,
y: 605,
texture: "крышка-подпола", texture: "крышка-подпола",
originX: 0, originX: 0,
originY: 0,
originY: 1,
scaleX: 0.4, scaleX: 0.4,
scaleY: 0.4, scaleY: 0.4,
}, },
@@ -102,7 +102,7 @@
originX: 0, originX: 0,
originY: 0, originY: 0,
scaleX: 200, scaleX: 200,
visible: true,
visible: false,
}, },


леваяСтена: { леваяСтена: {
@@ -459,9 +459,6 @@
{ {
создатьУзлыСценыПоСтруктуре(мир.изба); создатьУзлыСценыПоСтруктуре(мир.изба);
мир.сцена.sound.play("звук-избы", { loop: true }); мир.сцена.sound.play("звук-избы", { loop: true });

мир.крышка = мир.узелСцены("крышка");
мир.полКрышки = мир.узелСцены("полКрышки");
}; };




@@ -877,6 +874,75 @@
}; };




// // // //


ПроверитьПрыжокПоКрышкеПодпола = мир =>
{
if (мир.колобок.каркас == "полКрышки")
{
мир.уведомить("колобок прыгнул по крышке подпола");
}
};


// // // //


НачатьПоворотКрышкиПодпола = мир =>
{
if (мир.крышка)
{
return;
}

мир.крышка = мир.узелСцены("крышка");
мир.крышка.поворот = 1;
};


// // // //


АнимироватьПоворотКрышкиПодпола = мир =>
{
if (!мир.крышка)
{
return;
}

var скорость = 4;

if (мир.крышка.поворот == 1)
{
мир.крышка.setAngle(мир.крышка.angle - скорость);
if (мир.крышка.angle <= -90)
{
мир.крышка.поворот = 2;
}
}
else if (мир.крышка.поворот == 2)
{
мир.узелСцены("полКрышки").body.checkCollision.none = true;
мир.крышка.поворот = 3;
setTimeout(
function() {
мир.крышка.поворот = 4;
},
5000
);
}
else if (мир.крышка.поворот == 4)
{
мир.крышка.setAngle(мир.крышка.angle + скорость);
if (мир.крышка.angle >= 0)
{
мир.узелСцены("полКрышки").body.checkCollision.none = false;
мир.крышка = null;
}
}
};

/* /*
* *
* Последовательность * Последовательность
@@ -928,10 +994,15 @@
перевернули молоко перевернули молоко
показать лужу молока показать лужу молока
воспроизвести звук переворота молока воспроизвести звук переворота молока
колобок прыгнул на каркас
проверить прыжок по крышке подпола
колобок прыгнул по крышке подпола
начать поворот крышки подпола


обновить сцену обновить сцену
анимировать пауков анимировать пауков
анимировать мышей анимировать мышей
анимировать переворот молока анимировать переворот молока
анимировать поворот крышки подпола
`); `);



+ 87
- 0
игра/112.подпол.js View File

@@ -0,0 +1,87 @@
/*
*
* Реакции
*
*/


ЗагрузитьРесурсыПодпола = мир =>
{
const изображения = {
"лестница": "ресурсы/вещи/лестница.png",
};
for (var имя in изображения)
{
мир.сцена.load.image(имя, изображения[имя]);
}
};


// // // //


ЗадатьСтруктуруПодпола = мир =>
{
мир.подпол = {
пол: {
родитель: мир.каркас,
тип: "платформа",
x: 0,
y: 985,
texture: "основа",
originX: 0,
originY: 0,
scaleX: 250,
visible: true,
},

леваяСтена: {
родитель: мир.каркас,
тип: "платформа",
x: 0,
y: 600,
texture: "основа",
originX: 0,
originY: 0,
scaleY: 50,
visible: false,
},
праваяСтена: {
родитель: мир.каркас,
тип: "платформа",
x: 2000,
y: 600,
texture: "основа",
originX: 0,
originY: 0,
scaleY: 50,
visible: false,
},
};
};


// // // //


СоздатьПодпол = мир =>
{
создатьУзлыСценыПоСтруктуре(мир.подпол);
};


/*
*
* Последовательность
*
*/


мир.разобрать(`
загрузить ресурсы сцены
загрузить ресурсы подпола
создать сцену
задать структуру подпола
создать подпол
`);


BIN
ресурсы/вещи/лестница.png View File

Before After
Width: 329  |  Height: 1196  |  Size: 376KB

BIN
ресурсы/вещи/лестница.xcf View File


Loading…
Cancel
Save