Egret社区
本帖最后由 Saigo_C 于 2019-3-27 15:59 编辑

大大们好,我是个新人,学习做微信小游戏时出现了BUG不懂怎么解决
我只做了下面的几个步骤就出错了,新手入门都进行不下去了,希望有大神能帮我看看,感激不尽

操作步骤

1. 新建了一个eui的新项目
2. 新建一个eui组件(名字:SlimeGamePlayScene)作为游戏界面,里面只有一张image背景图
3. 在main.ts中addChild后,此时在微信开发者工具中调试正常,显示了背景图界面

4. 新建一个eui组件(名字:ButtonSlimeBorn)作为生成怪物的按钮
5. 把“ButtonSlimeBorn”这个自定义组件,直接拖动到“SlimeGamePlayScene”这个游戏界面上
6. 此时在微信开发者工具中调试出错,画面黑屏,没有出现任何东西


报错代码如下

ReferenceError: ButtonSlimeBorn is not defined
    at SlimeGamePlaySceneSkin.generateEUI.paths.resource/Game/SlimeGamePlayScene.exml.window.SlimeGamePlaySceneSkin._proto._ButtonSlimeBorn1_i (default.thm.js? [sm]:695)
    at new SlimeGamePlaySceneSkin (default.thm.js? [sm]:681)
    at SlimeGamePlayScene.Component.onExmlLoaded (eui.js:3097)
    at Object.load (eui.js:21167)
    at SlimeGamePlayScene.Component.$parseSkinName (eui.js:3074)
    at SlimeGamePlayScene.Component.createChildren (eui.js:3467)
    at SlimeGamePlayScene.UIComponentImpl.$onAddToStage (eui.js:1148)
    at Main.DisplayObjectContainer.$doAddChild (egret.js:4485)
    at Main.DisplayObjectContainer.addChild (egret.js:4419)
    at Main.createGameScene (main.js? [sm]:280)
分享到 :
0 人收藏

3 个回复

倒序浏览
Nasus  初窥堂奥 | 2019-3-27 16:11:53
如果方便的话您可以上传一下您的代码片段
Saigo_C  初窥堂奥 | 2019-3-28 12:43:47
Nasus 发表于 2019-3-27 16:11
如果方便的话您可以上传一下您的代码片段

已经找到方法解决啦,谢谢官方大大的即时回复

我这里把解决方案写出来Mark一下,给需要的小伙伴看

解决思路:
    需要将自定义组件暴露到全局作用于

具体代码:
    在自定义组件的类代码下添加如下代码
    window["类名"] = 类名;
    比如,我自定义组件的类名是 ButtonSlimeBurn,那么我就需要在class ButtonSlimeBurn{}下面添加
    window["ButtonSlimeBurn"] = ButtonSlimeBurn;

然后就OK了
Saigo_C  初窥堂奥 | 2019-3-28 12:45:31
哦对了,我是在白鹭的微信公众号上找到的文章,里面还有其他微信小游戏的问题集锦

传送门在下

https://mp.weixin.qq.com/s/AmlQeFOK78r4PtYD8oPFWA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部