首页 > 解决方案 > GAME_WIDTH、GAME_HEIGHT 和 gameWidth、gameHeight

问题描述

我正在学习如何使用 Vanilla JS 制作游戏。讲师正在使用GAME_WIDTH, GAME_HEIGHT; index.jsgameWidth, gameHeightpaddle.js. 当他使用后者时,我看到后者附近有一个解释弹出窗口说GAME_WIDTH, GAME_HEIGHT当他将鼠标悬停在 时会考虑gameWidth, gameHeight

但是当我尝试将鼠标悬停在gameWidth, gameHeight; 它说any。谁能解释其中的区别?

顺便说一句,教练使用的方式,如果这与它有任何关系Sandbox,我正在使用。VS Code

index.js

import Paddle from './paddle.js';

let canvas = document.getElementById('gameScreen');
let ctx = canvas.getContext('2d');

const GAME_WIDTH = 800;
const GAME_HEIGHT = 600;

let paddle = new Paddle(GAME_WIDTH, GAME_HEIGHT);

paddle.js

export default class Paddle {
  constructor(gameWidth, gameHeight) {
    this.gameWidth = gameWidth;
    this.width = 150;
    this.height = 20;

    this.maxSpeed = 7;
    this.speed = 0;

    this.position = {
      x: gameWidth - 100 - this.width - 100,
      y: gameHeight - this.height - 10,
    };
  }

标签: javascriptgame-development

解决方案


大写常量 (GAME_WIDTH) 是存在于全局范围内的实际数据容器。驼峰式变量是函数参数,只存在于函数的生命周期内。

该脚本首先将常量设置为默认值。然后稍后它使用它们来启动 Paddle 的构造函数。但他真的可以向那个构造函数发送任何数字。因此,在这一用法之外的常量和变量之间没有关系(afaics)

编辑:他们在你的导师编辑器中的关系很可能是所述编辑器的一个特征。


推荐阅读