javascript 导入是实时的吗?

问题描述

好吧,我正在尝试使用基本导入来做一个贪吃蛇游戏,但在某个时候,由于 javascript 任务,我被卡住了。

我将 oldSnake 的值指定为蛇更改之前的值。

但是当我进入 forEach 时,已经分配的值发生了变化,我不知道为什么。

在进入 forEach 之前

enter image description here

进入forEach之后

enter image description here

搜索了一下,没有找到,有人知道发生了什么吗?

import { snake } from "/snake.js";
    let lastDirection = {y: 1,x:0};
    export function updateGame(direction){
        let oldSnake = snake;
        if (!(direction.y == 0 && direction.x == 0)){
            if((lastDirection.y == 1 && direction.y == -1 || lastDirection.y == -1 && direction.y == 1)
            ||(lastDirection.x == 1 && direction.x == -1 || lastDirection.x == -1 && direction.x == 1)){
                direction = lastDirection;
            }
            
            snake.forEach((snakeSlice,index)=>{
                lastDirection = direction;                
                if (index === 0){
                    snakeSlice.ypos+= direction.y;
                    snakeSlice.xpos+= direction.x;
                }
                else{
                    snakeSlice.ypos = oldSnake[index-1].ypos;
                    snakeSlice.xpos = oldSnake[index-1].xpos;
                }
            });
        }
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)