constraint + sensor
This commit is contained in:
34
666.ограничитель.js
Normal file
34
666.ограничитель.js
Normal 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.создать();
|
||||||
|
}
|
||||||
@@ -6,11 +6,13 @@ function Пуск()
|
|||||||
мир.столкновения.создать();
|
мир.столкновения.создать();
|
||||||
мир.звуки = new Звуки(мир.ключники, мир.события);
|
мир.звуки = new Звуки(мир.ключники, мир.события);
|
||||||
мир.движение = new Движение(мир.ключники);
|
мир.движение = new Движение(мир.ключники);
|
||||||
|
/**/мир.ограничитель = new Ограничитель();
|
||||||
this.обновить();
|
this.обновить();
|
||||||
};
|
};
|
||||||
|
|
||||||
this.обновить = function()
|
this.обновить = function()
|
||||||
{
|
{
|
||||||
|
/**/мир.ограничитель.обновить();
|
||||||
мир.физика.обновить();
|
мир.физика.обновить();
|
||||||
мир.объекты.обновить();
|
мир.объекты.обновить();
|
||||||
мир.игрок.обновить();
|
мир.игрок.обновить();
|
||||||
|
|||||||
@@ -115,6 +115,20 @@
|
|||||||
inertia: Infinity,
|
inertia: Infinity,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
проверка: {
|
||||||
|
x: 1270,
|
||||||
|
y: 350,
|
||||||
|
высота: 40,
|
||||||
|
ширина: 40,
|
||||||
|
вид: {
|
||||||
|
background: "url(р/отладка/основа.jpg)",
|
||||||
|
},
|
||||||
|
физика: {
|
||||||
|
isStatic: false,
|
||||||
|
isSensor: true,
|
||||||
|
inertia: Infinity,
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
игрок: {
|
игрок: {
|
||||||
объект: "кирпич",
|
объект: "кирпич",
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
<script src="360.маскиПрыжков.js"></script>
|
<script src="360.маскиПрыжков.js"></script>
|
||||||
<script src="380.звуки.js"></script>
|
<script src="380.звуки.js"></script>
|
||||||
<script src="400.столкновения.js"></script>
|
<script src="400.столкновения.js"></script>
|
||||||
|
<script src="666.ограничитель.js"></script>
|
||||||
<script src="700.пуск.js"></script>
|
<script src="700.пуск.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user