Browse Source

constraint + sensor

master
parent
commit
b6be9658a5
4 changed files with 51 additions and 0 deletions
  1. +34
    -0
      666.ограничитель.js
  2. +2
    -0
      700.пуск.js
  3. +14
    -0
      800.пример.json.js
  4. +1
    -0
      index.html

+ 34
- 0
666.ограничитель.js View File

@@ -0,0 +1,34 @@
function Ограничитель() {
this.создать = function()
{
this.ограничитель = null;
};

this.обновить = function()
{
if (this.ограничитель || !мир.игрок.тело)
{
return;
}
this.создатьОграничитель();
};

this.создатьОграничитель = function()
{
var объект = мир.объекты.тела["проверка"];
var x = мир.игрок.тело.position.x;
var y = мир.игрок.тело.position.y - 30;
Matter.Body.setPosition(объект, { x: x, y: y });
this.ограничитель = Matter.Constraint.create({
bodyA: мир.игрок.тело,
bodyB: объект,
stiffness: 1,
});
Matter.Composite.add(мир.физика.движок.world, this.ограничитель);
console.debug("создан ограничитель");
};


// Конструктор.
this.создать();
}

+ 2
- 0
700.пуск.js View File

@@ -6,11 +6,13 @@ function Пуск()
мир.столкновения.создать();
мир.звуки = new Звуки(мир.ключники, мир.события);
мир.движение = new Движение(мир.ключники);
/**/мир.ограничитель = new Ограничитель();
this.обновить();
};

this.обновить = function()
{
/**/мир.ограничитель.обновить();
мир.физика.обновить();
мир.объекты.обновить();
мир.игрок.обновить();


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

@@ -115,6 +115,20 @@
inertia: Infinity,
},
},
проверка: {
x: 1270,
y: 350,
высота: 40,
ширина: 40,
вид: {
background: "url(р/отладка/основа.jpg)",
},
физика: {
isStatic: false,
isSensor: true,
inertia: Infinity,
},
},
},
игрок: {
объект: "кирпич",


+ 1
- 0
index.html View File

@@ -79,6 +79,7 @@
<script src="360.маскиПрыжков.js"></script>
<script src="380.звуки.js"></script>
<script src="400.столкновения.js"></script>
<script src="666.ограничитель.js"></script>
<script src="700.пуск.js"></script>
</body>
</html>

Loading…
Cancel
Save