You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity谷歌贪吃蛇游戏角色上下翻转异常问题求助

解决贪吃蛇角色上下翻转异常问题

你的问题出在Flip()方法的逻辑上——当前代码不管按哪个方向键,都会只翻转角色的X轴缩放,这就导致上下方向(W/S键)触发时,执行的还是左右翻转的操作。

修改方案

我们需要区分左右方向和上下方向的翻转逻辑,分别处理X轴和Y轴的缩放:

修改后的完整代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class snakemovement : MonoBehaviour 
{
    private Vector2 _direction = Vector2.right; 
    bool facingRight = true;
    bool facingUp = true; // 记录当前上下朝向
 
    void Update() 
    {
        if (Input.GetKeyDown(KeyCode.W)) 
        {
            _direction = Vector2.up;
            FlipVertical();
        } 
        else if (Input.GetKeyDown(KeyCode.S)) 
        { 
            _direction = Vector2.down;
            FlipVertical();
        }
        else if (Input.GetKeyDown(KeyCode.D)) 
        { 
            _direction = Vector2.right;
            if (!facingRight)
                FlipHorizontal();
        }
        else if (Input.GetKeyDown(KeyCode.A)) 
        { 
            _direction = Vector2.left;
            if (facingRight)
                FlipHorizontal();
        } 
    }

    private void FixedUpdate()
    {
        transform.position = new Vector3(
            Mathf.Round(transform.position.x) + _direction.x,
            Mathf.Round(transform.position.y) + _direction.y,
            0.0f);
    }

    // 处理左右翻转
    void FlipHorizontal()
    {
        Vector3 currentScale = transform.localScale;
        currentScale.x *= -1;
        transform.localScale = currentScale;
        facingRight = !facingRight;
    }

    // 处理上下翻转
    void FlipVertical()
    {
        Vector3 currentScale = transform.localScale;
        currentScale.y *= -1;
        transform.localScale = currentScale;
        facingUp = !facingUp;
    }
}

关键修改点

  1. 拆分翻转方法:把原来单一的Flip()拆成FlipHorizontal()和FlipVertical(),分别负责X轴和Y轴的缩放翻转
  2. 新增朝向记录变量:facingUp用来跟踪角色当前上下朝向,避免同一方向重复触发翻转
  3. 方向判断优化:在触发翻转前先检查当前朝向,只有和目标方向相反时才执行翻转,减少不必要的操作

这样修改后,按W/S键时角色会正确执行上下翻转,A/D键保持正常的左右翻转逻辑。

内容的提问来源于stack exchange,提问作者Mr penguin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:44:58