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; новое.направление = 1;
} }
if (мир.клавиши.space.isDown)
if (мир.клавиши.space.isDown || мир.клавиши.up.isDown)
{ {
новое.прыжок = true; новое.прыжок = true;
} }


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

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


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




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




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


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


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




СоздатьСтолкновениеКолобкаСКаркасомИПлатформами = мир =>
ОпределятьСтолкновениеКолобкаИВраговСГруппамиСущностей = мир =>
{ {
мир.сцена.physics.add.collider(мир.колобок, мир.каркас); мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
мир.столкновениеПлатформы = мир.сцена.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, ширина: 65,
}, },
{ {
x: 665,
x: 666,
y: 340, y: 340,
ширина: 1,
ширина: 3,
}, },
{ {
x: 770,
x: 771,
y: 340, y: 340,
ширина: 1,
ширина: 3,
}, },
{ {
x: 860,
x: 862,
y: 340, y: 340,
ширина: 1,
ширина: 3,
}, },
{ {
x: 1005,
y: 355,
ширина: 1,
x: 995,
y: 350, // НАДО 345, чтобы не допрыгиать без помощи кота.
ширина: 4,
}, },
{ {
x: 620, x: 620,
@@ -130,7 +130,7 @@
var часть = п[номер]; var часть = п[номер];
var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0); var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0);
элемент.setScale(часть.ширина, 1).refreshBody(); элемент.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