cocos2dX改变锚点位置
改变锚点时,同过计算偏移量修正position从而保持CCNode在屏幕上的位置不变
1 void CLayer::change_anchorpoint(CCNode* node,CCPoint newpt) 2 { 3 float dx, dy, diffx, diffy, height, width; 4 width = node->getContentSize().width; 5 height = node->getContentSize().height; 6 7 diffx = (newpt.x - node->getAnchorPoint().x)*width; 8 diffy = (newpt.y - node->getAnchorPoint().y)*height; 9 node->setPositionX(node->getPositionX() + diffx); 10 node->setPositionY(node->getPositionY() + diffy); 11 node->setAnchorPoint(newpt); 12 }
newpt为新锚点的位置
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· MySQL索引完全指南:让你的查询速度飞起来
· 一个字符串替换引发的性能血案:正则回溯与救赎之路
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 我用这13个工具,让开发效率提升了5倍!
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· Coze工作流实战:一键生成鸡汤视频——厉害的人,早已戒掉情绪
· 32岁入行STM32迟吗?
· C++服务开发环境-万事开头难