Browse Source

падать

master
parent
commit
288f525aa8
3 changed files with 88 additions and 17 deletions
  1. +1
    -1
      К/игра/109.управление.js
  2. +57
    -6
      К/игра/110.колобок.js
  3. +30
    -10
      К/игра/111.изба.js

+ 1
- 1
К/игра/109.управление.js View File

@@ -56,7 +56,7 @@
{
новое.направление = 1;
}
if (мир.клавиши.space.isDown)
if (мир.клавиши.space.isDown || мир.клавиши.up.isDown)
{
новое.прыжок = true;
}


+ 57
- 6
К/игра/110.колобок.js View File

@@ -7,7 +7,6 @@

ЗагрузитьРесурсыКолобка= мир =>
{
//мир.сцена.load.image("колобок", "ресурсы/колобок/колобок_неподвижен.png");
мир.сцена.load.spritesheet(
"колобок",
"ресурсы/колобок/колобок.png",
@@ -22,10 +21,11 @@
// // // //


СоздатьКаркасИПлатформы = мир =>
СоздатьГруппыСущностей = мир =>
{
мир.каркас = мир.сцена.physics.add.staticGroup();
мир.платформы = мир.сцена.physics.add.staticGroup();
мир.враги = мир.сцена.add.group();
};


@@ -34,8 +34,10 @@

СоздатьКолобка = мир =>
{
мир.колобок = мир.сцена.physics.add.sprite(100, 100, "колобок");
мир.колобок = мир.сцена.physics.add.sprite(100, 500, "колобок");
мир.колобок.depth = 10;
мир.колобок.body.setSize(50);
мир.колобок.setBounceY(0.1);

мир.сцена.anims.create({
key: "неподвижен",
@@ -63,10 +65,27 @@
// // // //


СоздатьСтолкновениеКолобкаСКаркасомИПлатформами = мир =>
ОпределятьСтолкновениеКолобкаИВраговСГруппамиСущностей = мир =>
{
мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);


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

var враг = мир.сцена.physics.add.sprite(750, 100, "основа");
враг.setScale(5, 5).refreshBody();
враг.depth = 10;
мир.враги.add(враг);


var столкновениеВраги = мир.сцена.physics.add.collider(мир.колобок, мир.враги);
столкновениеВраги.overlapOnly = true;
столкновениеВраги.collideCallback = function(a, b) {
мир.уведомить("столкновение с врагом");
console.debug("столкновение с врагом");
};
};


@@ -105,6 +124,35 @@
};


// // // //


ОтключитьСтолкновениеСПлатформами = мир => {
мир.столкновениеПлатформы.active = false;
};


// // // //


ВключитьСтолкновениеСПлатформами = мир => {
мир.столкновениеПлатформы.active = true;
};


// // // //


ОстановитьВрагов = мир => {
var враги = мир.враги.getChildren();
for (var н in враги)
{
var враг = враги[н];
враг.body.stop();
}
};


/*
*
* Последовательность
@@ -116,10 +164,13 @@
загрузить ресурсы сцены
загрузить ресурсы колобка
создать сцену
создать каркас и платформы
создать группы сущностей
создать колобка
создать столкновение колобка с каркасом и платформами
определять столкновение колобка и врагов с группами сущностей
изменили управление
переместить колобка
остановить врагов
столкновение с врагом
отключить столкновение с платформами
`);


+ 30
- 10
К/игра/111.изба.js View File

@@ -85,24 +85,24 @@
ширина: 65,
},
{
x: 665,
x: 666,
y: 340,
ширина: 1,
ширина: 3,
},
{
x: 770,
x: 771,
y: 340,
ширина: 1,
ширина: 3,
},
{
x: 860,
x: 862,
y: 340,
ширина: 1,
ширина: 3,
},
{
x: 1005,
y: 355,
ширина: 1,
x: 995,
y: 350, // НАДО 345, чтобы не допрыгиать без помощи кота.
ширина: 4,
},
{
x: 620,
@@ -130,7 +130,7 @@
var часть = п[номер];
var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0);
элемент.setScale(часть.ширина, 1).refreshBody();
//элемент.setVisible(false);
элемент.setVisible(false);
}
};

@@ -148,6 +148,25 @@
};


// // // //


СоздатьВрагов = мир => {

console.debug("создать врагов");
/*
var враг = мир.сцена.physics.add.sprite(150, 100, "основа");
//мир.враги.add(враг);

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

//var враг = мир.враги.create(100, 100, "основа");//.setOrigin(0, 0);
//враг.setScale(часть.ширина, 1).refreshBody();
};


/*
*
* Последовательность
@@ -163,5 +182,6 @@
создать полы и стены каркаса
создать платформы
позволить платформам пропускать прыжки
создать врагов
`);


Loading…
Cancel
Save