creator bug

1 性能draw call:
A draw call基本是看你合图,同一张合图基本就是一次draw call,不过label和网络加载头像或者系统给的默认图,都是会打断批次导致增加draw call
B 节点的顺序也会影响打断渲染批次的次数
比如你a b c都是同合图,d是一个label,你的节点顺序是 a b c d 就是两次,a d b c就是三次
C label自己也会打断自己,也就是 哪怕连续的几个label,几个label就是几个call,然后label插在任何同批次里面,都会增加两次,因为会打断,本来就一次连续的,中间插了一次label,当渲染到label断了,然后渲染label,就增加一次,然后label完毕,继续渲染,又是一次,原本1次就变3次了

例子:论坛中重复添加相同的prefab,GL calls一直增大,帧数降到30帧?
A 有系统字体label?
B 子弹的prefab用了多张贴图?

2 论坛 creator 艺术数字字体有问题:
这个是按acsii码表来的 ~~ 做成png 图的时候要,按照 * + , - . / 0 1 2 3 4 5 6 7 8 9 吗

4 emit时node必须要active=true;才能收到
emit 仅自己给自己派发事件,dispatchEvent 是给节点树上层的节点(冒泡派送)发送事件

5 当访问对象=null时; 报错:TypeError…
6 调用函数:
脚本内部:this.XXXX();
脚本间相互访问:二种调用方法
cc.vv.audioMgr.playBGM(“bgFight.mp3”);
this.audioMng = this.audioMng.getComponent(‘AudioMng’).playMusic();

    ![这里写图片描述](https://img-blog.csdn.net/20171228181246939?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzMyMTMyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

7 数值删除元素
for(遍历)
{
//bug:删除后, length立刻变化导致fault 类似vector迭代器乱了
this.cardsNode[nIndex].splice(nIndex, 1); // 错误
this.cardsNode[nIndex].destroy(); //这一行对
}
8 对象池删除obj
for(let nIndex = 0; nIndex < node.children.length; nIndex++) {
this.enemyPool.put(this.pNodeBullet.children[nIndex]); //这个方法会同时调用节点的 removeFromParent
nIndex–; // length会实时变化 (后边元素向前移动 so自减1)
}


6 数据结构:
Lua: table={1字典} js: [0] { } ==json C++:STL

8 微信开发者工具。 V1.8版本支持微信小程序
https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html
https://mp.weixin.qq.com/debug/wxagame/dev/index.html?t=201813 – 教程
9 打包遇到坑:
A不勾选Android Studio,否则要Studio配置
这里写图片描述
B 找不到Activity Class
这里写图片描述
Android运行后黑屏 / 安卓打包的问题(APP ABI Debug模式问题)
C VSCODE 调试的时候报 无法连接到运行中的进程,将在10000毫秒后超时
重启
D: 运行后黑屏。1周黄兴:
黑屏–Scene没有加载—说明OnLoad就…
E: 引擎如何跨平台:
IOS:入口函数main—加载一个rootViewController–OC调用C++的…didFinishLaunch函数
D 小问题:
1 creator修改版本号,icon: 构建完后改–改完再打包(xcode/as)
2 游戏进入后台前台: cc.game.on(cc.game.EVENT_HIDE/EVENT_SHOW,…
3 xcode调试js: 断点/打log的

这里写图片描述
这里写图片描述
这里写图片描述

--------------------------------------------------2017.12月
bth绑定 jsb-vm 调试 二维[ ]
why http voice new对象Chat是add

target dispath precessBar
scroview~content尺寸
--------成都幼麟麻将可借鉴
LobbyScene中UI处理: 一个Scene拥有多个Layer,每个Layer对应一个类脚本组件;对应组件挂载在对应Layer下
GameScene中Logic处理:1采用代码添加组件,NO挂载 2主脚本挂在Canvas;目的。。。派发事件/编辑器NO乱
其他:大小结算页面
公共部分: http socket Net事件中转. chat Alter Music 封装成公共类
这里写图片描述

--------js语法
这里写图片描述
这里写图片描述
------------------------------2018.1.17 —性能优化
遇到bug在cocos论坛find; 前人踩的坑上面都有
例子:重复添加相同的prefab,GL calls一直增大,帧数降到30帧?
有系统字体label?
子弹的prefab用了多张贴图?
这里写图片描述
http://forum.cocos.com/t/cocos-creator-1-4-2/45100/21
adb devices 获取连接的android设备列表
-------- ------------适配黑边
1 需求:全屏且内容显示全
屏幕适配:公司用show_All老马去掉黑边 No_borard没有黑边会超屏幕, Studio中位置用%!=creator的widget组件. why不安各自scale(适配本质)

2 保卫萝卜即用这样方式。 https://blog.csdn.net/hanbingfengying/article/details/41151451
cocos2dx3.0五种屏幕适配模式,及FIXED_WIDTH、FIXED_HEIGHT使用.
3
重复适配代码写成全局函数
这里写图片描述

3D:
1 transform的.translate/position偏移量和位置
2 isTigger==sensor勾选后,等于设置为传感器 无碰撞效果。但能出发OnTriggerEnter2D回调使用collision
3 调试MonoDeveloper: 先运行developer在去运行编辑器
在这里插入图片描述
this.gameObject.name =“X”;可以动态赋值。但是Tag仅能再编辑器中—-addTag
coll.gameObject.GetComponent().velocity=new Vector2(0, 9); 相当于反弹力/.AddForce /通过.gameObject获取组件所在节点
Random.Range(5.1f, 9.2f); float类型报错 :缺少f
unity3D游戏开发十三之GUI, OnGUI(UI相关放再内部) 每帧调用 Rect参数 文件名字非GUI.cs 纯代码 编辑器插件NGUI
OnCollisionEnter2D/Exit 都TM调用2次 因为:挂载了2脚本
————1.1
1 脚本内生命周期-间顺序。 与creator一样. Input类响应用户输入
2
Camera:设置旋转角度基本都能实现想看哪里看哪里/LaterUpdate中transform.LookAt跟随住角位置

麦秸: offset = (winSize.width设备宽度-1280设计)0.5;
.这个值是具体偏差
----适配:
搞了一下午:全屏且内容显示全. 思路:背景图覆盖黑边
遇到坑
1 背景图要居中,背景图尽量大,(16:9 18:9)
2 海马/逍遥Android模拟器中随意修改分辨率
3 代码: 把每个Scene Layer CSD都居中设位置
Auto glview = glview->getFrameSize(); //设备分辨率
WeChatLobbyLayer->setAnchorPoint(Vec2(0.5, 0.5));//因为适配本质scale
WeChatLobbyLayer->setPosition(Vec2(glview.width
0.5, glview.height0.5));
-----2018.5.17
// 重复用static函数 源码
void GameLobby_AppData::adaptWidget(Node
pParent, Layout* pParentWidget)
{
Size visibleSize = Director::getInstance()->getWinSize();
//把CSB居中
pParent->setAnchorPoint(Vec2(0.5, 0.5));
pParent->setPosition(Vec2(visibleSize.width0.5, visibleSize.height0.5));

//黑色遮罩
if(!pParentWidget) return;
//pParentWidget->setBackGroundColorOpacity(0);
  pParentWidget->setVisible(false); //造成所有子节点隐藏
auto _pWidget = Layout::create();
_pWidget->setContentSize(Size(100, 100));
_pWidget->setAnchorPoint(Vec2(0.5, 0.5));
_pWidget->setPosition(Vec2(0, 0));
_pWidget->setScale(200, 200);
_pWidget->setTouchEnabled(true);

// _pWidget->setColor(Color3B::BLACK);
_pWidget->setBackGroundColorType(cocos2d::ui::Layout::BackGroundColorType::SOLID);
_pWidget->setBackGroundColor(Color3B::BLACK);
_pWidget->setBackGroundColorOpacity(255*0.4);
_pWidget->setLocalZOrder(pParentWidget->getLocalZOrder()-1);

pParentWidget->getParent()->addChild(_pWidget);
/*
 1 Layer scene不用setPosition() why?
 2 getVisibleSize()  getOpenGLView(造成位置跑到屏幕外)不一样 如:iphone6 1280/1336 全面屏
 3 有个问题:Game内一些按钮位未靠近屏幕边缘,使用offset=(visibile-design).width*0.5
 **/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值