首页 文章 精选 留言 我的

精选列表

搜索[3d游戏],共10000篇文章
优秀的个人博客,低调大师

【iOS-Cocos2d游戏开发之十二】浅析使用C++/C/OC进行iOS游戏混编出现“failed with exit”问题与小结;

大家都知道Xcode中支持C、C++、Object-C3种语言的混编,在上一节Box2d中介绍过cocos2d封装的box2d是c++源码实现的,那么如果想让编译器混编,只需要将实现类的".m"格式修改成".mm"即可,这样编译器即可编译允许c、c++、oc的代码; 但是混编代码,在编译最容易出现也是最多的错误如下: view plain Command/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2failedwithexit 部分分析总结如下: 1. (全局变量)static方法名重复-因为C语言里没有对象的概念,它的方法只要加入相应的.h文件就可以使用,所以,如果和C++ or Objective-C的静态方法重名了,那么环境无法区分,很明显,这个错误是编译时候的错误,而对于static的变量及方法是在编译的时候便被加入的,所以无法识别. 2. (命名空间)全局变量名重复,理由和上面是一样的,当然,如果是全局变量,建议在Objective-C的.m文件(当然现在被改成.mm了)中声名,不然,声明在.h中单独使用是没有问题的,如果直接引用了C or C++的.h,那么即使这时候全局变量不重复,也会出现上面的问题. 3. (主函数)含有多个main方法,main方法是程序的入口,如果有多个文件含有main方法,那么也会出现上面的问题. 其实对于“failed with exit”的问题,总的来说,这个问题就是因为方法或是全局变量重复所导致的编译环境无法识别并编译 !所以童鞋们使用混编程序的时候要特别注意,最好的解决办法就是,如果你的项目后期有1/100000 的几率会使用混编进行(例如加入box2d开发包),那么就应该一开始就将实现类修改成".mm"格式进行编译,防止后期复杂的各种混编问题; OK,这篇小结就到这里; 本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/665715,如需转载请自行联系原作者

优秀的个人博客,低调大师

游戏 UI 怎样适配中英文,而不用重画按钮?

本文由 FrameSprite 作者工作流整理,AI 辅助编写,引用原始技术资料;构造案例不代表模型或引擎实测。 把文本、皮肤和布局分开,用长文本、中文字体与缺字检查验收生成 UI。 ## 简要答案 让生成图片只承担按钮、面板和装饰,把文案留给引擎文本控件。按中文、英文和长字符串分别验收布局、字体覆盖与换行,预留伸缩空间。图片中的文字不能随语言自动替换,也不能为屏幕阅读、缩放或输入焦点提供完整控件语义。 ## 适用范围 - 适合需要中英文或更多语言的按钮、菜单与提示。 ## 不适用范围 - 这不是完整翻译服务,字体授权与正式语言审校应按实际资源核对。 ## 1. 要求无字 UI 皮肤 生成时只描述材质、边框、角部与空白文字区。把图标和标签分别记录,避免模型输出看似文字的装饰符号在正式界面中误导用户。 ## 2. 采用可伸缩布局 由容器、边距和最小尺寸安排文本,不用固定图片坐标包住每个语言。较长标签可以换行、扩宽或采用明确缩略方案,但不能静默裁掉关键操作词。 ## 3. 检查字体与文本方向 选择覆盖所需字符的字体并测试缺字、标点、字号和换行。Godot 的国际化文档提供翻译与伪本地化入口;真实界面仍需要逐项检查,不能只看一段英文占位。 ## 4. 保存语言验收矩阵 检查普通、焦点、禁用和错误提示,在切换语言后重新打开界面。国内站素材流程优先验证中文标签,全球项目同时检查英文长文本与新增语言的扩展空间。 ## 示例与复查方法 给同一按钮测试“继续”、“Continue”和“Continue to the next chapter”三条样本文案,记录是否裁切、换行与按钮扩宽。示例不把英文长度换算成固定中文比例。 三条文案是布局压力测试输入,没有声称已完成全部语言翻译。 这不是完整翻译服务,字体授权与正式语言审校应按实际资源核对。 ## 职责与交付对照表 |部分或状态|素材职责|引擎或验收职责| | --- | --- | --- | |UI 皮肤|边框与装饰|不含标签| |文本|独立文字区|翻译资源| |布局|可扩宽或换行|容器与边距| |字体|所需字符清楚|覆盖与回退| ## 压力测试用宽字符串,而不是只换一两个汉字 按钮底图保留纹理与边框,文字由界面系统单独渲染。用“领取奖励”、英文 Claim reward、德文 Belohnung abholen 和带组合字符的文本做压力测试,检查换行、裁切、字体回退与焦点轮廓。不要把字符个数当作像素宽度;比例字体、语言和字号都会改变宽度。还应把键盘操作提示和按钮的可访问名称一起本地化。这样一套素材可以复用在不同语言里,同时让搜索教程中的示例说明布局边界,而不是承诺自动翻译服务。 - 验收:实际字形宽度 - 验收:字体回退 - 验收:焦点与可访问名称 ## 为什么只换图片不能解决本地化 语言变化会影响字宽、行高和操作表达。同一图形按钮可以复用,但固定文字图片无法处理这些差异。把长短文案放进真实控件里,才能看到焦点框、点击区域与文字之间的关系。 ## 在帧灵中准备跨语言 UI 先生成保留空白标签区的皮肤与独立图标,用实际尺寸检查边缘和对比。然后在引擎加入文本与布局;双站宣传应展示实际可做的素材流程,不宣称自动完成翻译和可访问性。 ## 编辑与示例说明 本次补充由 AI 辅助整理,按公开原始技术资料核对。可下载的输入与预期结果是原创构造案例,不代表模型或引擎实测;实际项目应按步骤保留自己的验收记录。 ## 常见问题 ### 中文和英文按钮必须两张图吗? 无字皮肤通常可共用,具体文案由控件显示。 ### 生成的英文文字能直接正式使用吗? 应检查拼写与可读性,长期维护通常更适合独立文本。 ### 多语言测试只看最长字符串够吗? 不够,还要检查字体覆盖、换行、焦点、状态和实际操作表达。 ## 来源与补充材料 [Internationalizing games](https://docs.godotengine.org/en/stable/tutorials/i18n/internationalizing_games.html) · Godot [Control](https://docs.godotengine.org/en/stable/classes/class_control.html) · Godot 原文:[https://cn.framesprite.com/guides/localized-game-ui-text-separate-from-art](https://cn.framesprite.com/guides/localized-game-ui-text-separate-from-art)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册