function _0x4e00(_0x39f7d2, _0x435d0a) {
  const _0x5b86ca = _0x5edb();
  return (
    (_0x4e00 = function (_0x292a44, _0x4b516e) {
      _0x292a44 = _0x292a44 - 0x114;
      let _0x5edb04 = _0x5b86ca[_0x292a44];
      return _0x5edb04;
    }),
    _0x4e00(_0x39f7d2, _0x435d0a)
  );
}
const _0x3f5bd6 = _0x4e00;
(function (_0x109d4e, _0x1424a5) {
  const _0x46129f = _0x4e00,
    _0x1a042e = _0x109d4e();
  while (!![]) {
    try {
      const _0x29549b =
        (-parseInt(_0x46129f(0x158)) / 0x1) *
          (parseInt(_0x46129f(0x16c)) / 0x2) +
        (parseInt(_0x46129f(0x13a)) / 0x3) *
          (-parseInt(_0x46129f(0x152)) / 0x4) +
        (parseInt(_0x46129f(0x138)) / 0x5) *
          (-parseInt(_0x46129f(0x12b)) / 0x6) +
        parseInt(_0x46129f(0x143)) / 0x7 +
        (parseInt(_0x46129f(0x161)) / 0x8) *
          (parseInt(_0x46129f(0x163)) / 0x9) +
        -parseInt(_0x46129f(0x15a)) / 0xa +
        parseInt(_0x46129f(0x145)) / 0xb;
      if (_0x29549b === _0x1424a5) break;
      else _0x1a042e["push"](_0x1a042e["shift"]());
    } catch (_0x3f5726) {
      _0x1a042e["push"](_0x1a042e["shift"]());
    }
  }
})(_0x5edb, 0xc07a1);
const _0x4b516e = (function () {
  let _0x41623 = !![];
  return function (_0x4b441b, _0x1427ee) {
    const _0x5ba5ae = _0x41623
      ? function () {
          if (_0x1427ee) {
            const _0x5216d1 = _0x1427ee["apply"](_0x4b441b, arguments);
            return (_0x1427ee = null), _0x5216d1;
          }
        }
      : function () {};
    return (_0x41623 = ![]), _0x5ba5ae;
  };
})();
function _0x5edb() {
  const _0x4e729c = [
    "isDown",
    "Input",
    "isJumping",
    "preload",
    "handleDeath",
    "SPACE",
    "refreshBody",
    "2134888cyivMG",
    "Game",
    "19504705adSMei",
    "cameras",
    "keys",
    "stateObject",
    "platforms",
    "apply",
    "velocity",
    "addKeys",
    "height",
    "collider",
    "gger",
    "https://assets.codepen.io/9367036/Cat-Sheet.png",
    "setSize",
    "46148bvATUf",
    "KeyCodes",
    "flipX",
    "arcade",
    "fall",
    "chain",
    "27YKaqxH",
    "animationcomplete",
    "8360030IKRhma",
    "walk",
    "space",
    "generateFrameNumbers",
    "counter",
    "string",
    "physics",
    "224DENqJy",
    "tileSprite",
    "187182luZUqo",
    "Example",
    "setOrigin",
    "Scene",
    "idle",
    "update",
    "width",
    "cat",
    "ground",
    "17592QMQncv",
    "https://assets.codepen.io/9367036/Platform%2848x48%29.png",
    "function\x20*\x5c(\x20*\x5c)",
    "main",
    "play",
    "constructor",
    "handleAnimations",
    "blocked",
    "load",
    "touching",
    "key",
    "isFalling",
    "debu",
    "jump",
    "setGravityY",
    "input",
    "image",
    "setVelocityY",
    "action",
    "keyboard",
    "anims",
    "Keyboard",
    "down",
    "length",
    "https://assets.codepen.io/9367036/Yellow.png",
    "694770NNpCpn",
    "body",
    "while\x20(true)\x20{}",
    "add",
    "create",
    "sprite",
    "left",
    "staticGroup",
    "test",
    "setVelocityX",
    "setBounds",
    "setCollideWorldBounds",
    "handleMovement",
    "30dqdcls",
    "player",
    "27bewTrr",
    "setScale"
  ];
  _0x5edb = function () {
    return _0x4e729c;
  };
  return _0x5edb();
}
(function () {
  _0x4b516e(this, function () {
    const _0x179d0b = _0x4e00,
      _0x4c90ff = new RegExp(_0x179d0b(0x114)),
      _0x112117 = new RegExp(
        "\x5c+\x5c+\x20*(?:[a-zA-Z_$][0-9a-zA-Z_$]*)",
        "i"
      ),
      _0x212d0b = _0x292a44("init");
    !_0x4c90ff[_0x179d0b(0x133)](_0x212d0b + _0x179d0b(0x157)) ||
    !_0x112117[_0x179d0b(0x133)](_0x212d0b + _0x179d0b(0x121))
      ? _0x212d0b("0")
      : _0x292a44();
  })();
})();
class Example extends Phaser[_0x3f5bd6(0x166)] {
  constructor() {
    const _0xc4c2a7 = _0x3f5bd6;
    super({ key: _0xc4c2a7(0x164) });
  }
  [_0x3f5bd6(0x13f)]() {
    const _0x4c9f96 = _0x3f5bd6;
    this[_0x4c9f96(0x11a)][_0x4c9f96(0x122)]("bg", _0x4c9f96(0x12a)),
      this[_0x4c9f96(0x11a)]["image"](_0x4c9f96(0x16b), _0x4c9f96(0x16d)),
      this[_0x4c9f96(0x11a)]["spritesheet"]("cat", _0x4c9f96(0x150), {
        frameWidth: 0x20,
        frameHeight: 0x20
      });
  }
  ["create"]() {
    const _0x3fd580 = _0x3f5bd6;
    (this["bg"] = this[_0x3fd580(0x12e)][_0x3fd580(0x162)](
      0x0,
      0x0,
      this[_0x3fd580(0x146)][_0x3fd580(0x115)][_0x3fd580(0x169)],
      this[_0x3fd580(0x146)][_0x3fd580(0x115)][_0x3fd580(0x14d)],
      "bg"
    )),
      this["bg"][_0x3fd580(0x165)](0x0, 0x0),
      (this[_0x3fd580(0x149)] = this[_0x3fd580(0x160)][_0x3fd580(0x12e)][
        _0x3fd580(0x132)
      ]()),
      this["platforms"]
        [_0x3fd580(0x12f)](
          0x64,
          config[_0x3fd580(0x14d)] - 0xa,
          _0x3fd580(0x16b)
        )
        [_0x3fd580(0x165)](0.5, 0x1)
        [_0x3fd580(0x13b)](0x2)
        [_0x3fd580(0x142)](),
      this["platforms"]
        ["create"](0xfa, config["height"] - 0x64, "ground")
        [_0x3fd580(0x165)](0x0, 0x1)
        [_0x3fd580(0x13b)](0x2)
        [_0x3fd580(0x142)](),
      this[_0x3fd580(0x149)]
        ["create"](0x1c2, config[_0x3fd580(0x14d)] - 0xc8, _0x3fd580(0x16b))
        [_0x3fd580(0x165)](0x0, 0x1)
        [_0x3fd580(0x13b)](0x2)
        [_0x3fd580(0x142)](),
      this["platforms"]
        [_0x3fd580(0x12f)](
          0x2bc,
          config[_0x3fd580(0x14d)] - 0xa,
          _0x3fd580(0x16b)
        )
        [_0x3fd580(0x165)](0x1, 0x1)
        [_0x3fd580(0x13b)](0x2)
        [_0x3fd580(0x142)](),
      this["physics"]["world"][_0x3fd580(0x135)](
        0x0,
        config[_0x3fd580(0x14d)] / -0x2,
        config[_0x3fd580(0x169)],
        0x2 * config[_0x3fd580(0x14d)]
      ),
      (this["player"] = this[_0x3fd580(0x160)][_0x3fd580(0x12e)][
        _0x3fd580(0x130)
      ](0x64, 0x0, _0x3fd580(0x16a))),
      this[_0x3fd580(0x139)]
        [_0x3fd580(0x13b)](0x2)
        [_0x3fd580(0x136)]()
        [_0x3fd580(0x151)](0x10, 0x10)
        ["setOffset"](0x9, 0x10),
      this[_0x3fd580(0x139)][_0x3fd580(0x12c)][_0x3fd580(0x120)](0x3e8),
      this[_0x3fd580(0x160)][_0x3fd580(0x12e)][_0x3fd580(0x14e)](
        this[_0x3fd580(0x139)],
        this[_0x3fd580(0x149)]
      ),
      ((this[_0x3fd580(0x11d)] = !0x1),
      (this[_0x3fd580(0x13e)] = !0x1),
      this[_0x3fd580(0x126)]["create"]({
        key: _0x3fd580(0x167),
        frames: this["anims"][_0x3fd580(0x15d)]("cat", {
          start: 0x0,
          end: 0x7
        }),
        frameRate: 0xa,
        repeat: -0x1
      }),
      this[_0x3fd580(0x126)][_0x3fd580(0x12f)]({
        key: _0x3fd580(0x15b),
        frames: this[_0x3fd580(0x126)][_0x3fd580(0x15d)](_0x3fd580(0x16a), {
          start: 0x28,
          end: 0x30
        }),
        frameRate: 0xa,
        repeat: -0x1
      }),
      this["anims"][_0x3fd580(0x12f)]({
        key: _0x3fd580(0x11f),
        frames: this[_0x3fd580(0x126)][_0x3fd580(0x15d)](_0x3fd580(0x16a), {
          start: 0x98,
          end: 0x9b
        }),
        frameRate: 0xa,
        repeat: 0x0
      }),
      this[_0x3fd580(0x126)]["create"]({
        key: _0x3fd580(0x156),
        frames: this["anims"][_0x3fd580(0x15d)](_0x3fd580(0x16a), {
          start: 0xa0,
          end: 0xa3
        }),
        frameRate: 0xa,
        repeat: 0x0
      }),
      this[_0x3fd580(0x139)]["on"](_0x3fd580(0x159), (_0x1641e8) => {
        const _0x55c472 = _0x3fd580;
        _0x55c472(0x156) === _0x1641e8["key"] &&
          (this[_0x55c472(0x11d)] = !0x0),
          _0x55c472(0x11f) === _0x1641e8[_0x55c472(0x11c)] &&
            (this[_0x55c472(0x13e)] = !0x0);
      }),
      (this[_0x3fd580(0x147)] = this[_0x3fd580(0x121)][_0x3fd580(0x125)][
        _0x3fd580(0x14c)
      ]({
        up:
          Phaser[_0x3fd580(0x13d)][_0x3fd580(0x127)][_0x3fd580(0x153)][
            _0x3fd580(0x141)
          ],
        left: Phaser[_0x3fd580(0x13d)][_0x3fd580(0x127)]["KeyCodes"]["A"],
        right: Phaser[_0x3fd580(0x13d)]["Keyboard"][_0x3fd580(0x153)]["D"]
      })));
  }
  [_0x3f5bd6(0x168)]() {
    const _0x1b481f = _0x3f5bd6;
    this[_0x1b481f(0x137)](),
      this[_0x1b481f(0x118)](),
      this[_0x1b481f(0x140)]();
  }
  [_0x3f5bd6(0x137)]() {
    const _0x1f46c1 = _0x3f5bd6;
    this[_0x1f46c1(0x147)][_0x1f46c1(0x131)]["isDown"]
      ? (this[_0x1f46c1(0x139)][_0x1f46c1(0x134)](-0xa0),
        (this["player"][_0x1f46c1(0x154)] = !0x0))
      : this[_0x1f46c1(0x147)]["right"][_0x1f46c1(0x13c)]
      ? (this[_0x1f46c1(0x139)]["setVelocityX"](0xa0),
        (this[_0x1f46c1(0x139)][_0x1f46c1(0x154)] = !0x1))
      : this[_0x1f46c1(0x139)][_0x1f46c1(0x134)](0x0),
      this[_0x1f46c1(0x147)]["up"][_0x1f46c1(0x13c)] &&
        this[_0x1f46c1(0x139)][_0x1f46c1(0x12c)][_0x1f46c1(0x11b)][
          _0x1f46c1(0x128)
        ] &&
        this[_0x1f46c1(0x139)][_0x1f46c1(0x123)](-0x1f4);
  }
  [_0x3f5bd6(0x118)]() {
    const _0x3086b6 = _0x3f5bd6;
    this[_0x3086b6(0x139)][_0x3086b6(0x12c)][_0x3086b6(0x119)][_0x3086b6(0x128)]
      ? ((this[_0x3086b6(0x11d)] = !0x1),
        (this["isJumping"] = !0x1),
        0x0 !== this["player"][_0x3086b6(0x12c)][_0x3086b6(0x14b)]["x"]
          ? this[_0x3086b6(0x139)][_0x3086b6(0x126)][_0x3086b6(0x116)](
              _0x3086b6(0x15b),
              !0x0
            )
          : this[_0x3086b6(0x139)]["anims"][_0x3086b6(0x116)]("idle", !0x0))
      : this[_0x3086b6(0x139)][_0x3086b6(0x12c)][_0x3086b6(0x14b)]["y"] < 0x0 &&
        !this[_0x3086b6(0x13e)]
      ? (this[_0x3086b6(0x139)][_0x3086b6(0x126)][_0x3086b6(0x116)](
          "jump",
          !0x0
        ),
        (this["isFalling"] = !0x1))
      : this[_0x3086b6(0x11d)] ||
        this[_0x3086b6(0x139)][_0x3086b6(0x126)]["play"](
          _0x3086b6(0x156),
          !0x0
        );
  }
  [_0x3f5bd6(0x140)]() {
    const _0xaebee8 = _0x3f5bd6;
    this[_0xaebee8(0x139)]["y"] >
      config["height"] + this["player"][_0xaebee8(0x14d)] &&
      this["player"]["setPosition"](0x64, 0x0);
  }
}
const config = {
    type: Phaser["AUTO"],
    width: 0x320,
    height: 0x190,
    scene: Example,
    pixelArt: !0x0,
    transparent: !0x0,
    physics: { default: _0x3f5bd6(0x155), arcade: { debug: !0x1 } }
  },
  game = new Phaser[_0x3f5bd6(0x144)](config);
activateControls([_0x3f5bd6(0x15c), "A", "D"]);
function _0x292a44(_0x10580e) {
  function _0x23f2e7(_0x5484a9) {
    const _0xd6a432 = _0x4e00;
    if (typeof _0x5484a9 === _0xd6a432(0x15f))
      return function (_0x273f67) {}
        [_0xd6a432(0x117)](_0xd6a432(0x12d))
        ["apply"](_0xd6a432(0x15e));
    else
      ("" + _0x5484a9 / _0x5484a9)[_0xd6a432(0x129)] !== 0x1 ||
      _0x5484a9 % 0x14 === 0x0
        ? function () {
            return !![];
          }
            [_0xd6a432(0x117)](_0xd6a432(0x11e) + _0xd6a432(0x14f))
            ["call"](_0xd6a432(0x124))
        : function () {
            return ![];
          }
            [_0xd6a432(0x117)](_0xd6a432(0x11e) + "gger")
            [_0xd6a432(0x14a)](_0xd6a432(0x148));
    _0x23f2e7(++_0x5484a9);
  }
  try {
    if (_0x10580e) return _0x23f2e7;
    else _0x23f2e7(0x0);
  } catch (_0x404124) {}
}

External CSS

  1. https://codepen.io/tim-momo/pen/yLWvyra.css

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/phaser/3.85.0/phaser.min.js
  2. https://codepen.io/tim-momo/pen/yLWvyra.js