hfh215246411 2021-08-06 11:18 采纳率: 90%
浏览 20
已结题

最近在玩three.js,想做一个3d版贪吃蛇,在移动上遇到了问题

如题,我想做一个3d版的贪吃蛇,关于蛇蛇的移动,我有两个方案。(注意,左右为x轴,上下为y轴,前后为z轴)
方案一,蛇蛇初始默认沿z轴正方向移动,按下a键,蛇蛇立刻向左90度转弯,即沿x轴正方向移动,d键则右转,x轴反方向移动。w为z正方向,s为z反方向,q为y正,e为y反。
但这个方案我不是很喜欢,蛇蛇移动太僵硬了,只能90度转。所以我想使用方案二,而我的问题也出在方案二。

方案二,蛇蛇初始默认沿z轴正方向移动,按下a键,蛇蛇向左偏移1度,d键向右偏移一度,(左右即x轴角度变化一度,)w键向上偏移一度,s键向下偏移一度(上下即y轴角度变化一度)。从而实现蛇蛇圆润的转弯和倒车。
但事情并没有我想的那么简单。如果只按左右,能按我预想的移动,只按上下,也能按我预想的移动。但按了左右再按上下,就跑偏了,因为它当前移动的平面不再与yz轴构成的平面重合。
我要怎么实现这个移动算法?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月14日
    • 创建了问题 8月6日

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题