使用cocos creator 2.x 遇到的问题及解决办法!持续更新中

第19粒… 编辑器上无法设置 组件的zIndex; 但如果在脚本上给一个node的zIndex属性改变值
之后在实例化它,zIndex还是会为0

所以在实例化后 再给zIndex设置值吧!

第20例, 如果需要用 富文本 ,记得加上 富文本模块设置!
还有 V2.4.3 必须加一下 Toggle 这个模块

第21粒, 预制体中使用Widget 会使组件不显示! 不信你试试!

第22粒, 安卓APK包的输入法被遮挡问题
修改java文件

这样输入法上就有输入框了!
如下图

另外 需要不显示输入框,使用自己游戏内的输入框
需要根据输入法的高度,来改变自己输入框的位置,
参考 xml java代码

这里没有该处具体值,具体想要的效果可以查查给什么值就好了!

第23粒: 接微信SDK时, 没有回调


画线的3处 包名 要一致, 也就是在CC里设置的包名

另外:很重要
java这边一定要有这个包,而且WXEntryActivity.java也一定放到这个包下面的 .wxapi 包里

还有这句一定要有!

第24粒: 关于 java回调js
Cocos2dxJavascriptJavaBridge.evalString(“cc.js_wxLogin(” + code + “)”);
别再弄这个了,根本不行, 调用简单的JS语句还可以,如果调用自己写的 模块.方法,还加参数,
一定要用 消息通知的形式

java代码:

js代码:

看了一下,当你遇到错误时,先想想为什么是错的,而不是第一感觉是换一种方法。你这些事例我看了,有很多是你用错了。比如widget,是因为你的父节点的大小为0,比如setInterval,这是js的方法,跟组件无关,自然不会跟组件的生命周期挂钩,应该用shedule,安卓调用js那个方法不是不行,是你的字符串拼接错了,而且线程是不是对的。

你说得对,同一个实现,有很多个方法,找不到对应的好办法,只能找一个可以实现的办法了,
比如 java掉js那个,文档就这么一写,试了不好用,网上百度了一下,也没更好的办法!

我这里有不太好的解决办法,你要是有更好的,更准确的,能给解答一下最好啦!

使用这个也是可以的
需要在js代码里添加 jsEngineCallback 这个方法

第25粒 接微信登录 安卓版
image

image

这两个方法最好放到 WXEntryActivity类中



两个方法的 finish();都要有

之前都是放到程序入口Activity里的,
但因为 主入口Activity不能finish(); 所以导致 从微信返回时,程序是被hold的,必须按一下返回键
才可以!现在这么改动一下OK了!

Cocos2dxActivity.java
Cocos2dxEditBox.java

是在引擎里的代码模板
D:\CocosDashboard_1.0.10\resources.editors\Creator\2.4.4\resources\cocos2d-x\cocos\platform\android\java\src\org\cocos2dx\lib\Cocos2dxActivity.java

如果项目换引擎版本了,记得这里也要相应的修改啊!!!

第26粒:iOS接微信登陆 拿到code后回掉js部分

下面是 js里定义的全局方法,放哪里都成,在登陆之前要执行得到即可
image

第27粒::: 实现一个屏幕点击并穿透,
161828253996800_00_01--00_00_07

上层点击时 不吞噬点击事件,

这两行代码 都可以 ,用哪个都行!

第28粒:
如果你的 Android 项目 Module的 build.gradle 里有
implementation ‘com.android.support:support-compat:28.0.0’
这个包可以去掉了, 去掉后,apk可以减少1MB

还要改 AppActivity.java类里

import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;

上面三个换下面三个
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

第29粒: 关于热更新
每次安装客户端 apk 时,要删除本地已经热更新下来的资源,
否则: 热更的文件 先于apk内的js脚本执行, 还可能引起崩溃

第30粒 如果谷歌商店拒绝了你,看看你是否用了这个包

SDKHub 完全没用上! 还指望他能接SDK,结果给我挖了个大坑!

1赞

一个参数的OK了
多个参数的如何解决?


这行 这么写多参数不行啊!

ver2int比较版本号可能会出错,比如:2.0.0和1.10.0哪个大?