我们游戏cocos2dx版本用到了Camera做透视投影的近大远小效果,也用到了projectGL来计算屏幕坐标。目前我把游戏用creator改写的过程中由于自带的cocos2dx-lite移除了Camera,导致遇到一系列问题。
而我之前也有发帖提到过,我修改了cccamera的beforeDraw方法实现了针对节点N做透视投影。这次我想把节点N里的坐标C转化为屏幕坐标。
看到render-engine.js里有个worldToScreen方法,是把一个世界坐标乘以摄像机的视图和投影矩阵最终变化到视口坐标,应该和cocos2dx Camera里的projectGL方法是同样的作用。但是我调用这个方法无论传入什么世界坐标返回结果一直在ui设计尺寸的中心点左右, 设计尺寸是750*1334,返回结果一直近似于(375,667)。麻烦指点一下。
相关代码如下:
BattleCamera用来渲染PanelBattle。_temp_vec2是PanelBattle里一个点。