QQ Play 勾选调试模式
生成的 cocos-js.js 里的定义是这样的
defineMacro("CC_DEV", true); defineMacro("CC_BUILD", false);
可是生成的 project.dev.js 里的和宏有关的代码都没有了,比如这样的:
if(CC_DEV)
{
…
}
if(!CC_BUILD)
{
…
}
QQ Play 勾选调试模式
生成的 cocos-js.js 里的定义是这样的
defineMacro("CC_DEV", true); defineMacro("CC_BUILD", false);
可是生成的 project.dev.js 里的和宏有关的代码都没有了,比如这样的:
if(CC_DEV)
{
…
}
if(!CC_BUILD)
{
…
}
不然怎么叫做宏呢?没有是正常的,因为已经融入到血液里了
不对啊,CC_DEV 是true, if里的代码应该是生效的啊
现在的结果是if里的代码被优化掉了
如果已经知道是 true 的话,还要宏干什么啊?那个 true/false 是宏未定义时动态生成的默认值,每个平台最终实际的值是不一样的。
var a ;
if(CC_DEV)
{
a = 1;
}
else{
a = 2;
}
比如这样,根据打包情况给变量赋不同的值什么的。
可现在CC_DEV = true;
a=1的代码却被优化没了,只保留了a=2的代码
什么情况下会 = true??
QQ Play 勾选调试模式
生成的 cocos-js.js 里的定义是这样的
defineMacro(“CC_DEV”, true);
defineMacro(“CC_BUILD”, false);
这个不代表最终 CC_DEV 就是 true。麻烦你看下 defineMacro 的实现
好吧,先不用这个东西了
有CC_QQPlay,CC_WeChatGame,
能不能加个CC_Facebook,CC_其他发布平台的宏啊
facebook 可以用 cc.sys.platform 进行判断。宏不会再增加了
有宏可以把不相关的代码优化掉,还是挺好用的
用cc.sys.platform进行判断,并不能把代码优化掉,
现在那么多平台,就微信是有宏的