2018

DOMException: play() can only be initiated by a user gesture(Cocos2d-JS HTML5)

Cocos2d-x目前一直在力推Cocos Creator,流程上Creator和Unity已经很像了(再来个编辑器状态可视化运行就完美了),其实Cocos还有一个纯JS版:http://www.cocos2d-x.org/filecenter/jsbuilder,而且还是可以自助选择所需组件的,最精简版是可以只有几百k的单js文件,使用此版本引擎的应用开发流程和Creator前的Cocos一样,代码为主!所以个人认为更适合做一些简单的小游戏或移植原有C++ Lua Obj-C项目。
由于对H5游戏开发接触的不多,大部分认知还停留在早期的canvas 2d状态,简单试了下这个纯JS版本,发现目前webgl的绘图效率已经可以在移动端和PC端(最新chrome)均达到很不错的效果了。不过这次要记录的问题和图形方面没关系,而是和声音有关,具体一点说是通过cc.audioEngine.playMusic播放游戏背景音乐产生的问题,错误现象直接写在标题中了。
其实在遇到标题中的错误之前还有一个问题,也算是关联问题,即H5游戏在移动端上不能以js代码形式主动触发音乐的播放,必须在用户操作后才可以播放,这个百度一下就可以查到,一开始在PC端还是按照原来做游戏的逻辑,loading完后splash,然后main menu直接播放bgm,PC浏览器下一切正常,但到了移动端却发现bgm根本没有播放,于是直接根据百度到的资料将初始bgm改为用户点击后才播放,本以为这样就可以了,但是后来又遇到了标题的问题,具体触发代码如下:
Continue reading…

Egret白鹭使用Photon第三方库后manifest.json不更新的问题

Egret版本:5.1.4,Photon JS/TS SDK版本:Photon-Javascript-Sdk_v4-0-0-6
按照白鹭第三方模块的引用方法(网上查到的方法版本很多2.x 3.x 4.x的都有,且各不相同,好不容易找到了5.x的最新方法):
在非白鹭项目位置创建lib项目,命令行执行:

egret create_lib Photon

生成的lib项目夹子内至少应该有:package.json tsconfig.json这两个文件,按照官方最新文档的配置:http://developer.egret.com/cn/2d/projectConfig/libraryProject
最终lib项目文件夹结构应该如下:
Continue reading…

Win10升级1709后无法匿名访问局域网共享文件夹的问题

今天Win10在一通疯狂硬盘IO后,提示我有重要更新,于是我又愉快的被Win10更新了,更后意识到是近期的1709版被推过来了(之前是1703),多了个“人脉”,别的新鲜还没发现,倒是遇到了个局域网共享访问不了的问题!
博主的路由器上一直开着samba共享,而且是允许匿名访问的,1709更完后突然发现访问出错了,提示的是个0x80004005的错误号(详细信息里),开始以为是这次更新改变了网络设备驱动或是设置,但后来机智的用手机试了下samba访问,发现完全没有问题,于是认定就是这次“重要更新”惹的祸了!
Continue reading…

Ubuntu 16.04 LTS安装MySQL 5.6后无my.cnf配置文件的问题

近日在虚拟机上的Ubuntu 16.04 LTS里测试Smartfox,需要安装MySQL数据库,于是apt-get安装,装的时候也没仔细看log,一路默认后就可以用了,建库建表都没有问题,直到后来发现需要修改MySQL的大小写敏感设置(lower_case_table_names=1),才发现百度到的配置文件修改在/etc/mysql/里并不存在,找了半天只发现这里/etc/mysql/conf.d/mysql.cnf有个类似的配置,而且里面只有[mysql]没有[mysqld],于是尝试添加了配置参数,又尝试手动创建my.cnf,结果不是不生效就是MySQL不能正常启动。最后发现是MySQL安装时出的问题,命令行执行:

dpkg -l | grep mysql

如果看到大部分mysql的包是5.6,但也有像mysql-common等的是5.7版的,这样就会产生这个没有默认配置文件的问题。解决方法如下:
Continue reading…