requestAnimationFrame 范围更改为窗口

2024-02-07

我有一个看起来像这样的对象链:

Game.world.update()

我想使用 requestAnimationFrame 来确定该函数的帧速率。

但是,当我这样实现时:

World.prototype.update = function()
{
    requestAnimationFrame(this.update);
}

范围从世界对象变为窗口对象。在调用 requestAnimationFrame() 时如何保持我想要的范围?我知道这与匿名函数等有关,但我无法理解它。


通常的方法,在任何地方都适用:

World.prototype.update = function()
{
    var self = this;
    requestAnimationFrame(function(){self.update()});
}

或者使用 ES5Function.prototype.bind https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind (兼容性 http://kangax.github.io/es5-compat-table/#Function.prototype.bind%5d):

World.prototype.update = function()
{
    requestAnimationFrame(this.update.bind(this)});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

requestAnimationFrame 范围更改为窗口 的相关文章

随机推荐

  • 删除 JSON 元素

    我想从 JSON 中删除 JSON 元素或一整行 我有以下 JSON 字符串 result FirstName Test1 LastName User FirstName user LastName user FirstName Ropbe
  • Haskell:映射函数应用

    我在 Haskell 中进行的部分计算会产生映射的函数列表Float to Float 我想对所有这些函数应用一个参数 如下所示 x Float functions Float gt Float map f gt f x functions
  • 如何检查空结构?

    我定义了一个结构体 type Session struct playerId string beehive string timestamp time Time 有时我给它分配一个空会话 因为 nil 是不可能的 session Sessi
  • matlab 脚本中是否使用了某些 matlab 例程?

    我正在运行一个大的 m 文件 该文件不是我自己编写的 并且取决于某些子函数 我想知道所有嵌套函数中的任何位置是否使用了特定函数 在我的例子中是函数 eig m 用于计算特征值 有没有快速的方法来做到这一点 亲切的问候 科恩 您可以使用半文档
  • 如何编写 GraphQL 查询以从 github 检索所有工作流程/运行

    如何编写 GraphQL 查询以从 github 检索所有工作流程 运行 我尝试下面的查询来获取节点 id organization login abc repositories first 100 nodes id name 和下面的查询
  • Microsoft Teams:获取用户的时区?

    我正在为 MS Teams 开发一个机器人 我希望了解用户的时区 以便在适当的时间 例如 不是在半夜 传递消息 我没有在机器人框架 REST API 中找到合适的东西 虽然我们收到的消息包含 clientInfo country 属性 这是
  • 枚举另一个会话上用户桌面的 Windows

    我有一个简单的问题让我发疯 我有一个用 C 编写的 Windows 服务 它应该在 XP Vista 和 7 上运行 并且能够枚举当前用户桌面的窗口 如果有 以进行监控 So far 我用过EnumDesktopWindows通过IntPt
  • XmlSerializer序列化接口的通用列表

    我正在尝试使用 XmlSerializer 来保存 List T 其中 T 是一个接口 序列化器不喜欢接口 我很好奇是否有一种简单的方法可以使用 XmlSerializer 轻松序列化异构对象列表 这就是我想要的 public interf
  • 使用 ColdFusion 对单点登录数据进行签名

    对于这篇文章的长度 我提前表示歉意 我对这个问题的了解还不够 无法正确确定具体问题实际上是什么 但无论如何 我们一直在使用 Leigh 提供的步骤和建议来调用我们的会员 API 来查询有关我们会员的信息 加入日期 会员类型等 here ht
  • 使用 Python 的 select 模块检查是否有更多数据可以从文件描述符中读取

    我有一个程序 它在线程中创建一个子进程 以便线程可以不断检查特定的输出条件 来自 stdout 或 stderr 并调用适当的回调 而程序的其余部分继续 这是该代码的精简版本 import select import subprocess
  • Toast 通知失败,模拟器

    我在这里使用 toast 通知示例 http code msdn microsoft com windowsapps Toast notifications sample 52eeba29 http code msdn microsoft
  • 将行添加到 WPF 数据网格,其中列直到运行时才知道

    我正在尝试将数据添加到数据网格 事实上 任何在网格中呈现数据的控件都可以 但列 名称和数字 直到运行时才知道 我知道如何创建的专栏 例如 DataGridTextColumn textColumn new DataGridTextColum
  • Eclipse Helios 忽略断点

    Eclipse 现在快把我逼疯了 这可能是一件微不足道的事情 但我就是不明白 每当我想添加断点时 常规图标都会在编辑器和断点视图中被划掉 正如您可能已经猜到的那样 这严格来说并不是一个图形问题 调试时断点会被忽略 断点的属性也没有帮助 任何
  • MongoDB:使用不同的值进行更新和插入

    一些背景信息 我为每个用户都有一个文档 其中包含一个数组 其中包含与用户相关的最新 20 个事件 由于 MongoDB 没有此功能 限制文档内的数组 我将推送我的事件并弹出最新的事件 我的问题 初始化文档 又名用空值填充数组 我想原子地 创
  • JDODetachedFieldAccessException:您刚刚尝试访问字段“附件”,但在分离对象时该字段尚未分离

    实体类 public class CustomerSurvey implements Serializable Id GeneratedValue strategy GenerationType SEQUENCE generator CUS
  • “互斥锁”到底有什么作用?

    您可以在此链接中看到一个有趣的表格 http norvig com 21 days html answers http norvig com 21 days html answers 该表描述 互斥锁 解锁 25 nanosec 从主存中获
  • 如何从 Laravel 中的 hasMany() 关系中获取所有结果?

    例如 我有一个产品 还有一个基础产品 在产品模型中 我指定了以下内容 In class Product public function BaseProduct return this gt belongsTo BaseProduct Bas
  • AADSTS50012:从测试应用程序转移到生产时提供了无效的客户端密钥

    我在 Azure 门户下注册了两个应用程序 测试版本和生产版本 我的测试应用程序与我从 Azure 门户的测试应用程序详细信息中获取的客户端 ID 和 ClientSecret AppKey 配合得很好 然而 当我转移到生产应用程序并将 C
  • 带有可变参数的动态CSS? (是否可以?)

    我正在尝试创建一个菜单系统 该系统会根据有多少 li 条目水平动态调整自身大小以进行填充 我正在使用 XSLT 动态创建网页 我的想法是这是否可以在 CSS 中完成 这是我专门用于 HTML 页面的 CSS nav role navigat
  • requestAnimationFrame 范围更改为窗口

    我有一个看起来像这样的对象链 Game world update 我想使用 requestAnimationFrame 来确定该函数的帧速率 但是 当我这样实现时 World prototype update function reques