当旋转角色时,它会旋转一定的数量,然后返回
When rotating a character, it rotates a certain amount, and then goes back
我刚刚开始拼凑一个简单的游戏,你的一个点需要食物,否则你就会死。很简单,这只是一件有趣的事情。
我正在尝试一种不同于我通常所做的方法,即角色旋转然后移动。
当角色旋转时,它移动一定的量,然后在另一个方向上旋转一定的量。然后重复。我如何让它只旋转一个方向,而不是交替旋转(而且整个过程都在一个大致的方向上)。
旋转脚本:
self.rotationy = 0;
self.rotationx = 0;
self.turnLeft = function() {
self.rotationy -= 0.1;
};
self.turnRight = function() {
self.rotationy += 0.1;
};
self.move = function() {
var posX = Math.sin(self.rotationy);
var posZ = Math.cos(self.rotationy);
self.locationx += posX + 3;
self.locationy += posZ + 3;
};
如果它很重要,下面是更新脚本:
self.update = function() {
self.hunger -= 0.003;
self.updateColour();
if (self.hunger <= 0) {
self.die();
} else if (self.hunger >= 1) {
self.die();
}
if (self.locationx <= 20) {
self.locationx = canvas.width - 21;
} else if (self.locationx >= canvas.width - 20) {
self.locationx = 21;
} else if (self.locationy <= 20) {
self.locationy = canvas.height - 21;
} else if (self.locationy >= canvas.height) {
self.locationy = 21;
}
drawCircle(ctx, self.locationx, self.locationy, 20, self.colour);
};
self.die = function() {
};
setInterval(self.update, 50);
};
这是一个JSFiddle: http://jsfiddle.net/hzhubf8o/
还请注意,我没有创建一个函数来清除所使用的路径。
提前感谢!
感谢Siguza,我有了答案(把它贴在这里以防有人有类似的问题)
我添加了+3,这使得字符沿着正数移动。它应该让他走得更快,而不是应该是* 3(也是他建议的)。
self.locationx += posX + 3;
self.locationy += posZ + 3;
更改:
self.locationx += posX * 3;
self.locationy += posZ * 3;
相关文章:
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- Javascript运行php文件,然后下载文件
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 知道为什么我的旋转木马不会自动更改图片吗
- 弹出窗口出现,然后退出
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 将值输入到对象,然后该对象推送到数组
- 如何临时暂停浏览器渲染,然后恢复整个页面
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 顺时针旋转Svg元件
- 将鼠标旋转限制为特定的度数
- 滚动然后捕捉到顶部而不是取消捕捉
- 旋转后拖动对象
- 禁用旋转木马中的下一个按钮和上一个按钮
- 如果我在 x 中旋转圆柱体,则 y 然后在不同的 theta 中旋转 z.最终圆柱体的 y 轴高度是多少
- DIV侦听旋转一次,然后没有jQuery
- 如何开始旋转一个引导程序字体真棒图标,然后用jQuery停止它
- 偏移量相当于平移然后旋转
- 旋转SVG文本围绕一个圆圈,然后围绕自己使用d3
- 当旋转角色时,它会旋转一定的数量,然后返回