首页 > 解决方案 > 旋转 3d javascript 精灵

问题描述

我有一个图像精灵,包括我的角色(游戏英雄)的 8 帧向右转。我希望那个英雄在左键保持左转。现在它一直向右转。我在 2d 画布上下文中绘制图像,如下所示:

ctx.translate(x, y);
// TODO - here I need to rotate it in 3d
// ctx.rotate();
ctx.translate(-x,-y);

ctx.drawImage(i, cycle * spriteW, 0, spriteW, spriteH, x, y, spriteW, spriteH);
ctx.restore();

是否可以使用 2d 上下文旋转它,或者我是否需要更改一些逻辑?

标签: javascriptcanvas

解决方案


我想你正在寻找这个ctx.scale(-1, 1);。但最好在游戏加载时加载精灵的翻转版本,并在左右精灵之间切换。这比翻转精灵更快。


推荐阅读