use of com.almasb.fxgl.physics.CollisionHandler in project FXGL by AlmasB.
the class ScifiSample method initPhysics.
@Override
protected void initPhysics() {
getPhysicsWorld().addCollisionHandler(new CollisionHandler(ScifiType.PLAYER, ScifiType.PLATFORM) {
@Override
protected void onHitBoxTrigger(Entity a, Entity b, HitBox boxA, HitBox boxB) {
if (boxA.getName().equals("lower")) {
playerControl.canJump = true;
}
}
});
getPhysicsWorld().addCollisionHandler(new CollisionHandler(ScifiType.PLAYER, ScifiType.PORTAL) {
@Override
protected void onCollisionBegin(Entity a, Entity b) {
nextLevel();
}
});
getPhysicsWorld().addCollisionHandler(new CollectibleHandler(ScifiType.PLAYER, ScifiType.COIN, "drop.wav", (c) -> set("coins", geti("coins") + 1)));
}
use of com.almasb.fxgl.physics.CollisionHandler in project FXGL by AlmasB.
the class PhysicsSample method initPhysics.
@Override
protected void initPhysics() {
// 3. get physics world and register a collision handler
// between Type.PLAYER and Type.ENEMY
PhysicsWorld physics = getPhysicsWorld();
physics.addCollisionHandler(new CollisionHandler(Type.PLAYER, Type.ENEMY) {
@Override
protected void onHitBoxTrigger(Entity player, Entity enemy, HitBox playerBox, HitBox enemyBox) {
System.out.println(playerBox.getName() + " X " + enemyBox.getName());
}
// the order of entities is determined by
// the order of their types passed into constructor
@Override
protected void onCollisionBegin(Entity player, Entity enemy) {
System.out.println("On Collision Begin");
}
@Override
protected void onCollision(Entity player, Entity enemy) {
System.out.println("On Collision");
}
@Override
protected void onCollisionEnd(Entity player, Entity enemy) {
System.out.println("On Collision End");
}
});
}
use of com.almasb.fxgl.physics.CollisionHandler in project FXGL by AlmasB.
the class ScriptSample method initPhysics.
@Override
protected void initPhysics() {
getPhysicsWorld().addCollisionHandler(new CollisionHandler(EntityType.PC, EntityType.NPC) {
@Override
protected void onCollisionBegin(Entity pc, Entity npc) {
getGameplay().getCutsceneManager().startCutscene("cutscene.js");
}
});
getPhysicsWorld().addCollisionHandler(new CollisionHandler(EntityType.PC, EntityType.COIN) {
@Override
protected void onCollisionBegin(Entity pc, Entity coin) {
getGameState().increment("coins", +1);
coin.removeFromWorld();
}
});
}
use of com.almasb.fxgl.physics.CollisionHandler in project FXGL by AlmasB.
the class MarioApp method initPhysics.
@Override
protected void initPhysics() {
getPhysicsWorld().setGravity(0, 500 * 2.5);
getPhysicsWorld().addCollisionHandler(new CollisionHandler(MarioType.PLAYER, MarioType.GHOST_PLATFORM) {
@Override
protected void onCollisionBegin(Entity a, Entity platform) {
platform.getView().setVisible(true);
}
@Override
protected void onCollisionEnd(Entity a, Entity platform) {
platform.getView().setVisible(false);
}
});
getPhysicsWorld().addCollisionHandler(new CollisionHandler(MarioType.PLAYER, MarioType.PORTAL) {
@Override
protected void onCollisionBegin(Entity a, Entity b) {
nextLevel = true;
}
});
getPhysicsWorld().addCollisionHandler(new CollectibleHandler(MarioType.PLAYER, MarioType.COIN, "drop.wav"));
}
use of com.almasb.fxgl.physics.CollisionHandler in project FXGL by AlmasB.
the class PhysicsSample2 method initPhysics.
@Override
protected void initPhysics() {
// 3. get physics world and register a collision handler
// between Type.PLAYER and Type.ENEMY
PhysicsWorld physics = getPhysicsWorld();
physics.addCollisionHandler(new CollisionHandler(Type.PLAYER, Type.ENEMY) {
@Override
protected void onCollision(Entity player, Entity enemy) {
isColliding = true;
}
});
}
Aggregations