javascript - 旋转 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 上下文旋转它,或者我是否需要更改一些逻辑?
解决方案
我想你正在寻找这个ctx.scale(-1, 1);
。但最好在游戏加载时加载精灵的翻转版本,并在左右精灵之间切换。这比翻转精灵更快。
推荐阅读
- python - 带有数字键的mongoengine可以吗?
- elastic-stack - Filebeat 的替代品
- vue.js - Bootstrap Vue:b表上的自定义边框列样式和自定义边框行样式
- python - 使用python在同一个数据库中的不同表上同时写入
- adobe-illustrator - 从选定元素中删除剪切路径
- angular - RxJs - 如何使用 takeuntil 运算符返回通知值
- ruby-on-rails - 指向不同位置的 Rails 路线
- sql - 如何为 NodeJS 文件发出可行的 SQL 请求?
- sql - 在 SQL Server 中添加主键作为行号
- c# - 不使用 virtual 关键字的 Moq 具体类