-действия
This commit is contained in:
20
301.события.js
Normal file
20
301.события.js
Normal file
@@ -0,0 +1,20 @@
|
||||
мир.события = {
|
||||
обработчики: [],
|
||||
подписать: function(обработчик) {
|
||||
мир.события.обработчики.push(обработчик);
|
||||
},
|
||||
отписать: function(обработчик) {
|
||||
var номер = мир.события.обработчики.indexOf(обработчик);
|
||||
if (номер != -1)
|
||||
{
|
||||
мир.события.обработчики.splice(номер, 1);
|
||||
}
|
||||
},
|
||||
уведомить: function(событие) {
|
||||
for (var номер in мир.события.обработчики)
|
||||
{
|
||||
var обработчик = мир.события.обработчики[номер];
|
||||
обработчик.обработатьСобытие(событие);
|
||||
}
|
||||
},
|
||||
};
|
||||
19
320.игрок.js
19
320.игрок.js
@@ -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;
|
||||
мир.действия.совершить("игрокПриземлился");
|
||||
мир.события.уведомить("игрок приземлился");
|
||||
}
|
||||
};
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
var ст = за[имя];
|
||||
var имя1 = ст["объекты.0"];
|
||||
var имя2 = ст["объекты.1"];
|
||||
if (!имя1 || !имя2 || !ст.действие)
|
||||
if (!имя1 || !имя2 || !ст.событие)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
@@ -62,7 +62,7 @@
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
мир.действия.совершить(ст.действие);
|
||||
мир.события.уведомить(ст.событие);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -340,7 +340,7 @@ console.debug("ИГР ПодкидываниеС.обработатьС", соб
|
||||
столкновения: {
|
||||
стрела: {
|
||||
объекты: ["кирпич", "сенсор"],
|
||||
действие: "сенсорСтрелы",
|
||||
событие: "сенсор стрелы",
|
||||
},
|
||||
},
|
||||
действия: {
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user