- 博客(70)
- 收藏
- 关注
原创 3D Bounce Ball Game 有什么技巧吗?
对于玩家控制的平台,可以通过输入控制其左右移动。例如,在Unity中,可以通过检测空格键的按下事件,给球的Rigidbody组件添加向上的力来实现发球功能。处理球的碰撞逻辑,例如,当球与标记为"Finish"的Collider碰撞时,可以重置球的位置和速度,或者结束游戏。对于AI控制的平台,可以通过预测球的轨迹和位置来决定平台的移动目标点,从而实现简单的AI行为。增加音效和视觉特效来提升游戏的沉浸感和趣味性,例如,球体碰撞时的音效和火花效果。设计并实现UI,比如得分板和游戏状态提示,以增强玩家的游戏体验。
2024-12-02 11:12:48
479
原创 有没有具体的项目实战案例?
如果你想要开发2D游戏并且希望完全控制编码游戏引擎,但不想重写自己的基础功能,如精灵、视口、多人游戏、空间化声音等,SFML可能是一个不错的选择。这是一个哔哩哔哩上的教程系列,涵盖了使用C++和Unreal Engine进行专业游戏开发的多个方面,包括项目结构、C++类、组件添加、角色设置、动画、AI行为等。这是一个基于文本的冒险游戏,玩家可以在不同的地点、对象和NPC之间互动。这是一个使用OpenGL开发的2D球类游戏,用户可以通过箭头键控制球在屏幕上移动,目标是收集屏幕上的某些对象的分数。
2024-12-02 11:09:28
338
原创 有没有关于C++游戏物理学的学习资料?
这是一个GitHub仓库,整理了图形学中物理模拟的资源,包括一些关于刚体、流体等物理仿真的资源。- 这是一个在线课程,学习所有关于2D游戏物理学背后的理论和数学,并使用C++从头开始创建一个简单的刚体物理引擎。[2D游戏物理编程理论和数学知识课程]Havok是另一个广泛使用的游戏物理引擎,文章提供了SDK文档和代码的获取方式,以及一些教程和学习推荐的链接。- 这是一篇优快云博客文章,提供了Bullet物理引擎的入门使用和三维碰撞检测的官方文档链接,适合想要深入了解Bullet物理引擎的用户。
2024-12-02 10:59:16
263
原创 有没有推荐的C++游戏开发学习资源?
这篇文章提供了一个全面的指南,介绍了C++游戏开发的基础知识和最佳教程。它包括了Zenva的C++编程学院、JetBrains的C++初学者课程、GameDev Academy的免费C++教程等资源。[访问链接](https://gamedevacademy.org/how-to-code-games-in-c-best-tutorials/)这篇文章介绍了五个用于C++游戏开发的顶级库,包括Oxygine、Raylib、Allegro、SDL2等,这些库可以帮助您处理用户输入、创建对象、添加资源等任务。
2024-12-02 10:56:29
294
原创 C++游戏开发需要具备哪些能力
熟悉 C++ 语法,包括变量、数据类型、控制结构(if, for, while 等)、函数、类和对象等。理解 C++ 的内存管理,包括堆和栈的区别、动态内存分配(new/delete)和智能指针的使用。掌握 C++ 的高级特性,如模板、异常处理、STL(标准模板库)等。掌握基本的算法,如排序(快速排序、归并排序等)、搜索(二分搜索等)。理解游戏设计的基本理念,包括游戏机制、故事叙述、用户体验等。熟悉基本的数据结构,如数组、链表、树、图、哈希表等。理解基本的物理概念,如力、速度、加速度、碰撞检测等。
2024-12-02 10:53:40
473
原创 C++游戏开发需要知道的
3. 游戏引擎:许多流行的游戏引擎,如 Unreal Engine 和 Unity(通过 C++ 插件),都支持 C++。1. 性能:C++ 提供了接近硬件层面的控制,这意味着它可以提供优秀的性能,这对于需要快速处理图像和响应玩家输入的游戏至关重要。10. 社区和资源:C++ 拥有一个庞大的开发者社区,提供了大量的教程、论坛和开源项目,这些都是学习和解决问题的宝贵资源。持续学习:游戏开发是一个不断变化的领域,持续学习新技术和工具是非常重要的。理解游戏循环:了解游戏是如何在循环中更新和渲染的。
2024-12-02 10:49:35
287
原创 Java Web开发:构建动态Web应用的强大工具
同时,Java的持续演进,如Java 17的发布,也将为Web开发带来新的特性和改进。Java Web开发中,模型通常由Java Beans或POJO(Plain Old Java Object)表示,视图由JSP或模板引擎(如Thymeleaf)生成,而控制器则由Servlet或框架(如Spring MVC)实现。在当今互联网时代,Web应用已成为企业、个人与用户互动的重要平台。Apache Struts是一个基于MVC模式的Web应用框架,它通过提供预定义的组件和配置选项,简化了Web应用的开发过程。
2024-11-02 09:46:48
389
原创 C++游戏开发:构建高性能游戏世界的基石
虚拟现实(VR)和增强现实(AR)游戏的兴起,对游戏引擎的性能和功能提出了更高的要求。同时,随着游戏引擎的不断进化,C++开发者也将面临新的挑战和机遇。无论是大型的3D游戏还是轻量级的2D游戏,C++都能提供强大的工具和库来满足开发者的需求。本文将探讨C++在游戏开发中的应用,以及如何利用其特性来构建高效的游戏引擎和游戏逻辑。C++在游戏开发中扮演着至关重要的角色,其高性能和灵活性使其成为构建游戏引擎和游戏逻辑的理想选择。渲染引擎是游戏引擎的核心部分,负责将游戏世界中的3D模型和场景转换为屏幕上的图像。
2024-11-02 09:42:54
376
原创 鸿蒙OS试题
57某App有A、B、C、D四个团队分别负责ModuleA、ModuleB、ModuleC和ModuleD四个业务模块,随着业务的发展,ModuleA需要跳转到ModuleB、ModuleC的页面ModuleB需要跳转到ModuleC、ModuleD的界面,Modulec需要跳转到ModuleA的界面,ModuleD需要跳转到ModuleB和ModuleC的界面。54.应用开发的有些场景中,如果希望根据条件导入模块或者按需导入模块,可以使用动态导入代替静态导入,下面导入场景中适合使用动态import的是。
2024-10-31 08:15:00
1162
原创 鸿蒙OS试题
B.调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities不为空,则entities匹配失败。A.调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities为空,则entities匹配成功。C.调用方传入的want参数的entities不为空,待匹配应用组件的skills配置中的entities为空,则entities。D.feature类型的Module:应用的动态特性模块,编译后生成feature类型的HAP。
2024-10-30 05:30:00
805
原创 鸿蒙OS试题
B.在声明或引用了Native接口的文件中,比如d.ts文件,小李可以直接选中接口名称,右键点击并在弹出的菜单中选择“Go To>Implementation(s)”(转到>实现)。D.反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特鄙视对于复杂逻辑和难以浮现的bug定位至关重要。C.为了查看C/C++函数实现,小李必须先切换到DevEco Studio的C/C++开发环境视图,之后在项目的。
2024-10-30 04:45:00
396
原创 javaweb开发
Java Web开发是指使用Java语言及相关技术栈(如Servlet、JSP、Spring等)开发动态网站的过程。动态网站能够根据不同的用户请求生成不同的内容,提供更加丰富和个性化的用户体验。:Servlet是Java EE(Enterprise Edition)的一部分,用于处理HTTP请求和响应。Servlet运行在服务器端,能够处理客户端发送的数据,并生成相应的HTML内容返回给客户端。:JSP是一种基于HTML的页面技术,允许在HTML中嵌入Java代码。
2024-10-29 16:26:25
1064
原创 C++在游戏开发中的应用与实践
C++是一种广泛使用的编程语言,在游戏开发领域具有举足轻重的地位。本文将介绍C++在游戏开发中的应用,包括游戏引擎的选择、C++编程基础、游戏开发流程以及C++在游戏开发中的优势。
2024-10-29 16:04:06
785
原创 鸿蒙OS试题
23.项目中包含多个模块和数千行代码。随着开发的深入,项目中的ArkTS源代码文件逐渐积累了大量import语句,其中不乏未使用的import以及不规范的排序情况,关于DevEco studio的编辑器的“optimize Imports”,以下说法正确的是。21.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败。
2024-10-29 15:59:07
563
原创 鸿蒙OS试题
9.小李正在使用DevEco Studio进行Harmony0S应用的开发工作,他需要对一个频繁被调用的函数calculateData()进行重构,为了帮助小李高效地找到calculateData()函数的所有引用位置,并确保重构时考虑周全,以下哪个步骤是正确的使用DevEco Studio的“Find Usages”功能的操作方法。8.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?
2024-10-29 15:58:33
950
原创 鸿蒙OS试题
B.使用相对路径的方式,访问HSP中的资源。HSP中的组件需要使用资源时,一般将其所用资源放在HSP包内,而非放在HSP的使用方处,以符合高内聚低合的原则。89某APP依赖了3个ohpm库,这3个库与用的体积都比较大,在App的技术架构中hap和多个hsp均依赖这3个库,为了减少ap的首包大小,以下哪些法是无效的?应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法。A.通过$r访问HSP中的资源。
2024-09-25 00:45:00
1141
原创 鸿蒙OS试题
A.DevEco Studio提供的Release应用堆栈解析功能,要求开发者在遇到问题时,需上传构建产物中的特定文件(如s0、source map、nameCache等)到指定工具或界面,借助这些文件辅助解析堆栈信息,实现从Release堆栈到源码的映射,便于快速定位问题。B.使用相对路径的方式,访问HSP中的资源。下面访问HSP资源错误的是。A.通过$r访问HSP中的资源。假设寄存器v0存放了对象A, 累加器(acc)存放了对象B,那么执行指令"lda v0"后,v0存放对象A,acc存放对象A。
2024-09-25 00:15:00
1567
原创 鸿蒙OS试题
需要微调,希望在不中断当前应用运行的情况下看到调整效果,基于DevEco studio提供的Hot Re1oad(热重载)能力,以下哪种做法能让小林最有效地实现他的需求。应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法。A.DevEco profler依据Top-Down设计理念,通过高度整合的数据展示范式,提供从宏观到微观的性能数据分析,加速开发者定位和解決问题的过程。
2024-09-24 09:45:00
676
原创 鸿蒙OS试题
在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件,用于配置应用的全局信息,以下app.json5配置文件错误的是。,TaskPool 共享传输实现方式。如果想让grid上的捏合手势手势生效,而不跟grid上的滚动手势形成冲突,.xxxx?// 手指分开,减少列数以放大Item,触发阈值可以自定义,示例为2。
2024-09-24 09:00:00
423
原创 鸿蒙OS试题
A.DevEco Studio提供的Release应用堆栈解析功能,要求开发者在遇到问题时,需上传构建产物中的特定文件(如s0、source map、nameCache等)到指定工具或界面,借助这些文件辅助解析堆栈信息,实现从Release堆栈到源码的映射,便于快速定位问题。它强调的是,不管怎么更新,软件是随时随地可以交付的。44项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在DevEco Studio中设置不同的构建配置,达成这个目的。
2024-09-24 07:30:00
996
原创 鸿蒙OS试题
为了确保高质量的发布,小李意识到需要实施一套全面的测试策略,覆盖代码的自动化测试和手动测试,还需要衡量代码的测试覆盖率,以确定测试的充分性。B.Local Test:测试用例位于test目录,无需设备或模拟器环境,直接在本地执行,专注于ArkTS语言,推荐适用于API版本11及以上的Hvigor工程,目前特别限于Stage模型,并不涵盖C/C++方法。D.files:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:[“**/*.ets”,”**/*.js”,”**/*.ts”]
2024-09-23 09:30:00
836
原创 鸿蒙OS试题
D.entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。C.可以在HAR模块工程的build-profile.json5中的obfuscation.consumerFiles字段中配置导出的混淆配置,该配置仅在编译依赖该HAR的模块时生效。A.在工程build-profile.json5中的obfuscation.ruleOptions.files字段中配置该工程的混淆配置,该配置仅在编译该工程时生效。Fuzz测试属于白盒测试。
2024-09-23 08:15:00
356
原创 鸿蒙OS试题
HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同拷贝。A.CPU密集型任务场景中,当任务不需要长时间(3分钟)占据后台线程,而是一个个独立的任务时,推荐使用TaskPool进行开发。B.feature 类型的 Module: 应用的动态特性模块,编译后生成 feature 类型的 HAP。C.entry类型的 Module: 应用的主模块,包含应用的入口界面、入口图标和主功能特性。C.通过规范强化静态检查和分析,减少运行时的类型检查,从而降低了运行时负载,提升执行性能。
2024-09-22 11:00:00
330
原创 鸿蒙OS试题
他了解到,通过一个特定的操作流程,可以直接依据父类的模板生成子类中需要重写的方法代码,而无需手动编写完整方法体,在DevEco studio中,如何正确使用0verride Methods功能来快速生成子类需要重写的方法代码。D.组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限。C.选中布局文件中的代码块,则在UI界面会高亮显示,组件树上的组件节点也会呈现被选中的状态。
2024-09-22 08:45:00
535
原创 鸿蒙OS试题
D.代码门禁则是在代码合并之前就验证代码来保护主千分支的完整性。通过这种方式,可以保护主分支代码避免因合码导致的构建中断,以确保 master 分支代码始终是可部署的,并且不会因明显的错误而影响到你正在并行开发的同事工作。D.Library类型的Module,用于实现代码和资源的共享,有两种类型,分别为Static Library和Shared Library两种类型。C.feature类型的Module,应用的动态特性模块,一个应用中可以包含一个或多个feature类型的模块,也可以不包。
2024-09-21 07:30:00
538
原创 鸿蒙OS试题
他使用的是C++进行核心算法开发,代码的逻辑密集且对性能要求极高,DevEco studio为C/C++开发者提供的高级调试能力,以下哪个能力可以帮助小李查看代码历史执行路径,回溯到关键的变量状态。D.反向调试能力:允许开发者在调试过程中回退回到之前的代码行或断点,不仅查看过去的堆栈信息,还能重现历史的全局、静态和局部变量状态,帮助深入理解代码历史行为,特鄙视对于复杂逻辑和难以浮现的bug定位至关重要。34.作为一个应用开发者,想搭建运维平台,想在应用内定时读取当前的内存信息,可以通过()接口来实现。
2024-09-20 08:45:00
542
原创 鸿蒙OS试题
57某App有A、B、C、D四个团队分别负责ModuleA、ModuleB、ModuleC和ModuleD四个业务模块,随着业务的发展,ModuleA需要跳转到ModuleB、ModuleC的页面ModuleB需要跳转到ModuleC、ModuleD的界面,Modulec需要跳转到ModuleA的界面,ModuleD需要跳转到ModuleB和ModuleC的界面。A.调用方传入的want参数的entities为空,待匹配应用组件的skills配置中的entities为空,则entities匹配成功。
2024-09-20 05:00:00
1042
原创 鸿蒙OS试题
B.静态检查 是指使用静态代码分析工具对软件的“静态"(不运行的)代码进行分析的一种方法,找出代码中潜在的漏洞。静态代码分析器检查源代码,找出特定的漏洞,并检查代码是否符合各种编码标准。例如,一些静态分析工具可以检测代码中的内存泄漏、死锁问题,从而提高代码的质量和可靠性。A.静态检查 可以检测代码中的语法错误和潜在的逻辑错误,也支持检测代码在运行时现的错误,因此静态检查可以替代动态测试。B.随着业务的发展,应用功能会越来越多,某些功能可以做成动态加载,动态加载的模块采用HAR工程来构建,方便复用和共享。
2024-09-19 00:39:46
969
原创 鸿蒙OS试题
23.项目中包含多个模块和数千行代码。随着开发的深入,项目中的ArkTS源代码文件逐渐积累了大量import语句,其中不乏未使用的import以及不规范的排序情况,关于DevEco studio的编辑器的“optimize Imports”,以下说法正确的是。21.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?在编译构建时,AppScope中的内容不会打包到HAR中,因此会导致HAR资源引用失败。
2024-09-19 00:26:33
944
原创 鸿蒙OS试题
9.小李正在使用DevEco Studio进行Harmony0S应用的开发工作,他需要对一个频繁被调用的函数calculateData()进行重构,为了帮助小李高效地找到calculateData()函数的所有引用位置,并确保重构时考虑周全,以下哪个步骤是正确的使用DevEco Studio的“Find Usages”功能的操作方法。8.在开发HarmonyOS应用工程时,随着业务的发展,现在需要创建一个模块,关于在 DevEco Studio中创建Module,下列选项哪种方式是错误的?
2024-09-19 00:25:53
779
原创 鸿蒙OS试题
HSP中的组件需要使用资源时,一般将其所用资源放在HSP包内,而非放在HSP的使用方处,以符合高内聚低合的原则。89某APP依赖了3个ohpm库,这3个库与用的体积都比较大,在App的技术架构中hap和多个hsp均依赖这3个库,为了减少ap的首包大小,以下哪些法是无效的?应用,他遇到了一个仅在应用实际运行环境中出现的问题,需要调试已部署在设备上的应用以定位问题根源,为了能够在应用已经运行的情况下介入调试,小张应该采用哪种调试方法。C.跨包访问HSP内资源时,推荐实现一个资源管理类,以封装对外导出的资源。
2024-09-09 00:30:00
705
原创 鸿蒙OS试题
小华正在使用DevEco Studio开发一个复杂的HarmonyOS应用,他意识到代码中有一段逻辑被多次重复使用,为了优化代码结构和减少冗余,他决定将这段逻辑提取出来作为一个独立的方法。A.持续交付(CD,Continuous Delivery):指的是,频繁的将软件的新版本,交付给质量团队或者用户,以供评审。44项目需要同时进行应用和元服务的开发,并针对当前项目工程中的代码可以分别构建出应用和元服务的包,如何在DevEco Studio中设置不同的构建配置,达成这个目的。持续部署等同于持续交付。
2024-09-08 09:00:00
486
原创 鸿蒙OS试题
导出native方法,在HSP中也可以包含C++编写的so。服务时,首先需要根据工程创建向导,创建一个新的工程,工具会自动生成对应的代码和资源模板。关于新建工程,下列选项说法正确的是。HSP支持导出ArkUI组件、接口,供应用内的其他HAP/HSP引用,下面正确的是。分隔的字符串,且至少包含三段,每段中仅允许使用英文字母、数字,如。代码时,想要提前预览下所编写的组件的效果,下述哪个组件可以使用。当您开始开发一个应用。设备的工程,可以选择。工程文件本地存储路径。
2024-09-08 07:00:00
714
原创 鸿蒙OS试题
请根据本地模拟器的实际应用场景与系统要求,选出所有正确的描述选项。A.DevEco Studio提供的Release应用堆栈解析功能,要求开发者在遇到问题时,需上传构建产物中的特定文件(如s0、source map、nameCache等)到指定工具或界面,借助这些文件辅助解析堆栈信息,实现从Release堆栈到源码的映射,便于快速定位问题。假设寄存器v0存放了对象A, 累加器(acc)存放了对象B,那么执行指令"lda v0"后,v0存放对象A,acc存放对象A。
2024-09-08 04:00:00
1736
原创 鸿蒙OS试题
在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件,用于配置应用的全局信息,以下app.json5配置文件错误的是。,TaskPool 共享传输实现方式。,TaskPool 共享传输实现方式。,Worker 共享传输实现方式。,Worker 共享传输实现方式。以下关于ArkTS线程实例间传输实现方式描述正确的是。
2024-09-07 08:00:00
445
原创 鸿蒙OS试题
D.entry类型的Module:应用的主模块,包含应用的入口界面、入口图标和主功能特性,编译后生成entry类型的HAP。C.可以在HAR模块工程的build-profile.json5中的obfuscation.consumerFiles字段中配置导出的混淆配置,该配置仅在编译依赖该HAR的模块时生效。A.在工程build-profile.json5中的obfuscation.ruleOptions.files字段中配置该工程的混淆配置,该配置仅在编译该工程时生效。Fuzz测试属于白盒测试。
2024-09-07 06:15:00
484
原创 鸿蒙OS试题
他了解到,通过一个特定的操作流程,可以直接依据父类的模板生成子类中需要重写的方法代码,而无需手动编写完整方法体,在DevEco studio中,如何正确使用0verride Methods功能来快速生成子类需要重写的方法代码。D.组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限。C.选中布局文件中的代码块,则在UI界面会高亮显示,组件树上的组件节点也会呈现被选中的状态。
2024-09-06 07:30:00
544
原创 鸿蒙OS试题
为了确保高质量的发布,小李意识到需要实施一套全面的测试策略,覆盖代码的自动化测试和手动测试,还需要衡量代码的测试覆盖率,以确定测试的充分性。B.Local Test:测试用例位于test目录,无需设备或模拟器环境,直接在本地执行,专注于ArkTS语言,推荐适用于API版本11及以上的Hvigor工程,目前特别限于Stage模型,并不涵盖C/C++方法。D.files:配置待检查的文件名单,如未指定目录,规则适用于所有文件,例如:[“**/*.ets”,”**/*.js”,”**/*.ts”]
2024-09-06 06:30:00
545
原创 鸿蒙OS试题
B.静态检查 是指使用静态代码分析工具对软件的“静态"(不运行的)代码进行分析的一种方法,找出代码中潜在的漏洞。(2)设置XComponent组件的padding为{ top:5px,left:10px,bottom:15px,right:20px}A.静态检查 可以检测代码中的语法错误和潜在的逻辑错误,也支持检测代码在运行时现的错误,因此静态检查可以替代动态测试。B.随着业务的发展,应用功能会越来越多,某些功能可以做成动态加载,动态加载的模块采用HAR工程来构建,方便复用和共享。
2024-09-05 09:00:00
712
原创 鸿蒙OS试题
通过这种方式,可以保护主分支代码避免因合码导致的构建中断,以确保 master 分支代码始终是可部署的,并且不会因明显的错误而影响到你正在并行开发的同事工作。C. 构建是在代码合并后检查已提交代码的功能完整性,这种方法会导致代码合并到master后编译失败导致没有可用版本部署。B.门禁级检查的范围和版本级检查的范围保持一致,尽可能多的在MR门禁阶段就拦截防护住问题,保障问题可以及时清理掉。应用开发中使用的各类资源文件,需要放入特定子目录中存储管理,以下关于资源说法错误的是。// 使用可复用自定义组件。
2024-09-05 05:45:00
1218
华为防火墙双机热备实验详解及其命令操作
2024-11-18
云计算的openStack 究竟是为了解决什么问题?一句话说清楚
2024-06-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人