Browse Source

-действия

master
parent
commit
d815d923f9
5 changed files with 27 additions and 20 deletions
  1. +20
    -0
      301.события.js
  2. +3
    -16
      320.игрок.js
  3. +2
    -2
      400.столкновения.js
  4. +1
    -1
      800.пример.json.js
  5. +1
    -1
      index.html

+ 20
- 0
301.события.js View File

@@ -0,0 +1,20 @@
мир.события = {
обработчики: [],
подписать: function(обработчик) {
мир.события.обработчики.push(обработчик);
},
отписать: function(обработчик) {
var номер = мир.события.обработчики.indexOf(обработчик);
if (номер != -1)
{
мир.события.обработчики.splice(номер, 1);
}
},
уведомить: function(событие) {
for (var номер in мир.события.обработчики)
{
var обработчик = мир.события.обработчики[номер];
обработчик.обработатьСобытие(событие);
}
},
};

+ 3
- 16
320.игрок.js View File

@@ -74,19 +74,6 @@
};


// // // //


/*
мир.игрок.задатьМаскуСтолкновения = function()
{
var прыжок = мир.игрок.тело.velocity.y < -1;
var маска = прыжок ? 1 : (1 | 2);
мир.игрок.тело.collisionFilter.mask = маска;
};
*/


// // // /


@@ -95,7 +82,7 @@
if (мир.игрок.прыжок.статус == 1)
{
мир.игрок.прыжок.статус = 2;
мир.действия.совершить("игрокВПрыжке");
мир.события.уведомить("игрок в прыжке");
}
var нетДвижения = (Math.abs(мир.игрок.тело.velocity.y) < мир.игрок.прыжок.скоростьОтсутствия);
var клавиша = мир.игрок.задано["клавиши.2"];
@@ -107,7 +94,7 @@
) {
мир.игрок.прыжок.статус = 1;
мир.игрок.приземление.скорость = 0;
мир.действия.совершить("игрокНачалПрыжок");
мир.события.уведомить("игрок начал прыжок");
}

if (мир.игрок.прыжок.статус != 2)
@@ -129,6 +116,6 @@
) {
мир.игрок.прыжок.время = сейчас;
мир.игрок.прыжок.статус = 0;
мир.действия.совершить("игрокПриземлился");
мир.события.уведомить("игрок приземлился");
}
};

+ 2
- 2
400.столкновения.js View File

@@ -44,7 +44,7 @@
var ст = за[имя];
var имя1 = ст["объекты.0"];
var имя2 = ст["объекты.1"];
if (!имя1 || !имя2 || !ст.действие)
if (!имя1 || !имя2 || !ст.событие)
{
continue;
}
@@ -62,7 +62,7 @@
) {
continue;
}
мир.действия.совершить(ст.действие);
мир.события.уведомить(ст.событие);
}
}
};

+ 1
- 1
800.пример.json.js View File

@@ -340,7 +340,7 @@ console.debug("ИГР ПодкидываниеС.обработатьС", соб
столкновения: {
стрела: {
объекты: ["кирпич", "сенсор"],
действие: "сенсорСтрелы",
событие: "сенсор стрелы",
},
},
действия: {


+ 1
- 1
index.html View File

@@ -35,7 +35,7 @@
<script src="140.изображения.js"></script>
<script src="160.объекты.js"></script>
<script src="180.ввод.js"></script>
<script src="300.действия.js"></script>
<script src="301.события.js"></script>
<script src="320.игрок.js"></script>
<script src="340.слежение.js"></script>
<script src="360.маскиПрыжков.js"></script>


Loading…
Cancel
Save