LayaAir中函数不能调用的问题

先检查一下调用函数的部分是不是写在了LOOP循环里面;

比如这种:

Laya.timer.loop(1,this,bulletsmove.monsterBulletsMove);

这样在monsterBulletsMove()里面的函数如果调用了自身,比如:this.isCollision();

这样执行到this.isCollision();时就会报错说找不到这个函数。

原因:

在这里的this是调用Loop时的那个[左边加粗的这个] :      Laya.timer.loop(1,this,bulletsmove.monsterBulletsMove);

因为Loop里面第二个参数就是函数的作用域,这里填的是this的话就是最外面的那个作用域了。

解决方法:

当然可以使用这种方式:把作用域换成另外一个需要使用的参数,不使用this[下面加粗的这个];

比如:     Laya.timer.loop(1,bulletsmove,bulletsmove.monsterBulletsMove);

推荐使用第二种解决方式:

写一个函数把调用放进去,就是下面这种!

Laya.timer.frameLoop(1, this, this.tet);

private tet(): void {

this._bulletsmove.playerBulletsMove();

}


         emmmmmm,共勉!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    陈老板_阅读 515评论 0 1
  • 疏眉 丹凤眼 菱形嘴 鹰钩鼻 咸淡皆宜的长相 下一秒被遗忘 可我记住了 很深 像是铅笔勾画的动漫眉 一片海洋的深邃...
    柠檬红茶坊的一颗豆阅读 183评论 0 0
  • ✿ 张 铭 格,乃规矩,规范也。物,乃人物,事情也。格物,即是在本真自然的框架内遵循一种事物内在的本质的必...
    伊水文化论坛阅读 5,262评论 0 0
  • 1.感恩給予我生命的父母,是父母幸苦扶養我長大,教會我說第一句話、走第一步路、學會穿第一件衣服、帶給我們安全感等等...
    敏乐麻麻阅读 133评论 0 0
  • 每每说到云南,首先想到的就是大理丽江香格里拉,其实云南黑大,云南好耍的地方黑多!黑豆锅今天来普及一哈~ 1 怒族的...
    惠萍行走阅读 395评论 0 0

友情链接更多精彩内容