使用pixi.js制作2D游戏,当主玩家死亡时(因为他击中了狐狸,汽车或其他东西),我想放大它。心中的欲望效果是超级肉食男孩的一个层次的结束。
检查它,它是在19:20和19:22之间:http://youtu.be/3VKWn41Bqss?t=19m20s
我有一个worldLayer
变量DisplayObjectContainer
。这个图层包含了世界的每一个元素,所以我按比例缩放它,每一帧:
this.worldLayer.scale.x += GAME.config.dead_zoom_speed;
this.worldLayer.scale.y += GAME.config.dead_zoom_speed;
现在你想象这段代码放大了坐标(0,0)的方向,这是屏幕的左上角。但是,当然,我想放大播放器,这不是(0,0)。它实际上可以在任何地方。
如果DisplayObjectContainer
具有anchor
属性,则放大特定点是可行的;但它并没有。 This code for exemple,使用另一个lib而非pixi,使用这种技术:它修改了锚(在这个小提琴中称为原点)。
所以我的结论是,为了放大特定点,我必须使用position
的{{1}}。所以对于每一帧:
最后一点是我被困的地方。你会怎么去计算位置?我的思绪无法绕过它。
这就出现了在不显示外部画布的情况下居中的问题。例如,如果主角靠近屏幕的右边缘,则它不会完全居中在视口上。但那是另一个问题。
所以我想和你们讨论一下:你有没有必要实现这样的功能?怎么样 ?我错过了pixi.js API中的内容吗?
此致