小编Rob*_*des的帖子

发送带有会话数据的模拟响铃请求

我正在尝试使用ring.mock.request使用“假”会话数据对环应用程序进行单元测试。但查看其文档似乎没有该功能。

在真正的应用程序中,我使用ring.middleware.session包装器:

(defroutes routes
  (GET "/transactions"  [{session :session}]
    (response (str "Hello " (:username session)))))

(def app
  (wrap-session routes))
Run Code Online (Sandbox Code Playgroud)

在我的测试中:

(app (ring.mock.request/request :get "/transactions"))
Run Code Online (Sandbox Code Playgroud)

但我有点困惑在哪里为我的请求添加这个“假”会话数据(例如(ring.mock.request/request :get "/transactions" :session {:username "foo"})。

session unit-testing clojure ring

4
推荐指数
1
解决办法
494
查看次数

如何在Phaser.js中对Sprite进行'Flash'效果?

我正在Phaser中创建一个Rpg,我试图在Sprite上创建一个Flash效果 - 这意味着将Sprite全部变为白色,然后恢复原来的颜色.

所以我的问题是:实现这种效果的最佳方法什么?.到目前为止我已尝试过两种解决方案,但我遗漏了一些东西:

解决方案1:

我尝试补间精灵的tint参数,如下所示:

this.game.add.tween(enemy).to({
        tint: 0xffffff,
    }, 100, Phaser.Easing.Exponential.Out, true, 0, 0, true);
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为将色调设置为0xffffff与将其设置为默认颜色相同.

解决方案2:

我的第二个可能的解决方案是添加一个具有相同大小的精灵的白色方块,并使用实际的精灵作为方块的掩码:

var flash = this.game.add.graphics(0, 0);
flash.beginFill(0xffffff);
flash.drawRect(enemy.x, enemy.y, enemy.width, enemy.height);
flash.endFill();
flash.mask = enemy  // enemy is my Sprite

/* .. code for tweening the flash */
Run Code Online (Sandbox Code Playgroud)

这个解决方案的问题是掩码 需要是PIXI.Graphics对象 ; 我正在使用Sprite对象.

所以请,任何指导将不胜感激.

javascript phaser-framework pixi.js

2
推荐指数
1
解决办法
5626
查看次数