cocos2dx 源码学习7 CCNS.h

本文详细介绍了cocos2d-x框架中将字符串转换为Core Graphics矩形、点和尺寸的函数用法,通过实例展示了如何解析包含坐标和尺寸信息的字符串,并将其转化为相应的Core Graphics结构,适用于游戏开发和2D图形处理。

原文地址:http://blog.csdn.net/runaying/article/details/16352675

  1. ///\cocos2d-x-3.0alpha0\cocos2dx\cocoa  
  2. //返回给定字符串的结构样式  
  3.   
  4. #ifndef __PLATFOMR_CCNS_H__  
  5. #define __PLATFOMR_CCNS_H__  
  6.   
  7. #include "CCGeometry.h"  
  8.   
  9. NS_CC_BEGIN  
  10.   
  11. /** 
  12.  * @addtogroup data_structures 
  13.  * @{ 
  14.  */  
  15.   
  16. /** 
  17. @brief 返回给定的字符串对应的  Core Graphics 结构代表的矩形 
  18. @param pszContent   一个字符串对象,其内容形式是 "{{x,y},{w, h}}", 
  19.                     其中x是x坐标,y是y坐标,w是宽度,h是高度。 
  20.                     这些组件可以表示整数或浮点数值。 
  21.                     一个有效的字符串的一个例子是 "{{3,2},{4,5}}". 
  22.                     这个字符串是没有本地化的字符串,所以 items 总是使用逗号隔开 
  23. @return 一个 Core Graphics 结构代表的矩形。 
  24.         如果该字符串没有很好的样式, 这个函数会返回 CCRect::ZERO. 
  25. */  
  26. CCRect CC_DLL RectFromString(const char* pszContent);  
  27.   
  28. /** 
  29. @brief 返回给定的字符串对应的 Core Graphics 结构组成的点. 
  30.  @param pszContent      一个字符串对象,其内容形式是 "{{x,y},{w, h}}", 
  31.                         其中x是x坐标,y是y坐标,w是宽度,h是高度。 
  32.                         这些组件可以表示整数或浮点数值。 
  33.                         一个有效的字符串的一个例子是 "{{3,2},{4,5}}". 
  34.                         这个字符串是没有本地化的字符串,所以 items 总是使用逗号隔开 
  35. @return 一个 Core Graphics 结构组成的点. 
  36.         如果该字符串没有很好的样式, 这个函数会返回 CCRect::ZERO. 
  37. */  
  38. CCPoint CC_DLL PointFromString(const char* pszContent);  
  39.   
  40. /** 
  41. @brief 返回给定的字符串对应的  Core Graphics 尺寸结构 
  42.  @param pszContent      一个字符串对象,其内容形式是 "{{x,y},{w, h}}", 
  43.                         其中x是x坐标,y是y坐标,w是宽度,h是高度。 
  44.                         这些组件可以表示整数或浮点数值。 
  45.                         一个有效的字符串的一个例子是 "{{3,2},{4,5}}". 
  46.                         这个字符串是没有本地化的字符串,所以 items 总是使用逗号隔开 
  47.  
  48. @return 一个 Core Graphics 结构代表的尺寸. 
  49.         如果该字符串没有很好的样式, 这个函数会返回 CCRect::ZERO. 
  50. */  
  51. CCSize CC_DLL SizeFromString(const char* pszContent);  
  52.   
  53. // end of data_structure group  
  54. /// @}  
  55.   
  56. NS_CC_END  
  57.   
  58. #endif // __PLATFOMR_CCNS_H__  

举一个简单例子:
        const char  *str="{{3,2},{4,5}}";
CCRect rect=CCRectFromString(str);
CCLOG("%f,%f,%f,%f",rect.origin.x ,rect.origin.y ,rect.size.width,rect.size.height);

输出结果如下:
3.000000,2.000000,4.000000,5.000000

内容概要:本文档是一份针对2025-2026年Java后端大厂面试的高频考点全面梳理,涵盖Java基础、集合框架、并发编程、JVM、Spring全家桶、MySQL、Redis、消息队列、分布式与微服务等核心技术模块。内容不仅包括经典概念辨析(如String与StringBuilder区别、HashMap底层结构),还深入源码机制与设计原理(如Spring三级缓存解决循环依赖、AOP动态代理实现),并结合实际场景探讨问题排查与技术选型(如GC调优、缓存穿透解决方案)。特别强调从“背八股”向源码理解、线上排障和设计权衡的能力转变,体现当前面试趋势的深度化与实战化。; 适合人群:具备1-3年工作经验,准备冲击中高级Java岗位的研发人员,尤其适合希望系统提升面试竞争力、深入理解主流技术底层原理的开发者。; 使用场景及目标:①应对大厂Java后端技术面试,掌握高频考点与最新趋势;②深入理解核心技术的设计动机与实现细节,如ConcurrentHashMap的线程安全机制、分布式ID生成方案对比;③提升实际问题分析与解决能力,如Full GC排查、事务失效定位等。; 阅读建议:此资源以面试为导向,兼具广度与深度,建议结合自身项目经验进行对照学习,注重理解“为什么”而非仅仅记忆结论,对关键知识点应动手验证(如ThreadLocal内存泄漏实验),并在模拟面试中强化表达逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值