ソースを参照

заготовка врага

master
コミット
e958b41788
3個のファイルの変更81行の追加16行の削除
  1. +1
    -1
      игра/109.управление.js
  2. +50
    -5
      игра/110.колобок.js
  3. +30
    -10
      игра/111.изба.js

+ 1
- 1
игра/109.управление.js ファイルの表示

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


+ 50
- 5
игра/110.колобок.js ファイルの表示

@@ -22,10 +22,11 @@
// // // //


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


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

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

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


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

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

var враг = мир.сцена.physics.add.sprite(150, 400, "основа");
враг.setScale(5, 5).refreshBody();
враг.depth = 10;
мир.сцена.physics.add.collider(враг, мир.каркас);
//мир.сцена.physics.add.collider(враг, мир.платформы);






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


@@ -105,6 +132,22 @@
};


// // // //


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


// // // //


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


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


+ 30
- 10
игра/111.изба.js ファイルの表示

@@ -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 @@
создать полы и стены каркаса
создать платформы
позволить платформам пропускать прыжки
создать врагов
`);


読み込み中…
キャンセル
保存