javascript - HTML 画布上的对象移动,小行星
问题描述
这更像是一个运动物理问题。但是我有一个小错误,我无法在我正在制作的小行星游戏中弄清楚。对于我的船,我有一个推力功能,当你按下向上箭头时会激活它:
let rotationAngle = 0;
function thrust() {
velocity[0] += Math.cos(rotationAngle);
velocity[1] += Math.sin(rotationAngle);
}
据说这应该使船向前移动。在我的游戏循环中调用的更新函数是:
function update() {
spec.center.x += velocity[0] * .1;
spec.center.y += velocity[1] * .1; //.1 is the acceleration
if (spec.center.x > MyGame.graphics.canvas.width) spec.center.x = 0; //wrapping
if (spec.center.x < 0) spec.center.x = MyGame.graphics.canvas.width;
if (spec.center.y > MyGame.graphics.canvas.height) spec.center.y = 0;
if (spec.center.y < 0) spec.center.y = MyGame.graphics.canvas.height;
}
它使得当推力按钮被释放时船将保持漂浮。这一切似乎工作正常,除了它不是向上移动,而是向右移动,即,如果我按下推力按钮使其向前移动,它会向侧面移动。
我在这里错过了一些简单的东西吗?如果我需要提供有关渲染的更多详细信息,我会很乐意这样做。
谢谢。
解决方案
推荐阅读
- firebase - Firebase createUser 然后 setCustomUserClaims 在 Cloud Functions 中
- java - 更新 BigQuery 架构/在 Java 中添加新列
- c# - Convert.ChangeType 以不同的语言显示输入 FormatException
- sql-server - 什么是真正的 sys.all_objects?
- ruby - Ruby:pretty_print in pry:委托检查会导致意外行为
- python - VSphere API - guestFullName 未设置
- javascript - 从反应前端传递查询到羽毛服务的好习惯吗?
- python-2.7 - 多处理、Django 和 OperationalError:SSL SYSCALL 错误:检测到 EOF
- shell - shell脚本中的字符串操作
- python - 用 R 优雅地解析一个巨大的文本表