有个疑问,请大大们帮忙看下,渲染过程分为Visit和Render两个过程,按照正常的理解比如Label的文本fillText的调用应该是在Render阶段来做,但是源码却在Visit内部的某一个UpdateRenderData里面来做,Visit不是只做model的构建吗?
老哥没啥问题吧?render-componet-walker 在visit的时候确实是来构建model的啊 关于updateRenderData也不会去渲染啊,只是更新渲染数据
但是在label的updateRenderData内部会调用对应ttf的updateRenderData这个,这个内部调用了canvas 2d的fillText接口,这个就是在画板上绘制一个文字吧。
具体这个流程我还真没追,兄弟这样,你断点看下。。你说的那能走到么
我是把2.0的分支源码下载下来看的,不知道怎么调试呢?
运行 cocos2d-x/tools/simulator/frameworks/runtime-src 下面的工程就能调试.
多谢,我试试。
不对,我要运行的是H5版本的Cocos-Engine源代码,不是Native版本项目。
嗯,这个地方的_context是通过doccument.createElement(“Cavas”)创建出来的Cavas获取2d的context。比较奇怪的是startPosition是(0,0),证明后面应该有个地方将这个cavas放置到某个位置上,但是也没找到呢?懵逼中。
哇 这就沉了么 老哥
你是怎么调试的,我用webstrom打开源码,但是不知道怎么创建项目去调试engine代码。
直接浏览器啊。。。
通过Cocos Creator构建后,会把engine代码压缩成一个文件吧。
不用。。老铁你新建个工程浏览器泡一下 ,然后 打开chrome的调试工具 就可以了啊
懂了,知道怎么调试了,多谢老哥。
所以 老哥 知道结果了么
在visit里filltext是有什么问题?
逻辑没问题,就是按照初始的设计,visit只会生成model,render才做渲染,有点小疑问而已。