gpt4 book ai didi

实例化后可从方法访问的 Javascript 局部变量?

转载 作者:行者123 更新时间:2023-11-30 16:17:02 31 4
gpt4 key购买 nike

<分区>

所以我正在复习我的 vanilla Javascript,专门用于动画,我遇到了一个包含以下代码的教程:

function sprite(options){

var spr = {},
frameIndex = 0,
tickCount = 0,
ticksPerFrame = options.ticksPerFrame || 0,
numberOfFrames = options.numberOfFrames || 1;

spr.context = options.context;
spr.width = options.width;
spr.height = options.height;
spr.image = options.image;
spr.loop = options.loop;

spr.render = function(){
console.log("render");
//console.log("height: ", spr.height);
//console.log("width: ", spr.width);
//console.log("context: ", spr.context);
//console.log("image: ", spr.image);

// Clear Canvas
spr.context.clearRect(0, 0, spr.width, spr.height);

// Draw animation
spr.context.drawImage(
spr.image,
frameIndex * spr.width / numberOfFrames,
0,
spr.width / numberOfFrames,
spr.height,
0,
0,
spr.width / numberOfFrames,
spr.height
);
};

spr.update = function(){
tickCount += 1;

if (tickCount > ticksPerFrame){
tickCount = 0;

if (frameIndex < numberOfFrames - 1){
frameIndex += 1;
} else if (spr.loop) {
frameIndex = 0;
}
}
};

return spr;
}

我理解所有的逻辑和一切,但是怎么样

  • frameIndex
  • tickCount
  • ticksPerFrame
  • numberOfFrames

返回 spr 后,可以从 render()update() 方法访问吗?据我所知,它们是 sprite 函数的本地函数,在实例化后不应访问。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com